Як зменшити розмір образу диска KVM віртуальної машини?


11

Як зменшити чи зменшити розмір диска віртуальної машини KVM?

Я виділив віртуальний диск об'ємом 500 Гб (зберігається в /var/lib/libvirt/images/vm1.img), і я вважаю це зайвим, тому тепер я хотів би звільнити частину цього простору для використання з іншими віртуальними машини. Здається, є багато відповідей на те, як збільшити сховище зображення, але не зменшити його. Я знайшов інструмент зміни розміру virt , але він, здається, працює лише з необробленими дисковими розділами, а не із зображеннями диска.

Редагувати: я використовую LVM з розділом, відформатованим Ext4.

Редагувати: скріншот із графічним графічним зображенням, що показує мій макет розділу LVM Мені потрібно зробити набагато більше, ніж просто змінити розмір файлової системи. Я не знаю жодного безпечного способу зміни розміру LVM. І будь ласка, не кажіть мені користуватися pvresize. Незважаючи на свою назву, він не підтримує розмір LVM.

Знімок екрана GParted

Я намагався sudo pvresize /dev/vda5, але це просто говорить, physical volume "/dev/vda5" changedале насправді не зменшує розмір.

Я намагався почати partedвручну встановлювати розмір розділу (дуже небезпечно), але це робить print allлише помилку "/ dev / sr0 нерозпізнана мітка диска".

Редагувати: Виконуючи ці вказівки , я зміг успішно зменшити і мій логічний, і фізичний томи (хоча мені довелося пам'ятати, щоб активувати та відключити lvm до та після певних команд, які інструкція опускає.

Тепер GParted демонструє 250G нерозподіленого вільного місця. Як видалити це з образу диска KVM і повернути його до базового гіпервізора?


Вам насправді потрібно зменшити розмір віртуального диска, чи достатньо його ущільнення? Ви можете зробити останнє з чимось подібним qemu-img -O qcow2 vm1.img vm1-compact.qcow2.
Ansgar Wiechers

@AnsgarWiechers, Так, мені все одно потрібно використовувати диск, і я виділив набагато більше місця, ніж мені коли-небудь знадобиться.
Серін

Відповіді:


10

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

Після кількох годин Google, я нарешті знайшов керівництво ( відредаговане посилання ), яке містить покрокові інструкції щодо зменшення моєї файлової системи, логічних томів та фізичних томів. Трюк, який пропускає більшість посібників, полягає в необхідності фактично видалити фізичні розділи та відтворити їх з правильним розміром, оскільки parted не може змінити розмір розділів lvm.

Потім я знайшов цю документацію в qemu-img, в якій пояснюється, як зменшити необроблений формат віртуального диска шляхом запуску:

sudo qemu-img resize /var/lib/libvirt/images/myvm.img 255G

qemu-img - чудовий інструмент, коли справа стосується роботи з зображеннями дисків для kvm. Через 3 роки ваше посилання здається порушеним, тут сторінка керівництва від die.net linux.die.net/man/1/qemu-img
Луї Лудог Троттьє

І якщо хтось хоче цієї зручності, і він застряг у (не хоче) .qcow2 VM, конвертуйте його спочатку, qemu-img convert -f qcow2 -O raw image.qcow2 image.imgа потім можна виконати вищевказану команду.
oemb1905

4

Що вам потрібно зробити,

  • Візьміть резервну копію
  • Стисніть файлову систему (и) * не робіть цього в реальній системі, рекомендую використовувати живий компакт-диск.
  • Створіть нове зображення диска потрібного розміру.
  • Запустіть живу операційну систему, при цьому нові та старі зображення додаються у вигляді (віртуальних) жорстких дисків (не встановлено)
  • Створіть новий (-ів) розділ (-и) такого ж розміру, як і розміри розмірів на старому диску
  • Використовуйте dd для дзеркального відображення даних до нового розділу.
  • Для успішного завантаження вам, можливо, знадобиться очистити / відновити грязь (2).

Це можна досягти як через GUI, так і за CLI

Ресурси

Інструменти

  • gparted (посилання пропущено через спам, недостатньо повторень)

Важка частина - "Зменшити файлову систему". Я використовую LVM, який не знайшов підтримки для зміни розміру. Навіть не живий компакт-диск із GParted.
Серін

Я думаю, що це стосується цього, я не використовував його, тому повідомляйте про добре чи погано tcpdump.com/kb/os/linux/lvm-resizing-guide/shrink.html
daxroc

Є два основні моменти, які слід дотримуватися: 1) Робіть все по порядку ( спочатку скорочуйте файлову систему, потім зменшуйте розділ, а потім зменшуйте диск). 2) Порядок / інструменти зміни розміру файлової системи сильно залежать від фактичної файлової системи (яку ОП вирішив не розкривати). Опублікована стаття @daxroc не працюватиме для файлових систем, крім ext [234].
Ansgar Wiechers

@daxroc, мені потрібно зменшити і логічні, і фізичні обсяги. Ваше посилання охоплює лише зменшення логічного обсягу.
Серін

домовились. резервна копія, новий диск, відновлення найбезпечніше і найпростіше
діасний

0

Це спрацювало дуже добре для мене. Він стискає і стискає 0 блоків на зображенні диска. Зображення з часом буде розширюватися, оскільки воно знову буде записане.

qemu-img convert -c -O qcow2 vmdisk.qcow2 vmdisk-comp.qcow2

-4

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

Вам потрібно зробити 3 речі:

1) Збільште зображення диска більше. У вашому хості:

qemu-img resize foo.qcow2 + 32G

Тепер ваш гість може побачити більший диск, але все ще має старі розділи та файлові системи.

2) Збільшити розділ усередині зображення диска. Для цього вам потрібно зняти LiveCD у гостя, оскільки ви не зможете зіпсуватись із змонтованим розділом. Це досить задіяна і, мабуть, найнебезпечніша частина. Тут досить багато копіювати, тому зараз я просто замість цього посилання. Ви хочете зробити щось подібне:

http://www.howtoforge.com/linux_resizing_ext3_partitions_p2

АБО 2b) створення нового розділу буде простішим (і безпечнішим), якщо ви просто хочете більше місця для зберігання. Використовуйте fdisk або cfdisk або все, що вам зручніше - зараз на вашому гостьовому диску ви повинні побачити цілу купу нерозподіленого місця.

3) Нарешті, якщо ви змінили розмір існуючого розділу, зробіть файлову систему всередині нового більшого розділу більше (це фактично в посібнику, пов'язаному вище в будь-якому випадку). Всередині вашого гостя:


6
Він намагається зробити зображення меншим , а не більшим.
Майкл Хемптон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.