¿Cómo particionar un disco de 22TB?

33

Tengo un disco de 22TB encendido /dev/sdb. ¿Cómo creo una partición de 22 TB? Realmente no me importa el sistema de archivos, ext4o zfsestá bien.

Ejecución de CentOS 6.2: la partición se utilizará como un volcado de datos. Solo una sola secuencia de datos, por lo que ser selectivo / selectivo sobre qué sistema de archivos no es realmente una preocupación en este momento. El disco está formado por unidades SAS nearline de 12x2TB y un controlador Dell Perc.

Solo quiero una partición de 22TB.

LVLAaron
fuente
1
un poco más de información sería útil. ¿Qué sistema operativo estás usando? ¿Qué tipo de rendimiento espera o necesita obtener de él? ¿Cuál es el hardware subyacente? ya es un conjunto de incursión? ¿tiene redundancia? ¿Necesita las características adicionales de protección de datos de zfs?
Tim Kennedy el
3
¿Qué intentos han fallado hasta ahora? fdisk, cfdisk?
Nils

Respuestas:

44

La solución más simple es utilizar el particionamiento GPT , una versión de Linux de 64 bits y XFS :

  • GPT es necesario porque la tabla de partición MBR de estilo MS-DOS creada por fdiskestá limitada a 2 discos TiB. Por lo tanto, debe usar partedu otro programa de particionamiento compatible con GPT en lugar de fdisk. ( gdisk, gparted, Etc.)

  • Un núcleo de 64 bits es necesario porque los núcleos de 32 bits lo limitan a sistemas de archivos más pequeños de lo que está solicitando. Llegas a un límite de tamaño basado en enteros de 32 bits o terminas sin poder direccionar suficiente RAM para soportar el sistema de archivos correctamente.

  • XFS no es la única solución, pero en mi opinión es la más fácil para los sistemas RHEL.

    No puede usar ext4 para esto en RHEL 6. Aunque el sistema de archivos fue diseñado para admitir 1 sistemas de archivos EiB , existe un límite de tamaño de volumen artificial de 16 TiB en la versión e2fsprogsincluida en RHEL 6 y sus derivados. Tanto Red Hat como CentOS lo mencionan en sus documentos. (El límite ext4 16 TiB se aumentó considerablemente en RHEL 7 a 50 TiB).

    ZFS puede no ser práctico en su situación . Debido a sus varias restricciones legales y técnicas, no puedo recomendarlo a menos que necesite algo que solo ZFS le brinde.

    Habiendo descartado sus dos sistemas de archivos elegidos, sugiero XFS. Es el sistema de archivos predeterminado en RHEL 7, estaba disponible como un sistema de archivos compatible en todas las versiones de RHEL 6, y era compatible con las versiones posteriores de RHEL 5 después de la salida de RHEL 6.

Aquí está el proceso:

  1. Compruebe si lo ha mkfs.xfsinstalado ejecutándolo sin argumentos. Si no está presente, instale las herramientas userland XFS:

    # yum install xfsprogs
    

    Si eso falló, probablemente sea porque está en un sistema operativo anterior que no tiene esto en su repositorio de paquetes predeterminado. Realmente debería actualizar, pero si eso es imposible, puede obtenerlo de CentOSPlus o EPEL . También es posible que deba instalar el kmod_xfspaquete.

  2. Crea la partición:

    Como dice que su volumen de 22 TiB está activado /dev/sdb, los comandos para partedson:

    # parted /dev/sdb mklabel gpt
    # parted -a optimal -- /dev/sdb mkpart primary xfs 1 -1
    

    Eso hace que se haga cargo de todo el volumen con una sola partición. En realidad, ignora el primer 1 MiB del volumen, para lograr la alineación de 4 KiB requerida para obtener el rendimiento completo de los HDD y SSD de formato avanzado .

    Puede omitir este paso y formatear todo el volumen con XFS. Es decir, usaría /dev/sdben el ejemplo a continuación en lugar de /dev/sdb1. Esto evita el problema de la alineación del sector. En el caso de un volumen que solo verá su sistema operativo basado en Linux, no hay inconvenientes de los que valga la pena hablar, pero advertiría contra hacerlo en un volumen extraíble o en un volumen interno en una computadora de arranque múltiple , ya que algunos Los sistemas operativos (Windows y macOS, por ejemplo) le ofrecerán formatear un disco duro sin particiones cada vez que aparezca. Poner el sistema de archivos en una partición resuelve esto.

  3. Formatear la partición:

    # mkfs.xfs -L somelabel /dev/sdb1
    
  4. Agregue la /etc/fstabentrada:

    LABEL=somelabel    /some/mount/point    xfs     defaults   0 0
    
  5. Montar!

     # mount /some/mount/point
    

