Если я создаю новый образ .qcow2 qcow2 на основе файла резервной копии (называемого base.qcow2), а файл резервной копии находится на общем ресурсе nfs. Что произойдет, если кто-то попытается изменить, заменить или удалить base.qcow2?
Есть ли механизм блокировки, который это предотвращает? Будут ли все блоки скопированы в образ new.qcow2 перед удалением или изменением base.qcow2?
Сценарий следующий:
qemu-img create -f qcow2 -b /mnt/nfs/base.qcow2 /localdisk/new.qcow2
На сервере nfs или другом клиенте:
rm nfs/base.qcow2
Что происходит с new.qcow2, созданным из base.qcow2?
решение1
Что произойдет, если кто-то попытается изменить, заменить или удалить base.qcow2?
Образы, основанные на базовом образе, становятся неактуальными/испорченными/бесполезными. Полные клоны, конечно, продолжат работать.
Есть ли какой-то механизм блокировки, который это предотвращает?
Встроено в qemu - нет. Системы управления, такие как oVirt/RHEV, будут иметь их на месте.
Будут ли все блоки скопированы в образ new.qcow2 перед удалением или изменением base.qcow2?
Только если вы вручную делаете qemu-img rebase
. Если вы просто редактируете базовый файл или используете его напрямую с виртуальной машиной вместо последнего производного образа в цепочке снимков, вы сломаете все дерево снимков.
Что касается реального сценария, -b
опция создаст только дельта-образ, содержащий только различия между новым снимком и базовым образом. Если вы удалите базу, снимок станет бесполезным, так как у него нет ссылки. Перейтиhttp://docs.fedoraproject.org/en-US/Fedora/13/html/Virtualization_Guide/sect-Virtualization-Tips_and_tricks-Using_qemu_img.htmlдля лучшей справки.