Büyüyen Amazon EBS Hacim boyutları [kapalı]


154

Amazon'un EC2 ve EBS servislerinden oldukça etkilendim. Bir EBS Hacmi büyütmenin mümkün olup olmadığını bilmek istedim.

Örneğin: 50 GB'lık bir birimim varsa ve alanım bitmeye başlarsa, gerektiğinde 100 GB'a kadar çıkartabilir miyim?


2
Ebs hacminizin boyutunu büyütmek için bir öğretici yazdım - aws-musings.com/how-to-expand-your-ebs-volume
Vaibhav Puranik

8
Harika bir soru (+1). Yine de Sunucu Hatası için daha uygun mu?
Jonik

1
Lütfen çok daha güncel olduğu için bu cevabı oylayın: stackoverflow.com/a/15229477/163461
David

1
@Jonik Kesinlikle katılıyorum. Bu sorunu taşıyabilenler (ve aynı zamanda kabul edenler) için lütfen bu soruyu yeniden açılabilmesi amacıyla yeniden oy verin. Bazı mod okuma sürece aynı şeyi yapabilir?
Yuck

Bu, daha güncel yanıtlara izin vermekten başka bir sebep yoksa Sunucu Hatası'ne geçirilmelidir (örneğin AWS'nin docs.aws.amazon.com/AWSEC2/latest/UserGuide/… adresindeki bu konudaki belgelerine atıfta bulunanlar gibi )
Jeromy Fransızca

Yanıtlar:



103

Depoyu büyütebilirsiniz, ancak anında yapılamaz. Geçerli bloğun anlık görüntüsünü almanız, yeni, daha büyük bir blok eklemeniz ve anlık görüntünüzü yeniden eklemeniz gerekir.

Basit bir örneklerde var burada kullanarak dayalı Amazon'un EC2 komut satırı araçlarını


2
Ayrıca dosya sistemini yeniden boyutlandırmanız gerekir. Muhtemelen "resize2fs - ext2 / ext3 / ext4 dosya sistemi resizer" i arıyorsunuz.
James Moore

8
Google'a bunu yapmam gerekiyordu. Bu soruyu ve bu videoyu aynı anda vurdum. Bu gerçekten harika bir yürüyüş olsa da, yaratıcısına çok teşekkürler: youtube.com/watch?v=ouYjQ3_I3BA (James Moore'un bahsettiği gibi yeniden boyutlandırma biti dışında her şeyi kendi başıma anladım.)
Chris Allen Lane

Öncelikle Anlık Görüntüsünün VolumeSize'ini EBS kullanarak Avantaj üzerindeki esnekliklerden biri olarak sorgulayarak AWS-SDK kullanarak EBS Birim Boyutu'nu ayarlamanın bir yolu da vardır .
Chetabahana

Sen olabilir aslında AWS konsolundan şimdi canlı hacmini yeniden boyutlandırmak . Yalnızca SSD örnekleri (gp2, io1) üzerinde çalışıyor gibi görünüyor ve hatta bir türden diğerine geçiş yapabilirsiniz. Ne zaman eklendiğinden emin değilim, ama bu büyük bir ağrı noktasını çözüyor.
STRML

44

İhtiyacınız varsa anında daha fazla alana 'giremezsiniz', ancak bölümü bir anlık görüntü ile yeniden boyutlandırabilirsiniz.

Adımlar bunu yapar:

  1. ebs biriminin bağlantısını kes
  2. ebs anlık görüntüsü oluştur
  3. daha fazla alanla yeni birim ekle
  4. bölüm tablosunu yeniden oluştur ve dosya sistemini yeniden boyutlandır
  5. yeni ebs birimini bağlama

Bak http://aws.amazon.com/ebs/ - EBS Anlık:

Anlık görüntüler, birden çok yeni birimi başlatmak, bir birimin boyutunu genişletmek veya birimleri Kullanılabilirlik Bölgeleri arasında taşımak için de kullanılabilir. Yeni bir birim oluşturulduğunda, mevcut bir Amazon S3 anlık görüntüsüne göre oluşturma seçeneği vardır. Bu senaryoda, yeni birim, orijinal birimin tam kopyası olarak başlar. İsteğe bağlı olarak farklı bir birim boyutu veya farklı bir Kullanılabilirlik Bölgesi belirleyerek, bu işlevsellik mevcut bir birimin boyutunu artırmanın veya yeni Kullanılabilirlik Bölgelerinde yinelenen birimler oluşturmanın bir yolu olarak kullanılabilir. Birimi yeniden boyutlandırmak için anlık görüntüleri kullanmayı seçerseniz, dosya sisteminizin veya uygulamanızın bir cihazı yeniden boyutlandırmayı desteklediğinden emin olmanız gerekir.