Si desea seguir la ruta LVM , los pasos anteriores son básicamente una versión más detallada del segundo conjunto de comandos en la respuesta del usuario a bsdcontinuación . Tienes que hacer su primer conjunto de comandos antes de los anteriores.

LVM ofrece ciertas ventajas a un costo complejo. Por ejemplo, luego puede "hacer crecer" un grupo de volúmenes LVM agregándole más volúmenes físicos, haciendo así espacio para hacer crecer el volumen lógico ("partición", que le permite hacer crecer el sistema de archivos que vive en la lógica volumen. (¿Ves lo que quiero decir sobre complejidad? :))

Warren Young
fuente
44
La parte de ZFS es discutible. El puerto Linux ha recorrido un largo camino desde 2010 y en comparación con XFS tiene muchas ventajas
TheLQ
Con respecto a GPT / MBR, ¿eso no se aplica realmente si /bootes parte de /? El MBR no debería importarle qué tan grande /es si solo tiene que montar un pequeño /boot¿verdad? Podría estar equivocado.
jonescb
1
@jonescb: la ubicación de /bootno tiene ninguna relación con las limitaciones de MBR. Si necesita una partición de más de 2 TB, no puede usar la partición MBR. Que es cierto, sin embargo, que es posible evitar la falta de apoyo del BIOS para arrancar desde GPT poniendo /booten un disco MBR-particiones más pequeñas. Una vez que el kernel está activo, no tiene que preocuparse por las limitaciones del BIOS porque sabe cómo interpretar la tabla de particiones GPT. Si su máquina está basada en EFI, no necesita hacer este baile, porque EFI entiende GPT.
Warren Young
16

Solo como una alternativa a las otras sugerencias.
No tiene que particionar un disco en absoluto.
Simplemente puede crear un grupo de volúmenes , con uno o más volúmenes lógicos .

pvcreate /dev/sdb
vgcreate data /dev/sdb
lvcreate --name dump -L '100%VG' data

Ahora tiene un volumen lógico que puede formatear con cualquier tipo de sistema de archivos que desee.

mkfs.XXXX /dev/mapper/data-dump #<- XXXX can be ext4, xfs, btrfs, reiser
mount /dev/mapper/data-dump /mntpt
bsd
fuente
LVM es básicamente una forma avanzada de particionamiento. No tiene sentido usar LVM si solo va a crear un solo LV usando todo el espacio, por lo que también puede simplemente mkfs directamente en todo el dispositivo de disco.
psusi
44
no hay herramientas de LV para instantáneas de datos en vivo, copias redimensionables, múltiples copias de metadatos; mucho más flexible que un simple fs en un dispositivo.
bsd
1
No necesita múltiples copias de metadatos cuando no tiene metadatos (tabla de particiones) en primer lugar. Las instantáneas requieren espacio libre, al igual que agregar / expandir volúmenes, por lo tanto, se vuelve inútil si solo crea un único volumen lógico utilizando todo el espacio desde el principio. Si desea las características de LVM, entonces debe comenzar con un volumen más pequeño para tener más espacio libre para usar más tarde.
psusi
No estaba recomendando LVM en el caso de este individuo, simplemente enumerándolo como una alternativa a "otras" respuestas / soluciones de particionamiento y no particionamiento. Depende de ella leer todas las respuestas, seguir con su propia investigación y luego decidir qué curso de acción se adapta mejor a sus necesidades.
bsd
3
Una ventaja de LVM incluso si solo tiene un LV es que le permite agregar almacenamiento fácilmente más adelante.
plugwash
6

Pregunta a la pregunta: Usted preguntó ' cómo particionar el disco de 22TB' y luego en la pregunta nuevamente, dijo que solo quería una partición de 22TB. Así que esto es ambiguos en primer lugar.

