На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила трёх "С"
Пожалуйста,
1. Соблюдайте правила Форума.
2. Слушайте советы Модераторов.
(например, http://forum.sources.ru/index.php?act=ST&f=7&t=80382 )
3. Сверяйтесь с учебником по Великому и Могучему
  
> небольшие заметки по работе с QCOW2 , манипуляции с образом
    Здравствуйте, товарищи!
    qcow2 - формат диска-фала qemu-kvm.

    1. Хочу примонтировать диск виртуальной машины, что-бы сотворить там бяку
    ExpandedWrap disabled
      modprobe nbd max_part=8
      qemu-nbd --connect=/dev/nbd0 /srv/fedora33.qcow2
      # /srv/fedora33.qcow2 образ для издевательств
      mount /dev/nbd0p1 /mnt/
      # вдоваль наиздевавшись, размонттируем:
      umount /mnt
      qemu-nbd --disconnect /dev/nbd0
      rmmod nbd

    Внимание! В CentOS 7 nbd не вкоючен в ядро!!! Насчет 8 и Stream не знаю. Выход: или использовать другую систему, или ставить другое ядро.
    Если решились впендюрить свежее ядро:
    ExpandedWrap disabled
      rpm --import <a class='tag-url' href='https://www.elrepo.org/RPM-GPG-KEY-elrepo.org' target='_blank'>https://www.elrepo.org/RPM-GPG-KEY-elrepo.org</a>
      yum install <a class='tag-url' href='https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm' target='_blank'>https://www.elrepo.org/elrepo-release-7.el7...repo.noarch.rpm</a>
      yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
      yum --enablerepo=elrepo-kernel install kernel-ml

    После этого свежее ведро, поддержка nbd и... Уже не кошерный CentOS 7

    Теперь вновь возвращаемся к издевательству над qcow2
    И захотели мы уменьшить рамер диска/файла (увеличивается довольно просто и в интернет по этому поводу море инфы)
    Инструкция по ужатию
    Допустим вы решили запилить "золотой образ" лоя быстрой заливки на новые VM. Я сейчас использую Fedora 33 Server
    Будем считать, что вы уже проинсталлировали Fedora и диск, изначально, нарезали, от широты душевной, аж 20G
    Многовато будет!
    Удаляем все не нужное и забиваем нулями все свободное место
    ExpandedWrap disabled
      dd if=/dev/zero of=/tmpfile
      rm -f /tmpfile
      # все свободное место забито нулями. Обнулилось! :)
      poweroff
      # Выключаем VM
      ls -lah fedora33.qcow2
      -rw-------. 1 root root 21G янв 18 01:00 fedora33.qcow2
       
      qemu-img info fedora33.qcow2
      image: fedora33.qcow2
      file format: qcow2
      virtual size: 20 GiB (21474836480 bytes)
      disk size: 15.1 GiB
      cluster_size: 65536
      Format specific information:
          compat: 1.1
          compression type: zlib
          lazy refcounts: true
          refcount bits: 16
          corrupt: false

    Процесс сжатия довольно оригинален. Просто исходный диск конвертируется в тот же qcow2

    ExpandedWrap disabled
      qemu-img convert -O qcow2 fedora33.qcow2 small.qcow2
      ls -lah small.qcow2
      -rw-r--r--. 1 root root 1,4G янв 18 00:28 small.qcow2
      # Ни фига себе...
      qemu-img info small.qcow2
      image: small.qcow2
      file format: qcow2
      virtual size: 20 GiB (21474836480 bytes)
      disk size: 1.33 GiB
      cluster_size: 65536
      Format specific information:
          compat: 1.1
          compression type: zlib
          lazy refcounts: false
          refcount bits: 16
          corrupt: false


    Заменяем образа, подсовывая small.qcow2 и запускаем VM
    ExpandedWrap disabled
      df -h /
      Файловая система               Размер Использовано  Дост Использовано% Cмонтировано в
      /dev/mapper/fedora_fedora-root    15G         1,9G   14G           13% /
       
      du -sh /
      1,9G    /


    Осталось урезать размер файловой системы, но это завтра. А межет и нет....
    Сообщение отредактировано: HighMan -
    0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
    0 пользователей:


    Рейтинг@Mail.ru
    [ Script execution time: 0,0225 ]   [ 15 queries used ]   [ Generated: 19.03.24, 10:28 GMT ]