¿Debo crear zpools ZFS con discos completos o particiones?

14

Estoy haciendo zpools en la máquina FreeBSD. Al crear zpools, observo estos dos casos:

  1. Si tomo raw disksy creo, zpoolentonces puedo formar zpools y están funcionando perfectamente.

  2. Si puedo dar formato a los discos que utilizan gparten el freebsd-zfsformato y luego hacer zpool continuación, también se está trabajando perfectamente.

Lo que me confunde es: ¿qué enfoque es mejor para la creación de zpools?

shivams
fuente

Respuestas:

8

Es mejor usar discos completos con ZFS, cuando sea posible.
No hay necesidad de particionar en su caso de uso.

ewwhite
fuente
¿Qué quiere decir con your use case. ¿Puedes dar algún caso en el que la partición podría ser útil?
Shivams
La partición no es útil en ZFS a menos que tenga una configuración esotérica o esté utilizando ciertas soluciones SSD o esté haciendo algo extraño con los dispositivos ZIL y L2ARC . E incluso entonces, es mejor usar dispositivos / discos completos.
ewwhite
Pero, ¿por qué es mejor usar discos enteros?
leetNightshade
1
@leetNightshade Debido a que no hay mucho punto en particionar discos cuando usa ZFS con el cual los sistemas de archivos no necesitan sus propias particiones. Además, cuando ZFS "posee" el disco, puede habilitar la caché de escritura del disco para obtener un mejor rendimiento. Ver solarisinternals.com/wiki/index.php/...
jlliagre
1
@Grogi ¿Alguna buena evidencia para respaldar eso?
leetNightshade
5

Use un segmento / partición dedicado para ZFS por disco físico y deje un poco de espacio sin particionar. De esa manera, si alguna vez necesita reemplazar un disco y el reemplazo es 10 sectores más pequeño, aún podrá hacerlo ( http://www.freebsddiary.org/zfs-with-gpart.php ).

Eso es lo que Solaris hace automáticamente, eso es lo que hace FreeNAS ( https://forums.freenas.org/index.php?threads/zfs-on-partitioned-disks.37079/ ) y eso es lo que ZoL hace cuando le da un disco completo: lo dividirá ...

La sobrecarga para traducir la posición en la partición a la posición en el dispositivo real es insignificante. Entonces, una vez que la partición se alinea correctamente con el límite del sector físico, no hay razón para que se comporte de manera diferente que el dispositivo de bloque completo.

Con ZoL, la única diferencia que conozco es que ZoL cambiará el programador de disco noopcuando se entregó todo el disco a vdev. Nada le impide configurarlo manualmente.

Sin embargo, hay algunos que no ... No cree más particiones para ZFS por disco y si decide ignorar los consejos anteriores, nunca construya vdevs a partir de ellos en el mismo zpool. Esto básicamente matará el rendimiento, ya que ZFS dividirá los datos entre los vdevs y los iops secuenciales se convertirán en una pesadilla de búsqueda ...

Grogi
fuente
¿Puedes aclarar un poco más el comportamiento de zfs sobre la búsqueda de pesadilla con los segmentos de disco compartidos / utilizados?
satch_boogie
Escenario más simple: construye un grupo a partir de dos vdevs, cada uno una partición en el mismo disco duro. Ahora, desea escribir un fragmento de datos lo suficientemente grande que abarque ambos vdevs. A pesar de escribir datos secuencialmente, el disco debe buscar entre dos ubicaciones separadas para guardarlo.
Grogi
¿Es este comportamiento el mismo si Pool_A usa (sda1, sdb1, sdc3) y Pool_B usa (sda2, sdb2, sdc3)
satch_boogie
No tiene que escribirles simultáneamente ... Si tiene los vdevs en un grupo, no hay nada que pueda hacer ...
Grogi
0

En mi cabeza, esta pregunta surge debido a la duda de si puedo designar tarde, qué hay en ese disco ... así que cuando crea un grupo en toda la unidad (sí, con la opción -f, si es necesario), zpool prácticamente crea una tabla de particiones gpt y particiones de Solaris, así:

(fdisk -l ...)
...
Disklabel type: gpt
Disk identifier: 4CBE587E-23AF-8E4B-A7F0-B44AD6083171

Device          Start        End    Sectors  Size Type
/dev/sdd1        2048 3907010559 3907008512  1,8T Solaris /usr & Apple ZFS
/dev/sdd9  3907010560 3907026943      16384    8M Solaris reserved 1

así que no hay necesidad de crear particiones manualmente ...

Taras Filatov
fuente
No considero lo que Solaris hace las mejores prácticas en freebsd. Por ejemplo, en el caso de los espejos, puede reemplazar los discos por otros más grandes y expandir el tamaño de la agrupación sobre la marcha con un comando o incluso automáticamente si está configurado como tal.
cstamas