Si ya tiene un dispositivo de bloque único que puede soportar 22 TB de espacio, entonces ya posee una partición completa de 22 TB. Todo lo que necesita es un sistema de archivos encima, que hará que el dispositivo sea montable y utilizable para lectura / escritura por procesos del sistema. Más aún, debe tener un kernel de Linux ejecutándose en modo de 64 bits con un módulo / controlador de sistema de archivos que admita y se amplíe a 22 TB de crecimiento de datos, puede manejar los entresijos de la administración de datos en el dispositivo de bloque (único) con facilitar. El rendimiento es otra dimensión más. En tal caso, optaría por elegir XFScomo mi sistema de archivos, por la razón de que es un sistema de archivos de 64 bits y capaz de manejar sistemas de archivos de hasta un millón de terabytes. Es compatible con hasta 9 EXABYTES.

2^63  = 9 x 1018 = 9 exabytes 

Para más detalles sobre XFS: http://oss.sgi.com/projects/xfs/

Si está buscando particionar aún más el enorme dispositivo de bloque de 22 TB, utilícelo gpartedpara dividir el dispositivo en particiones utilizables y luego formateelas con los sistemas de archivos para que puedan montarse.

Parece que tienes un controlador RAID de hardware, ya que mencionas que tienes un controlador RAID DELL perc, lo que significa que tienes que decir qué configuración RAID (¿exactamente qué nivel RAID estás usando?) Y en la mayoría de los casos, no vas a obtener 22 TB completos de espacio para usar, aunque podría estar equivocado.

Nikhil Mulley
fuente
Iba a sugerir xfs también, pero xfs_check requerirá una gran cantidad de memoria y mucho tiempo para ejecutar w / 22G fs. Entre un intercambio físico y necesitaría al menos 32G para comprobar, es decir, si alguna vez se preocupa de revisar el sistema de ficheros en un 'DataDump' (sea lo que sea;)
BSD
@bdowning, es posible que desee corregirlo a 22T fs :)
Nikhil Mulley
Son 22TB Raid 5. Tengo muchos discos :)
LVLAaron
Eso fue un error tipográfico (pedo cerebral). Tengo el mismo dispositivo, 10 TB, con LSI Megaraid (misma tarjeta que Dell Perc)
bsd
@bdowning: de xfs_checkhecho usa mucha memoria, pero la página del manual (8) menciona: " Tenga en cuenta que xfs_checkNO se recomienda usar. Utilice en su xfs_repair -nlugar, para una mejor escalabilidad y velocidad ".
Cristian Ciupitu
4

No debería necesitar ninguna partición al usar ZFS, solo cree un grupo de ZFS en su dispositivo de 22 TB y un sistema de archivos si no desea usar el predeterminado y listo. Si por alguna razón, zpool no admite el uso de todo el disco, primero cree una etiqueta EFI y una partición usando todo el espacio disponible en el interior y luego use esa partición para crear el grupo.

Por varias razones, no recomendaría usar nada más que ZFS para un sistema de archivos tan grande. Lo más obvio es que si tiene un apagado brutal (p. Ej., Pánico del kernel o escasez de energía), fsck puede tomar un tiempo doloroso para recuperar los sistemas de archivos tradicionales. ZFS, por otro lado, no necesita fsck, por lo que importará el grupo al instante.

Tenga en cuenta que será mejor que rompa la configuración de RAID de hardware y use los doce dispositivos como JBOD para construir un grupo de ZFS aprovechando las capacidades de RAID de su software. Si su objetivo es el rendimiento, puede duplicar pares de discos y si su objetivo es maximizar el espacio, puede usar una configuración RAIDZ, RAIDZ2 o RAIDZ3. Hacerlo mejorará en gran medida la confiabilidad de sus datos y la tolerancia a fallas de la solución.

