@Divyenduz का जवाब काम करता है लेकिन आधुनिक के लिए कुछ सफाई और स्पष्टीकरण की आवश्यकता है (लगभग 2019) AWS EC2। महत्वपूर्ण रूप से, आधुनिक इंस्टेंस क्लासेस डिवाइस नाम का अनुवाद अलग तरीके से करते हैं।
यहाँ मेरे संशोधित कदम हैं।
स्पष्टता के लिए, नोड्स हैं:
- मूल PVM नोड जिसे आप HVM में अपग्रेड करना चाहते हैं "PVM01"
- नया HVM नोड जिसे आप PVM01 की रूट डिस्क पर "HVM01" पर भेजेंगे
आगे की प्रक्रिया: मूल नोड PVM01 का बैकअप लें
नोड PVM01 पर पूर्वापेक्षाएँ स्थापित करें
नोड PVM01 बंद करो
- / Dev / sda1 का स्नैपशॉट बनाएं
- या पूरे नोड का एएमआई बनाएं
- PVM01 पर मूल रूट वॉल्यूम का स्नैपशॉट बनाएं और इस स्नैपशॉट से नया वॉल्यूम बनाएं
- PVM01 पर / dev / sda1 का स्नैप बनाएं
- इस स्नैप से वॉल्यूम बनाएं
- प्रत्येक संसाधन को अपने अनुसार लेबल करें
- टैग नाम; मान: pvm01: / dev / sda1: स्नैपशॉट-फॉर-कन्वर्ज़न-टू-एचवीएम: 2019-07-01
- आदि
- बनाएँ-उदाहरण: नया उबंटू एचवीएम उदाहरण "एचवीएम 01"। कोई भी उदाहरण वर्ग को काम करना चाहिए; हालाँकि, डिवाइस का नाम अलग हो सकता है, नीचे नोट्स देखें
- मैंने बायोनिक उबंटू 18.04 HVM AMI ID ami-0a313d6098716f372 और उदाहरण वर्ग C5.XLARGE का उपयोग किया
PVM01 रूट विभाजन (पिछले चरण से नया वॉल्यूम) को नए HVM01 / dev / sdf में संलग्न करें
- नोट : C3 जैसे पुराने इंस्टेंस क्लासेज वॉल्यूम नाम / dev / xvdf में अनुवाद करेंगे
- नोट : नए उदाहरण वर्ग जैसे C5 वॉल्यूम नाम / dev / nvme1 में अनुवाद करेंगे
- नए उदाहरण वर्गों पर, रूट वॉल्यूम / dev / nvme0 - ZERO होगा
- नए उदाहरण वर्गों में, संलग्न, द्वितीयक वॉल्यूम होगा / dev / nvme1 - ONE
- संलग्न वॉल्यूम डिवाइस नाम पर ध्यान दें
ssh PVM01 sudo fdisk -l
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
CTRL + D के साथ चिरोट से बाहर निकलें
- रोकें HVM01
- दोनों संस्करणों को अलग करें
- detach / dev / nvme0 PVM01 रूट
- नोट: यह C3 उदाहरण वर्ग पर / dev / sda1 होगा
- detach / dev / $ {DEVNAME} (उपरोक्त स्क्रिप्ट से DEVNAME)
- PVM01 रूट वॉल्यूम को HVM01 को / dev / sda1 के रूप में संलग्न करें
- एक बार फिर, / dev / sda1 नाम कंसोल में है; यह नाम / dev / nvme0 या / dev / xvda1 में अनुवादित होगा जो इस बात पर निर्भर करता है कि उदाहरण वर्ग कितना आधुनिक है
- HVM01 शुरू करें
- वैकल्पिक: अब चल रहे HVM01 से एक नई एएमआई छवि बनाएं, यह एचवीएम वर्चुअलाइज्ड होगा।