यदि वॉल्यूम को रूट (बूट करने योग्य) डिवाइस के रूप में उपयोग किया जाता है, तो कोई भी अन्य समाधान काम नहीं करेगा।
नव निर्मित डिस्क बूट विभाजन को याद कर रही है, इसलिए इसे GRUB स्थापित करने की आवश्यकता होगी और उदाहरण के पहले कुछ झंडे सही तरीके से सेट होने चाहिए, इसे रूट वॉल्यूम के रूप में उपयोग कर सकते हैं।
रूट वॉल्यूम कम करने के लिए मेरा (आज का, काम करने वाला ) समाधान है:
पृष्ठभूमि: हमारे पास एक उदाहरण ए है, जिसकी मूल मात्रा हम सिकोड़ना चाहते हैं। आइए इस वॉल्यूम को VA कहते हैं। हम VA को 30GB से सिकोड़ना चाहते हैं तो 10GB कहते हैं
- उदाहरण के रूप में एक ही OS के साथ एक नया Ec2 उदाहरण, B बनाएँ, भंडारण के रूप में, एक वॉल्यूम चुनें जो VA के समान है, लेकिन 10GB के आकार के साथ। (या आपका लक्ष्य आकार जो भी हो)। तो अब हमारे पास एक उदाहरण B है जो इस नए वॉल्यूम (इसे VB कहते हैं) को रूट वॉल्यूम के रूप में उपयोग करता है।
- एक बार नया उदाहरण (B) चल रहा है। इसे रोकें और इसे रूट वॉल्यूम (VB) अलग करें।
नोट: निम्नलिखित कदम ज्यादातर @bill समाधान से लिए गए हैं:
वह उदाहरण बंद करें जिसे आप आकार बदलना चाहते हैं (ए)।
वॉल्यूम VA का स्नैपशॉट बनाएँ और फिर उस स्नैपशॉट से "सामान्य प्रयोजन SSD" वॉल्यूम बनाएँ। इस वॉल्यूम को हम VASNAP कहेंगे।
अमेज़ॅन लिनक्स के साथ एक नया उदाहरण स्पिन करें, हम इस उदाहरण को सी कहेंगे। हम इस उदाहरण का उपयोग VASNAP की सामग्री को VB में कॉपी करने के लिए करेंगे। हम शायद इन चरणों को करने के लिए उदाहरण ए का उपयोग कर सकते हैं, लेकिन मैं इसे एक स्वतंत्र मशीन में करना पसंद करता हूं।
VB के लिए C. / dev / xvdf को निम्न संस्करणों में संलग्न करें। VASNAP के लिए / देव / xvdg
रिबूट उदाहरण सी।
उदाहरण के लिए C को SSH के माध्यम से लॉग ऑन करें।
ये नई निर्देशिका बनाएँ:
mkdir /source /target
- एक ext4 फाइल सिस्टम के साथ VB के मुख्य विभाजन को प्रारूपित करें:
mkfs.ext4 /dev/xvdf1
यदि आपको कोई त्रुटि नहीं मिलती है, तो चरण 11 पर आगे बढ़ें। अन्यथा, यदि आपके पास नहीं है /dev/xvdf1
, तो आपको निम्नलिखित i-vii द्वारा विभाजन बनाने की आवश्यकता है:
i) यदि /dev/xvdf1
किसी भी कारण से अस्तित्व में नहीं है, तो आपको इसे बनाने की आवश्यकता है। पहले दर्ज करें:
sudo fdisk /dev/xvdf
।
ii) दर्ज करके डिस्क को पोंछें:
wipefs
iii) दर्ज करके एक नया विभाजन बनाएँ:
n
iv) p
प्राथमिक विभाजन बनाने के लिए दर्ज करें
v) डिफ़ॉल्ट सेटिंग्स के साथ जारी रखने के लिए एंटर दबाए रखें।
vi) जब यह फिर से कमांड मांगता है, तो w
परिवर्तन लिखने और छोड़ने के लिए दर्ज करें।
vii) सत्यापित करें कि आपके पास /dev/xvdf1
विभाजन है:
lsblk
आपको कुछ इस तरह देखना चाहिए:
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
अब स्टेप 11 पर आगे बढ़ें।
- इसे इस निर्देशिका में माउंट करें:
mount -t ext4 /dev/xvdf1 /target
- यह बहुत महत्वपूर्ण है, फ़ाइल सिस्टम को लिनक्स को पहचानने और इसे बूट करने के लिए एक e2label की आवश्यकता है, "e2label / dev / xvda1" का उपयोग एक सक्रिय उदाहरण पर यह देखने के लिए कि यह क्या होना चाहिए, इस मामले में लेबल है: ""
e2label /dev/xvdf1 /
- माउंट VASNAP पर / स्रोत:
mount -t ext4 /dev/xvdg1 /source
- सामग्री की प्रतिलिपि बनाएँ:
rsync -vaxSHAX /source/ /target
नोट: कोई "/" निम्नलिखित "/ लक्ष्य" नहीं है। इसके अलावा, सिम्बलिंक और अटार्स के बारे में कुछ त्रुटियां हो सकती हैं, लेकिन आकार अभी भी सफल था
- उम्मेद वीबी:
umount /target
AWS कंसोल में वापस: C से उदाहरण VB का पता लगाएं, और A से VA को अलग करें।
नए आकार के वॉल्यूम (VB) को उदाहरण के लिए संलग्न करें: "/ dev / xvda"
बूट उदाहरण ए, अब यह रूट डिवाइस 10GB है :)
बी और सी दोनों उदाहरणों को हटा दें, और सभी संस्करणों को भी, लेकिन वीबी, जो अब ए की मूल मात्रा है।