22

Tüm cevabı takip ettim, hepsinin saygıyla eksik bir şey var.

Bu adımları izlerseniz, EBS hacminizi artırabilir ve verilerinizi koruyabilirsiniz (bu, kök birimi için değildir). Basitlik için anlık görüntü oluşturmak için AWS konsolosunu kullanmanızı öneririm, ... bunu AWS komut satırı araçlarını kullanarak da yapabilirsiniz.

Burada kök hacmine dokunmuyoruz.

AWS konsolunuza gidin:

  1. Örneğinizi kapatın (yalnızca birkaç dakika sürer)
  2. Büyümeyi planladığınız hacmi ayırın (say / dev / xvdf)
  3. Birimin anlık görüntüsünü oluşturun.
  4. Yeni oluşturduğunuz anlık görüntüyü kullanarak daha büyük boyutta yeni bir birim oluşturun
  5. Yeni birimi örneğinize ekleyin
  6. Örneğinizi başlatın

Örneğinize SSH:

 $ sudo fdisk -l

Bu sizin gibi bir şey verir:

Disk /dev/xvdf: 21.5 GB, 21474836480 bytes
12 heads, 7 sectors/track, 499321 cylinders, total 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xd3a8abe4

    Device Boot      Start         End      Blocks   Id  System
/dev/xvdf1            2048    41943039    20970496   83  Linux

Yere yazın Başlat ve İd değerleri. (bu durumda 2048 ve 83)

Fdisk'i kullanarak xvdf1 bölümünü silin ve tam olarak aynı bloktan (2048) başlayan yeni bir tane oluşturun. Aynı kimliği vereceğiz (83):

$ sudo fdisk /dev/xvdf 

Command (m for help): d
Selected partition 1

Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1): 
Using default value 1
First sector (2048-41943039, default 2048): 
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): 
Using default value 41943039

Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 83

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

Bu adım burada iyi açıklanmıştır: http://litwol.com/content/fdisk-resizegrow-physical-partition-without-losing-data-linodecom

Neredeyse bitti, sadece birimi bağlayıp resize2fs'yi çalıştırmalıyız:

