Existe una pregunta similar, pero la solución (usar mv
) es horrible porque en este caso funciona como "copiar, luego eliminar" en lugar de "mover" puro.
Entonces, creé un grupo:
zpool create tank /dev/loop0
y envié mis datos desde otro almacenamiento allí directamente para que mis datos ahora estén en /tank
.
zfs list
NAME USED AVAIL REFER MOUNTPOINT
tank 591G 2.10T 591G /tank
Ahora me he dado cuenta de que necesito que mis datos estén en un sistema de archivos hijo, no /tank
directamente en el sistema de archivos.
Entonces, ¿cómo puedo mover o cambiar el nombre del sistema de archivos raíz existente para que se convierta en un elemento secundario dentro del grupo?
Cambiar el nombre simple no funcionará:
zfs rename tank tank/mydata
cannot rename to 'tank/mydata': datasets must be within same pool
(Por cierto, ¿por qué se queja de que los conjuntos de datos no están dentro del mismo grupo cuando, de hecho, solo tengo un grupo?)
Sé que hay soluciones que implican copiar todos los datos ( mv
o enviar todo el conjunto de datos a otro dispositivo y viceversa), pero ¿no debería haber una forma elegante y sencilla?
Solo observando que no me importan las instantáneas en esta etapa (aún no hay ninguna que me importe).
fuente
Dado el problema documentado por @USDMatt, ZFS enviar / recibir es probablemente la mejor manera de hacerlo.
Tenga cuidado cuando ejecute rm -rf si no cambia el punto de montaje de si tiene otros sistemas de archivos en su tanque zpool. No desea eliminar recursivamente el contenido del nuevo sistema de archivos (/ tank / newname) o cualquier otro sistema de archivos hijo (/ tank / *) accidentalmente.
fuente
No creo que haya una manera elegante y simple ... aunque podrías cambiar tu punto de montaje ...
O tal vez cambie el nombre del tanque y luego móntelo donde lo necesite ...
O eso, o crear un sistema de archivos en el lugar correcto y enviar / recibir cp, mv o zfs ...
fuente