
He creado un grupo en zfs usando:
zpool create data001 mirror /dev/sda /dev/sdb
pero en retrospectiva quería crear
zpool create data/001 mirror /dev/sda /dev/sdb
Ninguna de las opciones de cambio de nombre/mover que encontré funciona porque los 'datos' no existen, pero no puedo crear 'datos' ya que no parece tener sentido crear un grupo que no tenga dispositivos.
Respuesta1
Estoy bastante seguro de que te refieres a "zpool create", no a "zfs create" para el primero. Así que esto es lo que debes hacer:
# zpool create data mirror /dev/sda /dev/sdb
# zfs create data/001
El primer comando le proporcionará su grupo de "datos", más el sistema de archivos /data, y el segundo comando creará el sistema de archivos /data/001.
Respuesta2
zpool create data mirror /dev/sda /dev/sdb
zfs create data/001
¿Es este el conjunto de comandos que debería haber ejecutado, o que aún puedo ejecutar, manteniendo los datos? La primera línea parece que formaría un nuevo grupo sobre el existente.
Esto es lo que deberías haber hecho. Hacerlo ahora solo le dirá que no es posible usar discos que ya forman parte de un grupo para un grupo nuevo sin destruir el anterior o quitar los discos del mismo (excepto el último, no es posible si usa raidz en lugar de espejos). También puede ser un buen momento para pensar en su estrategia de respaldo, si no tiene una.
Soy nuevo en zfs y encuentro que la división de funcionalidad entre zfs y zpool parece arbitraria, probablemente debido a algún malentendido de la tecnología.
Oráculo tiene unguía detalladaa cómo se utilizan los grupos y los sistemas de archivos, y también hay algunos condensadosmejores prácticas. Para resumirlo en términos muy amplios, hay tres capas:
- Usted construye dispositivos virtuales (vdevs) a partir de dispositivos normales (normalmente discos, también pueden ser archivos o particiones) con una determinada característica de redundancia (básica, espejos o raidz).
- Usted construye grupos de almacenamiento (zpools) a partir de múltiples vdev, que siempre están divididos (concatenados) y le ofrecen el tamaño sumado de esos vdev como almacenamiento continuo.
- Usted crea sistemas de archivos o zvols dentro de esos grupos. Los sistemas de archivos se pueden anidar unos dentro de otros. En teoría, el grupo en sí también se puede escribir, pero se recomienda no hacerlo debido a que la administración/herencia de propiedad es más fácil.
Mis recomendaciones personales para esas capas:
- Utilice discos del mismo tamaño, velocidad y calidad para cada vdev. Prefiere los espejos ya que son más flexibles y rápidos que raidz. Evite los vdev básicos porque pueden acabar con todo su grupo si uno falla.
- Cree grupos de almacenamiento para vdev similares, por ejemplo, un grupo con vdev SSD (espejos) para almacenamiento de VM y un grupo con vdev HDD (raidz2) para un almacenamiento de respaldo más lento pero más grande. Combinarlos haría que el grupo fuera tan lento como el disco duro y tan peligroso como el espejo único para TODOS los datos, por lo que no es una buena idea.
- Cree tantos sistemas de archivos como desee y utilice la herencia para administrarlos fácilmente (propiedades como el recurso compartido SMB o NFS se pueden heredar de la misma manera que las cuotas o la configuración general de ACL). Su diseño depende de su organización y estructura, pero las reglas comunes son "un sistema de archivos para cada directorio de inicio de usuario" y "un sistema de archivos para cada recurso compartido de red independiente". Evite dividir los sistemas de archivos si el contenido interno trata esencialmente sobre el mismo tema, pero el movimiento es frecuente, ya que el movimiento entre sistemas de archivos es siempre una operación completa y costosa, incluso en el mismo grupo. Necesita zvols solo si exporta almacenamiento en bloques o con KVM, así que comience de manera simple (los sistemas de archivos también se pueden usar como almacenamiento en bloques).
- Utilice directorios dentro de los sistemas de archivos como lo haría normalmente (establezca ACL, segregue datos, etc.).