Тестовый откат ZFS не работает должным образом

Я не понимаю, как должны работать снимки и откат ZFS. У меня есть zpool, содержащий пару zvols (каждый из разделов mirrorvdev). Я делаю снимок следующим образом:

~$ sudo zfs snapshot nvme-tank@roll_test

Затем я загружаю виртуальную машину, расположенную на одном из zvols в zpool, и создаю тестовый файл

~$ echo "This is a test of the rollback system" > rbtest.txt

Затем я выключаю виртуальную машину и выполняю откат. Насколько я понимаю, откат должен вернуть все в nvme-tank к состоянию, в котором я делал снимок, до создания rbtest.txt.

~$ sudo zfs rollback nvme-tank@roll_test

Затем я перезагружаю виртуальную машину, проверяю rbtest.txt, и вот он есть, все еще там! enter image description here

Снимок есть:

~$ zfs list -t all -r nvme-tank
NAME                  USED  AVAIL  REFER  MOUNTPOINT
nvme-tank             887G  12.1G    24K  /media/nvme-tank
nvme-tank@nov82018      0B      -    24K  -
nvme-tank@roll_test     0B      -    24K  -
nvme-tank/ext4-zvol   474G   449G  37.8G  -
nvme-tank/ntfs-zvol   413G  23.9G   401G  -

Итак, я неправильно понимаю, что должны делать снимки, неправильно их использую, или что-то не работает с моим zfs?

3
задан 9 November 2018 в 01:30
1 ответ

Вы сделали снимок только nvme-tank , но не сделали снимок ни nvme-tank / ext4-zvol , ни nvme- tank / ntfs-zvol , один из которых содержит созданный вами файл. Так что ничего не произошло, потому что вы делали снимок набора данных, отличного от того, в котором вы создали файл.

Если вы хотите, чтобы снимки были рекурсивными для дочерних наборов данных / zvols, вы должны явно запросить рекурсивные снимки с снимком zfs -r . Однако вы можете откатить только один конкретный набор данных / zvol за раз с помощью zfs rollback .

3
ответ дан 3 December 2019 в 06:26

Теги

Похожие вопросы