Правильный способ создать ZFS из существующего каталога?

9

Допустим, у меня есть rpool с etc / как обычным каталогом внутри него, и теперь я хочу создать отдельный zfs rpool / etc, очевидно, унаследовав все данные, которые у меня были в оригинальном / etc.

Каков был бы самый правильный и безопасный способ сделать это?

Юрий Рашковский
источник

Ответы:

4

Не поддерживается превращение /etcв собственную файловую систему zfs.

Причина в том, что /etcэто необходимо на ранних этапах загрузки, до того, как (Open) Solaris начнет монтировать файловые системы zfs, поэтому он будет пуст, если вы его измените.

Я предполагаю, что вы хотите делать снимки /etc, но вместо этого вы можете просто сделать снимки корневой файловой системы:

zfs snapshot rpool/ROOT/opensolaris

Возможно, вам придется заменить opensolarisимя текущей среды загрузки (запустите, beadm listчтобы выяснить, какие)

Мартин
источник
2
хорошо, тогда как насчет любого другого каталога? скажем, rpool / zone / myzone / export / home / git? :)
Юрий Рашковский
1
Если вы хотите превратить ваш каталог git в файловую систему zfs, вам просто нужно сделать tar-архив с текущим содержимым, а затем "rm -rf" git dir, после этого запустить zfs create -o mountpoint = / path / to / git rpool / path / to / what / git "и, наконец, распакуйте сохраненные файлы.
Мартин
2
о, хорошо, это то, что я думал ... но втайне надеялся, что есть прозрачный способ расколоть zfs :)
Юрий Рашковский
8

Не существует встроенного или автоматизированного способа создания нового набора данных и переноса в него существующих данных. Чтобы сделать это, вам нужно создать набор данных и вручную (например, rsync) данные к нему.

Допустим, у вас есть набор данных с именем tank\setв каталоге folder. Вы хотите «продвинуть» папку как дочерний набор данных с именем tank\set\folder:

mv /mnt/tank/set/folder /mnt/tank/set/folder-backup # move this out of the way so the new dataset doesn't mount on top of it
zfs create tank/set/folder
rsync -aAX /mnt/tank/set/folder-backup/ /mnt/tank/set/folder # bring over all the old data including acls and attributes

Затем проверьте, что данные выглядят хорошо; на всякий случай сделайте снимок родительского набора данных и удалите folder-backupкаталог.

STW
источник