Vmware збільшує розмір диска vmdk. Зменшення розміру віртуального диска на ESXi

При створенні віртуальної машини VMware часто складно точно розрахувати який розмір диска їй знадобиться в найближчому майбутньому, крім того, якщо нова віртуальна машина створюється зі створеного адміністратором шаблону, розмір віртуального жорсткогодиск такої машини дорівнює розміру диска в шаблоні. Рано чи пізно адміністратор зіткнеться з необхідністю розширити диск віртуальної машини VMware. У цій статті ми опишемо як можна розширити диск віртуальної машини з гостьовою ОС Windows без зупинки та перезавантаження віртуалки.

Примітка: змінити розмір віртуального жорсткого дисказа наявності знімків (снапшотів) віріальної машини неможливо, тому перед початком процедури видаліть усі снапшоти. Крім того, майте на увазі, що «на льоту» можна розширити лише віртуальні диски типу SCSI (з IDE такий трюк не вийде).

Всю процедуру можна умовно поділити на два етапи:

  1. Збільшення віртуального диска
  2. Розширення диска в гостьовій ОС Windows

Збільшуємо розмір віртуального диска в VMware

Допустимо, є віртуальна машина, якій презентовано один віртуальний жорсткийдиск (vmdk) розміром 20 Гб. Нам необхідно збільшити даний дискдо 301 Гб.

Для цього в консолі VMWare vSphere знайдіть потрібну віртуальну машину та перейдіть в її налаштування. Знайдіть елемент віртуального обладнання Hard Disk 1 (жорсткий диск) та в полі Provisioned Sizeвкажіть новий розмірвіртуального диска (301 Gb) та натисніть ОК.

Отже, ми збільшили розмір диска в консолі, але розширення віртуального диска означає розширення розділу Windowsна ньому.

Розширюємо диск у віртуальній машині з Windows

Далі нам необхідно, щоб гостьова ОС побачила додатково простір. Для цього у Windows потрібно відкрити консоль керування дисками ( Computer Management-> Storage-> Disk Management ) та виконати команду RescanDisk.

В результаті ви повинні побачити нерозмічену область розміром близько 280 Гб.

У разі, якщо гостьова ОС Windows Server 2008/ Windows 7, розширення диска здійснюється за вже знайомою вам інструкцією.

Якщо ж гостьова ОС Windows Server 2003/2000 або Win XP і розширюється саме системний диск, все не так просто (якщо диск не є системним, його можна розширити за допомогою утиліти Diskpart, подробиці на посиланні вище). Системний дискрозширити засобами самої ОС (як у Windows 2008/7) у цьому випадку не вдасться, diskpart просто відмовиться працювати з цим диском.

Що можна зробити:

  • Завантажити віртуальну машину з будь-якого livecd та розширити вільне місце
  • Підключити віртуальний vmdk до іншої машини та збільшити розділ вже з неї
  • За допомогою утиліти VMware Converter конвертувати віртуалку в режимі переконфігурування
  • За допомогою утиліт типу Acronis/Ghost перенести вміст віртуального диска в новий диск потрібного розміру, розтягнувши розділи

Примітка: останні два способи можна використовувати також за необхідності зменшити розмір диска для віртуальної машини.

Головний недолік всіх зазначених методів - необхідність зупинки віртуальної машини і, відповідно, простий сервіс, що надається, що не завжди можливо.

Для збільшення системного розділубез перезавантаження можна скористатися утилітою Dell ExtPart. Завантажити утиліту ExtPart можна (40 Кб).

Для того, щоб розширити системний дисковий розділ у Windows 2003/XP, скопіюйте утиліту в гостьову ОС і запустіть її з параметрами:

Extpart.exe з: 1020

Де з:- ім'я розділу, який необхідно розширити, 1020 - Розмір (в Мб), на який потрібно розширити диск

Варто відзначити, що утиліта ExtPart не працює у 64-бітових ОС.

Отже, в цій статті ми розібралися в способах розширення віртуального жорсткого диска в VMWare vSphere з гостьовою ОС Windows різнихверсій.

