Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: qcow2 неадекватные размеры дисков  (Прочитано 4525 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн tranquilizator

  • Автор темы
  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
qcow2 неадекватные размеры дисков
« : 02 Октября 2018, 12:07:59 »
Возникла проблема размеров дисков виртуальных машин. Использую динамические диски формата qcow2 для гостевых машин. Диски максимального размера 100-127ГБ, вроде бы больше не должно быть. Но на деле диски "распухают" до 2 и даже 3-х размеров от указанного. Что это может быть? Снимков нет. Если диски увеличатся в 3 раза от задуманного, у меня место на сервере закончится. Заранее спасибо.

Dzhoser

  • Гость
Re: qcow2 неадекватные размеры дисков
« Ответ #1 : 03 Октября 2018, 14:37:54 »
На паузу ставите? Памяти сколько выделено?Какая ФС используется,может она снимки делает. Пользователи туда ничего не пишут?

Оффлайн tranquilizator

  • Автор темы
  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Re: qcow2 неадекватные размеры дисков
« Ответ #2 : 03 Октября 2018, 15:38:54 »
На паузу не ставлю. Пользователи естественно работают, но диск объемом максимум 127ГБ, он же не может больше быть? А он больше в 3 раза. А про память какую спрашиваете?

Пользователь добавил сообщение 03 Октября 2018, 15:39:49:
Файловая система qcow2, в нем ntfs

Пользователь добавил сообщение 03 Октября 2018, 15:45:25:
Все это крутится на raid10

Пользователь добавил сообщение 03 Октября 2018, 15:50:55:
Вот еще:

Found volume group "krbko-hv1-vg" using metadata type lvm2
root@krbko-hv1:~# vgdisplay krbko-hv1-vg
  --- Volume group ---
  VG Name               krbko-hv1-vg
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <3,46 TiB
  PE Size               4,00 MiB
  Total PE              905911
  Alloc PE / Size       905911 / <3,46 TiB
  Free  PE / Size       0 / 0
  VG UUID               1Y6M4q-b0lp-nkT6-2eF0-sxcr-Otf0-Nd3Wnm
« Последнее редактирование: 03 Октября 2018, 15:50:55 от tranquilizator »

Dzhoser

  • Гость
Re: qcow2 неадекватные размеры дисков
« Ответ #3 : 03 Октября 2018, 21:20:05 »
Память имелась ввиду виртуальная выделяемая для виртуальных машин. При постановке не паузу ее содержание сохраняется на диск и мы получаем припрост занятого пространства равный объему используемой виртуальной пямяти. QCOW2(QEMU Copy-on-write) —  Родной формат  гипервизора QEMU и не менее родной нынешнего QEMU-KVM. Максимально продвинутый формат из всех поддерживаемых KVM.
Образ диска в формате QCOW2 может автоматически увеличиваться при заполнени данными а так же поддерживает снапшоты. К сожалению производительность дисков в формате QCOW2 хоть и не сильно но уступает дискам в формате RAW. Так же диски в формате QCOW2 в большей степени подвержены фрагментации за счет постепенного а не единоразового выделения всего объема на физическом диске, что не лучшем образом отражается на производительности. Пользователи скорее чем то забили. Если увеличения линейны скорее это какието снапшоты...

Оффлайн tranquilizator

  • Автор темы
  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Re: qcow2 неадекватные размеры дисков
« Ответ #4 : 03 Октября 2018, 21:44:45 »
Хорошо. Я действительно пытался использовать снапшоты. Но потом увидел что размер диска становится невменяемым, удалил снапшоты все. Но размер не стал меньше. Гипервизор показывает размер диска 127ГБ, внутри самой виртуалки информация занимает 40ГБ. Но на файловой системе размер файла-диска qcow2 300ГБ. Да как так? При 40ГБ полезной информации. Как это победить, как уменьшить размер диска виртуальной машины? Копирование дисков qcow2 при остановленных виртуальных машинах на внешний носитель в результате показало те же гигантские размеры. Сейчас попытаюсь скриншоты сюда залить если получится, не знаю как это сделать.

На этом скрине показано, как видит диски гипервизор:


На этом - сколько диски реально занимают места в файловой системе:
« Последнее редактирование: 03 Октября 2018, 21:59:38 от tranquilizator »

Оффлайн EvangelionDeath

  • Администратор
  • Старожил
  • *
  • Сообщений: 3487
  • Ubuntu 22.04 х64
    • Просмотр профиля
Re: qcow2 неадекватные размеры дисков
« Ответ #5 : 04 Октября 2018, 01:56:58 »
HP Pro 840 G3: Intel i5-6300U, 32GB DDR4 2133MHz, Intel 520, Intel Pro 2500 180GB/Ubuntu 22.04
Dell Latitude 5590: Intel i5-8350U, 16GB DDR4 2400MHz, Intel 620, Samsung 1TB/Ubuntu 22.04

Оффлайн tranquilizator

  • Автор темы
  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Re: qcow2 неадекватные размеры дисков
« Ответ #6 : 04 Октября 2018, 08:52:12 »
Спасибо, этот метод я знаю. Но вопрос не в этом. Сейчас посмотрел например, на гостевой машине внутри занято 57ГБ из 100. Допустим гипервизор не знает, что внутри винды на гостевой машине, внутри qcow2, но какого, извините, хрена динамически расширяемый диск qcow, который должен расширяться до 100ГБ, расширился до 300???

Братья, не знаю как это произошло, но могу воспроизвести последовательность действий. Это реально работает! Получилось!
Удалось уменьшить образ с 320ГБ до 18ГБ!!!
« Последнее редактирование: 05 Октября 2018, 13:18:43 от tranquilizator »

Оффлайн Valery_At

  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Re: qcow2 неадекватные размеры дисков
« Ответ #7 : 21 Мая 2019, 10:54:55 »
Добрый день! Можете поделится, как вам удалось ужать файл VM?

Оффлайн tranquilizator

  • Автор темы
  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Re: qcow2 неадекватные размеры дисков
« Ответ #8 : 21 Мая 2019, 23:16:23 »
Да, могу.

Пользователь добавил сообщение 21 Мая 2019, 23:28:23:
В ходе использования образ понемногу увеличивается в размере. После длительного использования образ можно сократить в размере занулением свободного места.
Алгоритм действий таков:

1. Выключаем гостевую систему, делаем копию диска-пациента, обзываем название_образа.qcow2_backup,
будем работать с ним. Если все получится, заменим им начальный образ.

2. Создаем виртуальное устройство nbd0.
modprobe nbd max_part=63
qemu-nbd -c /dev/nbd0 название_образа.qcow2
   (Например qemu-nbd -c /dev/nbd0 /var/lib/libvirt/images/krbko-fs1.qcow2)
partprobe /dev/nbd0
перед монтированием можно посмотреть разделы на диске
   sudo fdisk -l /dev/nbd0
   mount /dev/nbd0p2 /mnt/qemu

С диском в формате qcow2 при монтировании просит указать тип fs

mount -t ext4 /dev/nbd0p1 /mnt/qemu
   mount -t ntfs /dev/nbd0p2 /mnt/qemu


3. Зануляем свободное пространство примонтированного пациента при помощи dd
   Перейти в нужный каталог!
Заполнить всё свободное место в текущем разделе нулями:

    dd if=/dev/zero of=zerofile
Удаляем полученный файл с нулями! (zerofile)
По завершению работы с диском отключаем (после всех операций)

sudo umount /mnt/qemu
sudo qemu-nbd -d /dev/nbd0

4. Переконвертируем пациента при помощи qemu-img чтобы превратить нули в "дырки", не забываем параметр -с   (Перейти в нужный каталог!)
qemu-img convert -O qcow2 -c название_образа.qcow2_backup название_образа.qcow2
   (например qemu-img convert -O qcow2 -c krbko-fs1.qcow2 krbko-fs1.qcow2)

В результате перечисленных выше нехитрых операций можно уменьшить размер образов на порядок, т.е. в 10 раз и более.

Пользователь добавил сообщение 21 Мая 2019, 23:29:34:
Отпишите, пожалуйста, как получилось.
« Последнее редактирование: 21 Мая 2019, 23:29:34 от tranquilizator »

Оффлайн Valery_At

  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Re: qcow2 неадекватные размеры дисков
« Ответ #9 : 22 Мая 2019, 12:18:15 »
Спасибо за подробный ответ.
Опишу подробнее мою ситуацию.
Proxmox досталось "по наследству" от предыдущего администратора.
На одной из гостевых машин понадобилось увеличить размер системного диска. При попытке resize вылетала ошибка. Обнаружил, что размер образа в формате qcow2 ровно в два раза больше, чем обозначено в конфигурационном файле, при этом я сам снимки или паузы не делал, но, возможно, их делал прежний админ.

Гугл подсказал, что нужно выполнить конвертацию с компрессией предварительно обнулив неиспользуемое пространство в гостевой машине.

Ваш ответ я увидел уже позже, когда выполнил "обнуление" с помощью sdelete. Скорее всего этот шаг мне не сильно помог, т.к. в гостевой Windows почти не было свободного места.
Далее, как описано у Вас и в официальной документации Proxmox - qemu-img convert -O qcow2 -c vm-disk-1.qcow2 vm-disk-1_converted.qcow2.
Размер ужался в 5 раз, со 100 до 20 GB, при этом Windows "видела" 50GB.
После этого resize прошел гладко.




Оффлайн tranquilizator

  • Автор темы
  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Re: qcow2 неадекватные размеры дисков
« Ответ #10 : 22 Мая 2019, 13:02:07 »
Так и должно быть. Рад что мой рецепт помог.

 

Страница сгенерирована за 0.056 секунд. Запросов: 25.