Подібне питання існує, але рішення (використання mv
) є жахливим, оскільки в цьому випадку воно працює як "скопіюйте, а потім видаліть", а не чистим "переміщенням".
Отже, я створив пул:
zpool create tank /dev/loop0
і rsynced мої дані з іншого сховища там безпосередньо, так що мої дані тепер є в /tank
.
zfs list
NAME USED AVAIL REFER MOUNTPOINT
tank 591G 2.10T 591G /tank
Тепер я зрозумів, що мені потрібно, щоб мої дані були у дочірній файловій системі, а не у /tank
файловій системі безпосередньо.
Тож як я можу перемістити чи перейменувати існуючу кореневу файлову систему, щоб вона стала дочірньою в пулі?
Просте перейменування не буде працювати:
zfs rename tank tank/mydata
cannot rename to 'tank/mydata': datasets must be within same pool
(До речі, чому він скаржиться, що набори даних не знаходяться в одному пулі, якщо я маю лише один пул?)
Я знаю, що є рішення, які передбачають копіювання всіх даних ( mv
або відправлення всього набору даних на інший пристрій і назад), але чи не повинен бути простий елегантний спосіб?
Зауваживши лише, що я не переймаюся знімками на цьому етапі (ще немає жодного, кого слід подбати).