Podobne pytanie istnieje, ale rozwiązanie (użycie mv
) jest okropne, ponieważ w tym przypadku działa jako „kopiuj, a następnie usuwaj”, a nie „ruch”.
Więc stworzyłem pulę:
zpool create tank /dev/loop0
i zsynchronizowałem moje dane z innego magazynu bezpośrednio tam, aby moje dane były teraz w /tank
.
zfs list
NAME USED AVAIL REFER MOUNTPOINT
tank 591G 2.10T 591G /tank
Teraz zdałem sobie sprawę, że moje dane muszą znajdować się w podrzędnym systemie plików, a nie /tank
bezpośrednio w systemie plików.
Jak więc przenieść lub zmienić nazwę istniejącego głównego systemu plików, aby stał się on dzieckiem w puli?
Prosta zmiana nazwy nie działa:
zfs rename tank tank/mydata
cannot rename to 'tank/mydata': datasets must be within same pool
(Przy okazji, dlaczego narzeka, że zbiory danych nie znajdują się w tej samej puli, skoro w rzeczywistości mam tylko jedną pulę?)
Wiem, że istnieją rozwiązania polegające na kopiowaniu wszystkich danych ( mv
lub wysyłaniu całego zestawu danych na inne urządzenie iz powrotem), ale czy nie powinien istnieć prosty elegancki sposób?
Wystarczy zauważyć, że na tym etapie nie dbam o migawki (nie ma jeszcze żadnych do załatwienia).