Câu hỏi:
Làm cách nào để sử dụng các lớp AWS EC2 mới (r3, i2) với AMI hiện có của tôi mà không cần tạo lại toàn bộ thiết lập hệ thống?
Các lớp EC2 mới chỉ hỗ trợ ảo hóa dựa trên HVM nhưng tôi chỉ có hình ảnh PVM AMI.
Làm cách nào để sử dụng các lớp AWS EC2 mới (r3, i2) với AMI hiện có của tôi mà không cần tạo lại toàn bộ thiết lập hệ thống?
Các lớp EC2 mới chỉ hỗ trợ ảo hóa dựa trên HVM nhưng tôi chỉ có hình ảnh PVM AMI.
Câu trả lời:
Khởi động Linux HVM Ubuntu, bất kỳ phiên bản nào, mới
Khởi động Ubuntu / với linux AMI / PVM hiện có của tôi và cài đặt các gói grub trên chúng: apt-get install grub-pc grub-pc-bin grub-legacy-ec2 grub-gfxpayload-lists
Ngừng PVM linux
Tách phân vùng root (/ dev / sda1) tại PVM linux
Đính kèm phân vùng gốc PVM linux để chạy HVM linux ở đâu đó, ví dụ: / dev / sdf
Trên HVM linux: 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
thoát chroot: CTRL + D
dừng HVM Linux
tách / dev / sda1 gốc gốc VÀ tách / dev / sdf gốc PVM
đính kèm gốc PVM vào HVM linux là / dev / sda1
Khởi động HVM linux, voilà!
Tạo một ảnh AMI mới từ HVM linux đang chạy, nó sẽ được ảo hóa HVM.
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.
Sau đó, mọi thứ có vẻ tốt nhưng nó không khởi động hoặc cho tôi bất kỳ manh mối nào, tại sao nó không khởi động được.
xvd*
trên các trường hợp này, chỉ có nvme*
quy ước đặt tên. Thay thế xvd
bằng đúng nvme
không hoạt động. :(
Câu trả lời từ @divyenduz hoạt động nhưng cần một số dọn dẹp và làm rõ cho AWS EC2 hiện đại (khoảng năm 2019). Quan trọng là, các lớp cá thể hiện đại dịch tên thiết bị theo cách khác.
Đây là các bước sửa đổi của tôi.
Để rõ ràng, các nút là:
TRƯỚC KHI TIẾN HÀNH: Sao lưu Node gốc PVM01
Cài đặt điều kiện tiên quyết trên Node PVM01
cài đặt gói grub trên PVM01
apt-get install grub-pc grub-pc-bin grub-legacy-ec2 grub-gfxpayload-lists
Nút dừng PVM01
Đính kèm phân vùng gốc PVM01 (tập mới từ bước trước) vào HVM01 / dev / sdf mới
ssh PVM01 sudo fdisk -l
Trên HVM01:
# 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
Thoát chroot bằng CTRL + D
DEVNAME
biến sau chroot
lệnh.