– не просто функціональний гіпервізор, що дозволяє тестувати віртуальні операційні системи всередині системи основної, встановленій на комп'ютері, це програма з гнучким підходом до настроювання обладнання віртуальних машин. Так, гіпервізор VMware Workstationпрацює, зокрема, із форматом віртуального диска власного виробництва – це файли типу ".vmdk". Віртуальні диски VMDKвитрачають фізичний дисковий простір дуже економно, і на реальному комп'ютерівіртуальна машина за фактом може займати приблизно вдвічі менше місця, ніж дисковий об'єм, доступний гостьовій операційній системі. Але навіть за такої суттєвої економії користувачі VMware Workstation можуть спочатку створювати віртуальні машини з мінімальним обсягомжорсткого диска. Адже надалі за потреби цей обсяг може бути збільшений у налаштуваннях гіпервізора. Так само як і може бути стиснутий віртуальний простір, що не використовується.

1. Альтернатива розширенню дискового простору віртуальної машини

При нестачі спочатку заданого обсягу жорсткого диска як альтернатива розширенню існуючого дискового просторудо віртуальної машини можна підключити додатковий віртуальний жорсткий диск. Це може бути диск як з існуючих, так і щойно створений. Більше того, це також може бути як віртуальний диск формату VMDK програми VMware Workstation, так і універсальний віртуальний диск (файл з розширенням ".vhd").

Будь то віртуальний диск VMDK-формату, будь це універсальний диск VHD, додатково створені для однієї віртуальної машини жорсткі диски можна підключати до інших машин, переміщувати їх на інші комп'ютерні пристрої. Віртуальні диски VHD та VMDK можуть бути підключені не тільки до віртуальним машинам VMware Workstation, але й до машин. Якщо VHD диск підключити всередині основний операційної системи, він буде відображатися окремим розділом, і до всього його вмісту буде доступ з системного провідникаабо файлового менеджера.

Як підключити до існуючій машині VMware Workstation додатковийвіртуальний жорсткий диск? Як його видалити, якщо в ньому відпаде потреба? Ці питання розглянемо нижче.

2. Створення та підключення додаткового диска

Щоб підключити до віртуальної машини додатковий віртуальний жорсткий диск, її потрібно вимкнути (якщо вона перебуває у зупиненому стані). У вікні відомостей про неї натискаємо кнопку зміни налаштувань.

У першій вкладці «Обладнання»переміщуємось у розділ "Жорсткий диск". І тиснемо внизу кнопку «Додати». Для її залучення потрібні права адміністратора.

Запуститься майстер додавання нового обладнання, де жорсткий диск буде першою позицією. Нічого не змінюючи, тиснемо «Далі».

Залишаємо встановлений параметр SCSI. Тиснемо «Далі».

У вікні вибору диска можемо другим пунктом вказати шлях до існуючого віртуального диска – файлу VMDK або VHD, а можемо створити новий диск. У нашому випадку віртуальний диск створюватимемо новий, тому встановлений перший пункт залишаємо. Тиснемо «Далі».

Задаємо розмір віртуального диска та вибираємо опцію його збереження в одному файлі. Це більше зручний варіантдля подальшого переміщення або підключення диска VMDK та єдиний можливий для VHD-диска. Тиснемо «Далі».

Потрапимо у вікно завдання імені та шляхи розміщення віртуального диска. VMware Workstation за умовчанням штампує свої технічні назвифайлів створюваних пристроївОднак якщо надалі з віртуальним диском планується довгострокова робота, його краще назвати більш зручним ім'ям. Ім'я, що запам'ятовується при видаленні додаткового дискатакож дозволить не переплутати його з основним диском, і тим самим не порушити працездатність віртуальної машини. На створення віртуального диска власного формату VMDK VMware Workstation налаштована автоматично, тому наприкінці імені створюваного диска побачимо виставлене за умовчанням розширення файлу ".vmdk". За допомогою кнопки огляду можна змінити встановлену папку розміщення, якою є папка зберігання віртуальної машини, що настроюється. Створюваний дискне обов'язково повинен знаходитися в одній папці із найвіртуальнішою машиною. Файл віртуального диска може розміщуватися будь-де, хоч навіть на знімному носії.

