Soru:
Yeni AWS EC2 sınıflarını (r3, i2) mevcut AMI ile tüm sistem kurulumunu yeniden oluşturmadan nasıl kullanmalıyım?
Yeni EC2 sınıfları yalnızca HVM tabanlı sanallaştırmayı destekliyor ancak bende yalnızca PVM AMI görüntüleri var.
Yeni AWS EC2 sınıflarını (r3, i2) mevcut AMI ile tüm sistem kurulumunu yeniden oluşturmadan nasıl kullanmalıyım?
Yeni EC2 sınıfları yalnızca HVM tabanlı sanallaştırmayı destekliyor ancak bende yalnızca PVM AMI görüntüleri var.
Yanıtlar:
Herhangi bir sürüm, yeni bir Ubuntu HVM linux başlatın
Mevcut AMI / PVM linux'umla bir Ubuntu / başlatın ve bunlara grub paketleri kurun: apt-get install grub-pc grub-pc-bin grub-legacy-ec2 grub-gfxpayload-lists
PVM linux'u durdurun
PVM linux'ta kök (/ dev / sda1) bölümünü ayırın
PVM linux kök bölümünü HVM linux'u bir yerde çalıştırmaya ekleyin, örneğin: / dev / sdf
HVM linux üzerinde: mkdir -p /mnt/xvdf && mount /dev/xvdf /mnt/xvdf
rsync -avzXA /boot/ /mnt/xvdf/boot/
mount -o bind /dev /mnt/xvdf/dev && mount -o bind /dev/pts /mnt/xvdf/dev/pts && mount -o bind /proc /mnt/xvdf/proc && mount -o bind /sys /mnt/xvdf/sys
chroot /mnt/xvdf
grub-install --no-floppy --recheck --force /dev/xvdf
update-grub2
chroot'tan çık: CTRL + D
HVM Linux'u durdur
detach / dev / sda1 orijinal kök VE ayır / dev / sdf PVM kökü
PVM kökünü HVM linux'a / dev / sda1 olarak ekleyin
HVM linux'u başlatın, işte!
Çalışan HVM linux'tan yeni bir AMI görüntüsü oluşturun, HVM sanallaştırılacaktır.
warning: Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and their use is discouraged.. /usr/sbin/grub-bios-setup: error: will not proceed with blocklists.
O zaman, her şey iyi görünüyor ama önyükleme yapmıyor veya bana neden önyüklemediği konusunda herhangi bir ipucu vermiyor.
xvd*
sadece orada, bu örnekler üzerinde nvme*
adlandırma kuralları. xvd
Doğru ile değiştirmek nvme
işe yaramıyor. :(
@Divyenduz'un cevabı işe yarıyor ancak modern (yaklaşık 2019) AWS EC2 için biraz temizlik ve açıklama gerekiyor. Daha da önemlisi, modern örnek sınıfları, cihaz adını farklı şekilde çevirir.
İşte benim değiştirilmiş adımlarım.
Netlik sağlamak için düğümler:
DEVAM ETMEDEN ÖNCE: Orijinal Düğüm PVM01'i Yedekleyin
Düğüm PVM01'e ön koşulları yükleyin
PVM01'e grup paketleri kurun
apt-get install grub-pc grub-pc-bin grub-legacy-ec2 grub-gfxpayload-lists
PVM01 düğümünü durdur
PVM01 kök bölümünü (önceki adımdan yeni birim) yeni HVM01 / dev / sdf'ye ekleyin
ssh PVM01 sudo fdisk -l
HVM01'de:
# For xvdf, e.g. on C3.XLARGE
DEVNAME=xvdf1
# For nvme, e.g. on C5.XLARGE
DEVNAME=nvme1n1
mkdir -p /mnt/${DEVNAME} && mount /dev/${DEVNAME} /mnt/${DEVNAME}
rsync -avzXA /boot/ /mnt/${DEVNAME}/boot/
mount -o bind /dev /mnt/${DEVNAME}/dev && mount -o bind /dev/pts /mnt/${DEVNAME}/dev/pts && mount -o bind /proc /mnt/${DEVNAME}/proc && mount -o bind /sys /mnt/${DEVNAME}/sys
chroot /mnt/${DEVNAME}
grub-install --no-floppy --recheck --force /dev/${DEVNAME}
update-grub2
CTRL + D ile chroot'tan çıkın
DEVNAME
değişkeni yeniden oluşturmayı unutmayın chroot
.