Estoy probando el paquete OpenZFS en Ubuntu 16.04 Xenial.
Al crear grupos, siempre hago referencia a las unidades de sus series en /dev/disk/by-id/
(o /dev/disk/gpt
en FreeBSD) para la resistencia. Las unidades no siempre están en el mismo orden /dev
cuando se reinicia una máquina, y si tiene otras unidades en la máquina, es posible que el grupo no se monte correctamente.
Por ejemplo, corriendo zpool status
en una caja 14.04 obtengo esto:
NAME STATE READ WRITE CKSUM
tank ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
ata-Hitachi_HDS722020ALA330_[..] ONLINE 0 0 0
ata-Hitachi_HDS722020ALA330_[..] ONLINE 0 0 0
ata-Hitachi_HDS722020ALA330_[..] ONLINE 0 0 0
ata-Hitachi_HUA722020ALA330_[..] ONLINE 0 0 0
Pero cuando creo un nuevo grupo en 16.04 con esto (abreviado):
zpool create pool raidz \
/dev/disk/by-id/ata-Hitachi_HDS723030ALA640_[..] \
/dev/disk/by-id/ata-Hitachi_HDS723030ALA640_[..] \
/dev/disk/by-id/ata-Hitachi_HDS723030ALA640_[..] \
/dev/disk/by-id/ata-Hitachi_HDS723030ALA640_[..]
Me sale esto con zpool status
:
NAME STATE READ WRITE CKSUM
tank ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
sdf ONLINE 0 0 0
sde ONLINE 0 0 0
sdd ONLINE 0 0 0
sda ONLINE 0 0 0
Parece que zpool siguió los enlaces simbólicos, en lugar de hacer referencia a ellos.
¿Hay alguna manera de forzar a zpool en 16.04 a respetar las referencias de mi unidad al crear un grupo? O, alternativamente, ¿mis dudas sobre lo que está haciendo aquí están fuera de lugar?
Actualización: solución alternativa
Me encontré con un hilo de zfsonlinux en Github que sugirió una solución. Cree su zpool con /dev/sdX
dispositivos primero, luego haga esto:
$ sudo zpool export tank
$ sudo zpool import -d /dev/disk/by-id -aN
Todavía preferiría poder hacer esto con la inicial, zpool create
si es posible.
zfs send
para copiar mis datos a los nuevos grupos. En realidad, raid-z está bien para mi caja de mito, donde el rendimiento no es crítico a menos que esté ejecutando 6 u 8 trabajos de transcodificación a la vez. Cambiar a pares duplicados sería muy notable en el grupo donde /home
vive mi directorio.
zfs export
yzfs import -d
funcionará de todos modos. Por cierto, a menos que realmente necesite cada byte de espacio, use dos pares reflejados en lugar de raidz. El rendimiento de raidz es mejor que el de raid-5 pero aún mucho peor que el de los pares duplicados de raid-10 o zfs. también es más fácil expandir un grupo compuesto por pares reflejados, solo agregue dos discos a la vez ... con raidz, debe reemplazar cada una de las unidades con unidades más grandes, y solo cuando haya reemplazado todas ellas, su La piscina tiene más espacio disponible.