Якщо потрібний універсальний VHD-диск, його розширення ".vhd"необхідно дописати вручну після назви. Визначившись з типом та місцем зберігання віртуального диска, тиснемо «Готово».

Все - віртуальний жорсткий диск створений і видніється у списку обладнання віртуальної машини біля основного диска. Тиснемо «Ок»для виходу з налаштувань VMware Workstation.

3. Ініціалізація додаткового диска гостьовою операційною системою

Запускаємо віртуальну машину.

Підключений диск, природно, поки не буде видно у вікні провідника або файлового менеджера гостьової операційної системи. Як і новий фізичний вінчестер, щойно створений віртуальний диск, операційна система бачить як нерозподілений простір, простір без структури розділів. Виправимо це та ініціалізуємо підключений диск на прикладі гостьовий Windows 8.1 з використанням її штатних коштів. У занедбаній гостьовій системі Windowsвикликаємо утиліту управління дисками. У Windows 8.1 та 10 вона доступна в контекстному меню на кнопці «Пуск».

У Windows 7 і більше ранніх версіяхсистеми цю утиліту можна запустити універсальним способомза допомогою команди «Виконати». Тиснемо клавіші Win+R, вводимо команду « diskmgmt.msc», клацаємо «ОК».

Штатна утиліта управління дисками Windowsавтоматично побачить новий жорсткий диск та запропонує його ініціалізацію. Навряд чи у випадку з віртуальним диском стане потреба у перевагах стилю розділів GPT, тому в віконці старту ініціалізації, що з'явилося, залишаємо за замовчуванням виставлену завантажувальну запис MBR. Тиснемо "ОК".

Далі повернемося у вікно утиліти і побачимо там новий жорсткий диск з нерозподіленим простором. Викликаємо на цьому нерозподіленому просторі контекстне менюі тиснемо "Створити простий том".

Запуститься майстер створення тома (розділу диска). Тиснемо «Далі».

Залишаємо недоторканим весь об'єм віртуального диска, якщо немає потреби в його поділі на два (або більше) розділи. Якщо потрібно кілька розділів диска, необхідно вказати спочатку розмір першого розділу, а потім всю процедуру створення тому повторити з нерозміченим простором, що залишився. У нашому випадку створимо єдиний розділ. Тиснемо « Далі».

У наступному вікні можемо хіба змінити мітку тома. Тиснемо «Далі».

Все - тиснемо «Готово».

Щойно ініціалізований диск буде відформатовано.

Потім автоматично відкриється у вікні провідника Windows.

4. Вимкнення додаткового диска

Для відключення додаткового диска від віртуальної машини необхідно, щоб вона, як і при підключенні, була у вимкненому стані. У вікні відомостей про віртуальну машину тиснемо кнопку зміни налаштувань.

Клацаємо жорсткий диск, що видаляється у вкладці «Обладнання». Головне, не сплутати його з основним віртуальним жорстким диском, на якому встановлено гостьову операційну систему. Якщо шлях фізичного розміщення файлу віртуального жорсткого диска забутий, його можна переглянути у першій графі праворуч. Внизу вікна тиснемо кнопку "Видалити".

Тиснемо "ОК"для закриття вікна налаштувань.

Все – диск відключений від віртуальної машини. Але він, точніше, його робочий файл, природно, нікуди не зник з фізичного комп'ютера. Якщо у віртуальному диску більше немає потреби, його можна знайти в папці зберігання і видалити файл VMDK або VHD.

Чи допомогла вам ця стаття?

Важливо.Ця інструкція не є офіційно підтримуваним рішенням зі стиснення vmdk дисків, проте автором статті у продуктивному середовищі застосовувалася вже не раз. Під час написання цієї статті використовувалася версія ESXi 5.1.

Перед здійсненням процедури зменшення розміру віртуального диска на VMWare ESXi необхідно обов'язково:

  • Видалити всі снапшоти віртуальної машини, інакше ви можете пошкодити віртуальний диск
  • Створіть повну або просто зробіть копію зменшуваного vmdk файла за допомогою команд: cp vmname.vmdk backup_vmname.vmdk cp vmname-flat.vmdk backup_vmname-flat.vmdk