jlliagre
fuente
1
Sé que esta es una respuesta anterior a una pregunta anterior, pero ... si usa ZFS, la mejor opción es destruir la matriz RAID, configurar el controlador RAID para JBOD para que Linux vea cada disco individual y luego crear pares duplicados (menos capacidad, gran rendimiento) o RAIDZ / Z2 / Z3 (más capacidad, rendimiento mediocre) de los discos individuales. Pierde gran parte del beneficio de ZFS si lo superpone sobre RAID existente en lugar de dejar que maneje los discos en sí. Lo mismo se aplica a btrfs.
cas
@cas Tienes toda la razón, respuesta actualizada. Me enfoqué en la pregunta OP, aunque "cómo particionar un disco de 22TB" y no "qué recomendaría hacer con la configuración de mi disco".
jlliagre
3

No estoy seguro de que esto sea posible actualmente usando la tabla de partición estándar. En el esquema de tabla de partición estándar, los volúmenes están limitados a 2 32 sectores. Con 512 bytes por sector, simplemente agotaría los números para asignar a sectores de alrededor de 2 TB.

Sin embargo, debería poder hacer esto si usa una tabla de particiones GUID en lugar de una estándar. Las tablas de partición GUID permiten que los volúmenes se extiendan al rango de zettabytes. La mayoría de las distribuciones de Linux son arrancables desde un volumen GUID, sin embargo, actualmente no hay una versión de Windows (excepto Windows 7 en EFI).

Algunas herramientas como fdisk no pueden funcionar con volúmenes GUID, sin embargo, otras herramientas como GParted sí. Una vez que cree su tabla de particiones GUID, debería poder crear un volumen utilizando uno de los varios sistemas de archivos comunes que admiten un volumen de ese tamaño (por ejemplo, EXT4).

Andrew Lambert
fuente
En un sistema de 32 bits puede ser. He podido crear una partición de 3.5TB en un servidor Ubuntu de 64 bits compatible con la versión 8.04 y superior. Hablando de cyberciti.biz/tips/…
Karlson
Que yo sepa, es posible que ni siquiera necesite una tabla de particiones para colocar un sistema de archivos en un disco duro. Además, según el OP, no es una unidad de arranque, solo un gran espacio de volcado.
Karlson
3

Para su tabla de particiones, como se mencionó en otra parte, GPT es una excelente opción, ya que admite particiones de hasta 9,4 ZiB de tamaño (9,4 × 10 21 bytes), que está mucho más allá de lo que necesitarías con 22 TiB.

Para su sistema de archivos, en Linux BTRFS es un excelente sistema de archivos de copia en escritura:

  1. Su atributo de copia en escritura significa que no se almacena el archivo duplicado dos veces.
  2. Cuenta con compresión sobre la marcha para que sus datos se ejecuten a través de LZO o GZip antes de ser escritos y leídos desde el disco, ahorrando espacio físico en el disco.
  3. Admite redundancia en configuraciones RAID-1, RAID-10, RAID-5 y RAID-6 sin ninguna sobrecarga.
  4. También es compatible con RAID-0, si la velocidad es esencial.
  5. También presenta subvolúmenes, instantáneas y más.
  6. Casi todas las tareas del sistema de archivos se realizan en línea , por lo que generalmente no tendrá que desmontar el sistema de archivos para arreglar las cosas.

Es similar a ZFS en características, pero es parte del núcleo principal de Linux.

Naftuli Kay
fuente
Las preguntas frecuentes de BTRFS advierten contra el uso de su función RAID de paridad, excepto para fines de prueba y desarrollo. Tiene errores conocidos que pueden afectar su sistema de archivos. Más información en el enlace.
Warren Young
1

Si no está buscando la redundancia o la capacidad de hacer una copia de seguridad, probablemente pueda hacer lo siguiente:

mkfs -t ext4 /dev/sdb
Karlson
fuente
44
¿Lo has probado? Cambié el mkfspara especificar el sistema de archivos
Karlson
1
@AaronJAnderson una explicación ayudaría.
n0pe
Ese comando no funcionará si el dispositivo tiene más de 2 TB
LVLAaron
1
@AaronJAnderson He creado un volumen de 3.5TB usando reiserfsy, ext3por lo tanto, si las ext4afirmaciones tienen un tamaño máximo del volumen de 16 exabytes, no veo ninguna razón para que 22TB no funcione.
Karlson
1
la versión de e2fsutils que se envía con esta versión de Linux (y la mayoría de las otras en este momento no son compatibles con más de 16 TB)
LVLAaron