Birim kök (önyüklenebilir) aygıt olarak kullanılırsa, diğer çözümlerin hiçbiri çalışmaz.
Yeni oluşturulan diskte önyükleme bölümü yok, bu nedenle GRUB'un yüklü olması ve bir örneğin kök birim olarak kullanabilmesi için bazı bayrakların doğru şekilde ayarlanması gerekir.
Benim (bugün itibariyle çalışan bir kök hacmi küçülen için) çözümdür:
Arka plan: Kök hacmini küçültmek istediğimiz bir A örneğimiz var. Bu cilde VA diyelim. Diyelim ki 10 GB'lık VA'yı 30 GB'den küçültmek istiyoruz
- Depolama alanı olarak, VA ile aynı türde, ancak 10 GB boyutunda bir birim seçin. (veya hedef büyüklüğünüz ne olursa olsun). Şimdi bu yeni birimi (VB olarak adlandırabiliriz) kök birim olarak kullanan bir B örneğimiz var.
- Yeni örnek (B) çalıştıktan sonra. Durdurun ve kök hacmini (VB) ayırın.
NOT: Aşağıdaki adımlar çoğunlukla @bill'in çözümünden alınır:
Yeniden boyutlandırmak istediğiniz örneği durdurun (A).
VA biriminin anlık görüntüsünü oluşturun ve ardından bu anlık görüntüden "Genel Amaçlı SSD" birimi oluşturun. Bu cilde buna VASNAP diyeceğiz.
Amazon Linux ile yeni bir örneği döndürün, bu örneği C olarak adlandıracağız. Bu örneği sadece VASNAP içeriğini VB'ye kopyalamak için kullanacağız. Muhtemelen bu adımları yapmak için A örneğini de kullanabiliriz, ancak bunu bağımsız bir makinede yapmayı tercih ederim.
VB için C. / dev / xvdf örneğine aşağıdaki birimleri ekleyin. VASNAP için / dev / xvdg.
C örneğini yeniden başlatın.
SSH üzerinden C örneğine oturum açın.
Bu yeni dizinleri oluşturun:
mkdir /source /target
- VB'nin ana bölümünü bir ext4 dosya sistemiyle biçimlendirin:
mkfs.ext4 /dev/xvdf1
Hata almazsanız, Adım 11'e geçin. Aksi takdirde, yoksa /dev/xvdf1
, aşağıdaki i-vii'yi kullanarak bölümü oluşturmanız gerekir:
i) Herhangi bir /dev/xvdf1
nedenden dolayı mevcut değilse, onu oluşturmanız gerekir. İlk önce şunu girin:
sudo fdisk /dev/xvdf
.
ii) Aşağıdakileri girerek diski silin:
wipefs
iii) Aşağıdakileri girerek yeni bir bölüm oluşturun:
n
iv) p
Birincil bölüm oluşturmak için Enter
v) Varsayılan ayarlara devam etmek için enter tuşuna basmaya devam edin.
vi) Tekrar komut istediğinde, w
değişiklikleri yazmak ve çıkmak için girin .
vii) Aşağıdakileri /dev/xvdf1
yaparak bölümün bulunduğunu doğrulayın :
lsblk
Şuna benzer bir şey görmelisiniz:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 250G 0 disk
└─xvda1 202:1 0 250G 0 part
xvdf 202:80 0 80G 0 disk
└─xvdf1 202:81 0 80G 0 part
xvdg 202:96 0 250G 0 disk
└─xvdg1 202:97 0 250G 0 part
Şimdi Adım 11'e geçin.
- Bu dizine ekleyin:
mount -t ext4 /dev/xvdf1 /target
- Bu çok önemlidir, dosya sisteminin Linux'u tanıması ve önyüklemesi için bir e2label'e ihtiyacı vardır, ne olması gerektiğini görmek için aktif bir örnekte "e2label / dev / xvda1" kullanın, bu durumda etiket: "/"
e2label /dev/xvdf1 /
- VASNAP dağı / kaynak:
mount -t ext4 /dev/xvdg1 /source
- İçeriği kopyalayın:
rsync -vaxSHAX /source/ /target
Not: "/" ardından "/ hedef" yoktur. Ayrıca, sembolik bağlantılar ve zorlamalar hakkında birkaç hata olabilir, ancak yeniden boyutlandırma hala başarılı oldu
- UB VB:
umount /target
AWS Konsoluna geri dönün: C örneğinden VB'yi ve A'dan VA'yı da dettach edin.
Yeni boyutlu birimi (VB) örneğe şu şekilde ekleyin: "/ dev / xvda"
Önyükleme örneği A, şimdi kök cihazı 10GB :)
Hem B hem de C örneklerini ve şimdi A örneğinin kök birimi olan VB dışındaki tüm birimleri silin.