Процедура зменшення розміру віртуального диска складається із двох етапів:

Зменшення розділу всередині гостьової ОС

Насамперед необхідно зменшити розмір дискового розділуусередині гостьової операційної системи. Це можна зробити з диспетчера керування дисками (операція, що підтримується починаючи з Windows Vista) або за допомогою сторонніх утиліт(наприклад, Acronis Disk Director). Якщо це не зробити, після стиснення віртуального диска можна отримати непрацездатну файлову систему.

Допустимо, ми хочемо зменшити розмір диска на 19, 5 Гб. Значить, розмір тома повинен бути зменшений на 19968 Мб (19.5 Гб x 1024). Саме це значення потрібно запровадити у полі майстра Shrink Volume. Після зменшення розміру розділу на диску залишиться деяка кількість нерозміченого простору (у нашому прикладі 19,5 Гб)

Зменшення розміру VMDK файлу віртуальної машини VMware

Переходимо до другої операції – безпосередньо змінюю розмір VMDK файлу на файловий системі VMWare VMFS.

  1. Вимкніть віртуальну машину, розмір віртуального диска якої ви хочете зменшити
  2. Підключіться SSH до консолі гіпервізора ESXi, на якому зареєстрована ВМ
  3. Перейдіть до каталогу, в якому зберігається файл vmdk ВМ (шлях можна дізнатися у властивостях віртуального диска в графічному клієнті vSphere): cd /vmfs/volumes/datastore/VM-name

  4. Переглянемо вміст конфігураційного файлуз розширенням *.vmdk за допомогою команди cat: cat VM-name.vmdk

    Розмір vmdk диска задається у секції #Extent description(Після символів RW). У даному випадкувказано цифру 83886080 (40 Гб * 1024 * 1024 * 1024 / 512)

  5. Ми хочемо зменшити розмір vmdk диска з 40 до 20 Гб. Це означає, що у секції Extent description потрібно вказати значення: 41943040 (20 Гб * 1024 * 1024 * 1024 / 512). Встановіть новий розмір віртуального диска за допомогою текстового редактора(vi чи nano).
  6. Залишилося схилювати або змігрувати (Storage VMotion) віртуальну машину інше сховище (datastore). Після переміщення файлів віртуальної машини у її властивостях з'явиться новий розмір віртуального диска.

    Порада. Якщо vCenter немає, або VMFS сховище одне, ці операції недоступні. У такому випадку можна схилювати vmdk диск командою:

    Vmkfstools -i vmname.vmdk vmname-new-size.vmdk

    видалити оригінальний дискі ще раз схилювати vmdk диск, повернувши йому колишнє ім'я:

    Rm vmname.vmdk rm vmname-flat.vmdk vmkfstools -i vmname-new-size.vmdk vmname.vmdk

  7. Залишилося запустити гостьову ОС та переконатися, що нерозмічена область зникла.

    Порада. Якщо на попередньому кроці використовувалася утиліта vmkfstools, можливо знадобиться перепідключити віртуальний диск у налаштуваннях ВМ, т.к. його новий розмір може відображатися неправильно.

Отже, ми розглянули один із варіантів виконання операції зменшення розміру віртуальних vmdk дисків на VMWare ESXi. Якщо вимагає зменшити розмір тонкого диска VMWareза рахунок місця, що не використовується, рекомендуємо скористатися інструкцією.

Примітка. Як поширені альтернативних методикСтиснення віртуальних vmdk дисків часто використовуються такі схеми:

  • Зменшення розміру віртуального диска шляхом конвертації віртуальної машини з допомогою VMware vCenter Converter (при конвертації вказується розмір одержуваного диска менший, ніж вихідний)
  • Клонування вмісту віртуального диска за допомогою стороннього софту(наприклад, Acronis True Image або Symantec Ghost32). Операція виконується шляхом додавання до віртуальної машини нового диска меншого розмірута клонування на нього вмісту більшого диска. Після чого великий дисквидаляється.

Зменшення розміру віртуального диска через конвертацію за допомогою VMware vCenter Converter Standalone

