विंडोज सर्वर 2012 R2 में हाइपर-वी से शुरू होकर वर्चुअल मशीन हार्ड डिस्क का डायनामिक रिसाइज़िंग उपलब्ध है। ऑनलाइन VHDX रिसाइज़ फीचर आपको वर्चुअल मशीन की vhdx फ़ाइल का आकार ऑनलाइन (VM को रोके बिना) बढ़ाने या घटाने की अनुमति देता है। इस लेख में, हम देखेंगे कि विंडोज 10 या विंडोज सर्वर 2016 पर चल रहे हाइपर-वी में वर्चुअल मशीन हार्ड डिस्क के आकार को कैसे बढ़ाया या घटाया जाए (निर्देश हाइपर-वी के सभी समर्थित संस्करणों पर लागू होते हैं, जिसमें फ्री हाइपर-वी सर्वर भी शामिल है)।
हाइपर-वी में ऑनलाइन VHDX रिसाइज़ की मुख्य विशेषताएं और सीमाएं:
- आप किसी भी प्रकार के हाइपर-वी वर्चुअल डिस्क को रिसाइज़ कर सकते हैं: फिक्स्ड, डायनामिक और डिफरेंशियल;
- आप VHDX डिस्क (गेस्ट OS के सिस्टम ड्राइव सहित) को ऑनलाइन रिसाइज़ कर सकते हैं। आपको VM को रोकने की आवश्यकता नहीं है; केवल VHDX को डायनामिकली रिसाइज़ किया जा सकता है। VHD समर्थित नहीं हैं और उन्हें VHDX फॉर्मेट में कन्वर्ट करना होगा।
- VHDX डिस्क को वर्चुअल SCSI कंट्रोलर के माध्यम से VM से जोड़ा जाना चाहिए (IDE कंट्रोलर पर डिस्क का ऑनलाइन विस्तार समर्थित नहीं है, ऐसी VM को डिस्क आकार बदलने के लिए बंद करना होगा);
- ऑनलाइन VHDX रिसाइज़ हाइपर-वी की पहली और दूसरी पीढ़ी की वर्चुअल मशीन दोनों पर काम करता है;
- विंडोज और लिनक्स दोनों गेस्ट OS के रूप में कार्य कर सकते हैं;
- वर्चुअल डिस्क के विस्तार और सिकुड़न दोनों समर्थित हैं;
- आप हाइपर-वी ग्राफिकल कंसोल, PowerShell या विंडोज एडमिन सेंटर से vhdx डिस्क को रिसाइज़ कर सकते हैं;
- क्लस्टर में उपयोग किए जाने वाले शेयर्ड VHDX (AVHDX) डिस्क का रिसाइज़िंग समर्थित नहीं है;
- आप उस वर्चुअल डिस्क का आकार नहीं बदल सकते जिसके लिए स्नैपशॉट बनाया गया हो (उदाहरण के लिए, बैकअप के दौरान)।
हाइपर-वी में VM हार्ड डिस्क का विस्तार
आप हाइपर-वी मैनेजर कंसोल का उपयोग करके वर्चुअल VHDX डिस्क का आकार बढ़ा सकते हैं।
- हाइपर-वी वर्चुअल मशीन मैनेजर में वर्चुअल मशीन का चयन करें, VM सेटिंग्स पर जाएं -> SCSI कंट्रोलर का विस्तार करें;
- वर्चुअल डिस्क चुनें और एडिट बटन पर क्लिक करें;
यदि एडिट बटन निष्क्रिय है, और चेतावनी कहती है "Edit is not available because checkpoint exist for this virtual machine", तो आपको सभी स्नैपशॉट हटाने होंगे। VM प्रॉपर्टीज में प्रोडक्शन चेकपॉइंट विकल्प को अक्षम करना आवश्यक हो सकता है। - दिखाई देने वाले एडिट वर्चुअल हार्ड डिस्क विजार्ड में एक्सपैंड चुनें;
- वर्चुअल हार्ड डिस्क का नया आकार निर्दिष्ट करें (हमारे उदाहरण में हम डिस्क आकार को 170 GB तक बढ़ाएंगे);
- गेस्ट OS के कंसोल पर जाएं, जिसका डिस्क बढ़ाया गया था। आइए देखें कि विंडोज गेस्ट OS में सिस्टम पार्टीशन को कैसे बढ़ाया जाए। डिस्क मैनेजर कंसोल खोलें। जैसा कि आप देख सकते हैं, डिस्क पर अतिरिक्त 43 GB अनअलोकेटेड स्पेस दिखाई दिया;
- उस पार्टीशन पर राइट-क्लिक करें जिसे आप बढ़ाना चाहते हैं और एक्सटेंड वॉल्यूम चुनें (आप केवल अनअलोकेटेड क्षेत्र के बाईं ओर के वॉल्यूम को बढ़ा सकते हैं)। निर्दिष्ट करें कि आप वर्तमान वॉल्यूम आकार को कितना बढ़ाना चाहते हैं;
कभी-कभी विंडोज रिकवरी पार्टीशन द्वारा वॉल्यूम विस्तार अवरुद्ध हो सकता है। - एक्सटेंड प्रक्रिया पूरी करने के बाद, वॉल्यूम आकार बढ़ जाएगा। गेस्ट लिनक्स OS में, आप पार्टेड टूल का उपयोग करके डिस्क का विस्तार कर सकते हैं।
हाइपर-वी वर्चुअल डिस्क (VHDX) का आकार कैसे घटाएं?
अब देखते हैं कि हाइपर-वी पर वर्चुअल vhdx डिस्क का आकार कैसे कम किया जाए।
- हाइपर-वी कंसोल से वर्चुअल डिस्क को सिकोड़ने से पहले, गेस्ट OS के अंदर डिस्क पर लॉजिकल पार्टीशन का आकार कम करना आवश्यक है। कुछ स्पेस खाली करें और इसे अनअलोकेटेड वॉल्यूम में बदलें। ऐसा करने के लिए, गेस्ट OS में डिस्क मैनेजर खोलें, एक वॉल्यूम चुनें और श्रिंक वॉल्यूम पर क्लिक करें;
नोट. श्रिंक वॉल्यूम विकल्प केवल तभी उपलब्ध होता है जब पार्टीशन पर कुछ खाली स्थान हो। - पार्टीशन को सिकोड़ने के लिए स्पेस की मात्रा निर्दिष्ट करें (हमारे उदाहरण में हमने 50GB निर्दिष्ट किया);
- गेस्ट OS में पार्टीशन का आकार कम करने के बाद, आपको हाइपर-वी कंसोल खोलना होगा और वर्चुअल डिस्क सेटिंग्स पर जाना होगा। एडिट बटन दबाएं;
- एडिट वर्चुअल हार्ड डिस्क विजार्ड में, श्रिंक चुनें, फिर vhdx फ़ाइल के लिए नया आकार निर्दिष्ट करें। कृपया ध्यान दें कि आप डिस्क को उस डेटा से छोटा नहीं बना सकते जो उस पर है (न्यूनतम मान जांचें)। हमारे मामले में, आप डिस्क आकार को 40 से 31 GB तक कम कर सकते हैं;
VHDX फ़ाइल को सिकोड़ने से पहले, हाइपर-वी ऑप्टिमाइज़ेशन के साथ इसे डीफ्रैग्मेंट करने का प्रयास करें। पिछले फॉर्म में, कॉम्पैक्ट विकल्प चुनें। वैकल्पिक रूप से, आप हाइपर-वी डायनामिक वर्चुअल डिस्क को ऑप्टिमाइज़ और डीफ्रैग्मेंट करने के लिए PowerShell कमांड का उपयोग कर सकते हैं:Optimize-VHD -Path 'C:\VM\VHDHyper-V\fs01.vhdx' - हो गया।
PowerShell के साथ हाइपर-वी में वर्चुअल हार्ड डिस्क फ़ाइलों का आकार बदलना
आप PowerShell का उपयोग करके हाइपर-वी होस्ट पर VHDX डिस्क का आकार बदल सकते हैं। इसके लिए Resize-VHD cmdlet का उपयोग करें (इसे Resize-VirtualDisk cmdlet के साथ भ्रमित न करें, जो बिल्ट-इन विंडोज डिस्क मैनेजमेंट cmdlets से संबंधित है)।
नोट: वर्तमान हाइपर-वी संस्करणों में Resize-VHD cmdlet का उपयोग करके वर्चुअल डिस्क का आकार बदलने के लिए वर्चुअल मशीन को बंद करने की आवश्यकता नहीं है।सबसे पहले, वर्चुअल मशीन के VHDX डिस्क का पूरा पथ प्राप्त करने की आवश्यकता है:
Get-VM -VMName fs01 | Select-Object VMId | Get-VHD
ये cmdlets VHDX फ़ाइल के स्टोरेज पर वास्तविक आकार (FileSize) और अधिकतम आकार जो यह ले सकता है (Size) भी लौटाते हैं। MinimumSize वह न्यूनतम VHDX डिस्क आकार है जिसे वर्चुअल डिस्क फ़ाइल तक कम किया जा सकता है।
VHDX डिस्क का आकार बढ़ाने के लिए, उसका नया आकार निर्दिष्ट करने की आवश्यकता है:
Resize-VHD -Path 'C:\VM\fs01\VHD\fs01.vhdx' -SizeBytes 50Gb
यदि आप वर्चुअल डिस्क का नया आकार उससे कम निर्दिष्ट करते हैं जो यह डिस्क पर लेता है, तो एक त्रुटि दिखाई देगी: Resize-VHD : Failed to resize the virtual disk।
आपको बस गेस्ट OS में पार्टीशन का आकार बदलने की आवश्यकता है।
आप PowerShell रिमोटिंग का उपयोग करके विंडोज पर डिस्क को रिमोटली बढ़ा सकते हैं। Invoke-Command या Enter-PSSession cmdlet का उपयोग करके रिमोट VM से कनेक्ट करें (नेटवर्क पर या हाइपर-वी PowerShell डायरेक्ट के माध्यम से):
Enter-PSSession -ComputerName fs01
आपको इस बारे में जानकारी प्राप्त करने की आवश्यकता है कि पार्टीशन को कितना बढ़ाया जा सकता है और इसे अधिकतम उपलब्ध आकार तक बढ़ाएं:
$MaxSize = (Get-PartitionSupportedSize -DriveLetter C).SizeMax
Resize-Partition -DriveLetter L -Size $MaxSize
यदि आपको वर्चुअल डिस्क के आकार को न्यूनतम संभव आकार तक कम करने की आवश्यकता है, तो चलाएं:
Resize-VHD -Path 'C:\VM\fs01\VHD\fs01.vhdx' -ToMinimumSize
यह कमांड अधिकतम VHDX फ़ाइल आकार को 6 GB तक कम कर देगा।
अन्य हाइपरवाइजर्स में वर्चुअल डिस्क का आकार बदलने के निर्देश निम्न लिंक पर उपलब्ध हैं: KVM, VMWare।