Ebs hacmini bağlayın: (benimki / mnt / ebs1'de)

$ sudo mount /dev/xvdf1 /mnt/ebs1

ve yeniden boyutlandırın:

$ sudo resize2fs -p /dev/xvdf1

resize2fs 1.42 (29-Nov-2011)
Filesystem at /dev/xvdf1 is mounted on /mnt/ebs1; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 2
Performing an on-line resize of /dev/xvdf1 to 5242624 (4k) blocks.
The filesystem on /dev/xvdf1 is now 5242624 blocks long.

ubuntu@ip-xxxxxxx:~$ 

Bitti! df -hYeni boyutu doğrulamak için kullanın .



5

Şimdi bunu AWS Yönetim Konsolu'ndan yapabilirsiniz. İşlem diğer yanıtlardakiyle aynıdır, ancak artık komut satırına gitmenize gerek yoktur.


7
Bunun web konsolu üzerinden nasıl yapıldığı hakkında daha fazla bilgi gönderebilir misiniz? Konsol birimi yeniden boyutlandırabilir, ancak özellikle XFS, BRTFS gibi bir türdeyse, birimin içindeki bölümün yeniden boyutlandırılmasını nasıl gerçekleştirir?
Riyad Kalla

Bu sadece mevcut cevapları artırdığı ve kendi başına yeni bir şey eklemediği için bir yorum olmalıydı.
Yuck

1
Web konsolunu kullanma talimatları burada bulunabilir: docs.aws.amazon.com/AWSEC2/latest/UserGuide/…
Dan Osipov

4

BTW: Fiziksel disklerde olduğu gibi LVM kullanmak da kullanışlı olabilir; örn:

http://www.davelachapelle.ca/guides/ubuntu-lvm-guide/ http://www.centos.org/docs/5/html/Cluster_Logical_Volume_Manager/

Büyük avantaj: Dinamik olarak alan eklemeye (veya kaldırmaya) izin verir.

Ayrıca, örnekler arasında / arasında kolayca taşınabilir.

Uyarılar:

  • önceden yapılandırılmalıdır
  • basit bir JBOD kurulumu, bir "diski" kaybederseniz her şeyi kaybettiğiniz anlamına gelir

4

Adımlarım:

  1. örneği durdur
  2. örneğe eklenmiş ebs birimini bulma ve bunun anlık görüntüsünü oluşturma
  3. Yukarıdaki anlık görüntüyü kullanarak daha büyük disk alanına sahip yeni bir birim oluşturun. Ne yazık ki aws konsolundaki anlık görüntü oluşturmak için kullanıcı arayüzü neredeyse kullanılamaz çünkü aws üzerindeki tüm anlık görüntüleri listeliyor. Komut satırı aracını kullanmak çok daha kolaydır:

    ec2-create-volume -s 100 --snapshot snap-a31fage -z us-east-1c
    
  4. mevcut ebs (daha küçük) birimi örnekten ayırma

  5. örneğe yeni (daha büyük) birimi ekleyin ve örneğin beklediği cihaza eklediğinizden emin olun (benim durumumda / dev / sda1)
  6. örneği başlat

Bitirdiniz!

Yukarıdaki 3. adımdan başka, aws yönetim konsolunu kullanarak her şeyi yapabilirsiniz.

Ayrıca burada belirtildiği gibi NOT:

/server/365605/how-do-i-access-the-attached-volume-in-amazon-ec2

ec2 bulut sunucunuzdaki cihaz / dev / xv * olabilirken, aws web konsolu / dev / s * olduğunu söyler.


2
Kasım 2013 itibariyle, yeni oluşturulan anlık görüntüyü seçip sayfanın üst kısmındaki 'Birim Oluştur'u tıklamanız yeterlidir. Bu, anlık görüntüden bir birim oluşturur ve yukarıdaki komut satırından 3. adımı gerçekleştirmekten kaçınabilirsiniz.
Matt C

1
Bir not, birimi örnekle aynı kullanılabilirlik bölgesinde oluşturduğunuzdan emin olmanız gerektiğidir, aksi takdirde ekleyemezsiniz.
codecowboy

3

Windows işletim sistemi için "diskpart" komutunu kullanın, buraya bir göz atın: http://support.microsoft.com/kb/300415 Kullanın Root olmayan bir disk (temel dinamik disk değil) için izlediğim adımlar aşağıdadır

Anlık görüntü aldıktan, eski EBS birimini (600 GB gibi) çıkardıktan ve daha büyük bir EBS birimi (1 TB gibi) oluşturduktan ve bu yeni EBS birimini bağladıktan sonra - Windows'un yeniden boyutlandırma (600 GB'tan 1 TB'a kadar) bilgisini vermeniz gerekir. komut isteminde (yönetici olarak çalıştır)

diskpart.exe

disk seç = 9

hacim seç = Z

uzatmak

[diskim 9, Z etiketli birim, 600GB boyutunda bir ec2-anlık görüntüden oluşturulan 1 TB boyutunda bir birimdi - 600GB'ı 1 TB'a kadar yeniden boyutlandırmak istedim ve bunu yapmak için yukarıdaki adımları takip edebilirim.]


Win Server 2003 R2 Datacenter sistemim için harika çalıştı. Bahşiş için teşekkürler!
Jeff Hay

Harika gönderi, bana çok yardımcı oldu!
user1326293

0

İşletim sisteminiz destekliyorsa, tüm EBS birimleri için Mantıksal Birim Yöneticisi'ni (LVM) şiddetle tavsiye ederim. Linux dağıtımları genellikle yapar. Birkaç nedenden dolayı harika.

  1. Mantıksal hacimlerin yeniden boyutlandırılması ve taşınması canlı olarak gerçekleştirilebilir; mantıksal hacim (LV), havuzdan eski fiziksel birimi kaldırmak ve eski EBS birimini silmek. Ardından, mantıksal birimi yeniden boyutlandırır ve dosya sistemini yeniden boyutlandırırsınız. Bu hiçbir kesinti gerektirmez!

  2. Depolama alanınızı 'fiziksel' cihazlarınızdan soyutlar. Bölümleri, arıza sürelerine veya bağlantı noktalarında / fstab'da değişiklik yapmadan aygıtlar arasında taşımak çok kullanışlıdır.

Amazon, EBS hacimlerini anında yeniden boyutlandırmayı mümkün kılarsa iyi olurdu, ancak LVM ile bu gerekli değildir.


0

kök biriminiz xfs dosya sistemiyse, bu komutu xfs_growfs /


Bu, eksiksiz ve kullanışlı bir cevap olarak değerlendirilmek için biraz daha fazla ayrıntıya ihtiyaç duyar.
Yuck
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.