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


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

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

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

Оффлайн tranquilizator

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

Оффлайн Dzhoser

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

Оффлайн tranquilizator

  • Автор темы
  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
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

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

Оффлайн tranquilizator

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

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


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

Оффлайн EvangelionDeath

  • Администратор
  • Старожил
  • *
  • Сообщений: 3280
  • Ubuntu Mate 16.04 х64
    • Просмотр профиля
Re: qcow2 неадекватные размеры дисков
« Ответ #5 : 04 Октябрь 2018, 01:56:58 »
Fujitsu UH552: Intel Core i3-3217U, 16GB DDR3 1600MHz, Intel HD4000, Intel 535 120GB/Ubuntu 16.04 Mate
HP 625: AMD Athlon P320, 4GB DDR3 1333MHz, AMD HD4250, Seagate Momentus/Ubuntu 14.04 Mate

Оффлайн tranquilizator

  • Автор темы
  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
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

  • Автор темы
  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
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

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

 

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