Ще один спосіб зменшення розміру віртуальних дисківу ВМ на VMWare з допомогою GUI - скористатися безкоштовним конвертером — .

Недолік:

  • Спосіб не швидкий
  • не потрібно відкривати в консоль vCenter або ESXi хоста
  • створюється точна копія VM
  • джерело не зламається при помилці у призначенні параметрів завдання конвертування

Нижче покрокові інструкції

Примітка.Віртуальна машина, яку збираємося конвертувати (змінювати розміри дисків і т.д.), має бути вимкнена.

Саме вимкнено.
Тобто перед конвертацією на вихідній віртуальній машині необхідно виконати: Shut downабо Power Off , а не Suspend.

Вказуємо адресу ESXi хоста.

Вибираємо вихідну ВМ.

Вказуємо параметри нової ВМ.

Переходимо в режим редагування диска (Data to copy -> Edit)

Вибираємо режим копіювання: Select volumes to copy

Вказуємо бажаний розмір диска у новій ВМ. Як ви бачите, на диску в гостьовій зайнято 48 Гб, а розмір диска - 150. Ми зменшимо його до 60 Гб.



Запускаємо процес конвертування, відключаємо вихідну ВМ, вмикаємо нову. Перевіряємо, що розмір диска зменшився, після чого вихідну ВМ можна видалити.

Іноді стикаєшся з такою проблемою, коли на віртуальній машині, яка розгорнута на VMware ESXi 5.5.0 , на одному з дисків мало вільного місцята необхідно його збільшити. Віртуальні жорсткі дискибувають двох типів:

Thick (Товстий)

  • Lazy Zeroed— Весь простір такого диска виділяється в момент створення, при цьому блоки не очищаються від даних, які були там раніше. При першому зверненні віртуальної машини до нового блоку відбувається його очищення. Таким чином, ці диски безпечніші, проте при першому зверненні до блоку втрачається продуктивність системи введення-виведення на операцію очищення. При наступних зверненнях продуктивність ідентична дискам типу Eager zeroed thick. Цей тип диска створюється за замовчуванням через VMware vSphere Client для віртуальних машин. Перевага дисків Zeroed thick disks – безпека та швидкість створення, недолік – продуктивність при першому зверненні до блоку.
  • Eager Zeroed— Весь простір такого диска виділяється в момент створення, при цьому блоки очищаються від даних, які були там раніше. Далі відбувається звичайна роботаіз блоками без очищення. Перевага такого диска - продуктивність та безпека, недолік - довгий часстворення.

Thin (Тонкий)

  • Ці диски створюються мінімального розміруі зростають у міру їхнього наповнення даними до виділеного обсягу. При виділенні нового блоку він попередньо очищається. Ці диски є найменш продуктивними (виділення нового блоку та його очищення), однак найбільш оптимальні для економії дискового простору на системі зберігання даних.

Розглянемо способи розширення дискового простору обох типів дисків.

Усі операції виконуються на вимкненій віртуальній машині.

Збільшення розміру Thin Provision диска

Наприклад, віртуальний диск має об'єм 32Gb, необхідно розширити його до 50Gb. Збільшення розміру диска за допомогою командного рядка. Підключаємося по SSH до ESXi, виконуємо команду:

Vmkfstools -X 50G /vmfs/volumes/datastore3/test/test.vmdk Grow: 100% done.

Також розширити обсяг Thin Provisionдиска, можна через vShpere. Викликаємо властивості віртуальної машини, вибираємо потрібний віртуальний диск та у розділі Disk Provisioningвказуємо новий розмір жорсткогодиска (прим. 50Gb).

Результат розширення віртуального диска:

Збільшення розміру Thiск Provision (Lazy Zeroed/Eager Zeroed) диска

Процедура збільшення розміру віртуального диска Thick Provision(Lazy Zeroed/Eager Zeroed) виконується в командному рядку ESXi. Підключаємося по SSHдо ESXi та виконуємо команду:

Vmkfstools -X 6G -d eagerzeroedthick /vmfs/volumes/datastore3/test/test.vmdk Grow: 100% done.<10485760>onwards. Zeroing: 100% done.