Recientemente decidí adquirir para casa varios discos duros y una controladora raid por hardware con objetivo de poder almacenar de forma segura y duradera las copias de mis sistemas. Era la primera vez que montaba un entorno donde una sola partición ocupara un tamaño mayor de 2 TeraBytes (1 TB = 1024 GB) sin emplear LVM o MDADM. Cual fue mi sorpresa al comprobar que me era imposible crear una partición más grande de 2TB; me recordaba a los tiempos donde no se podían crear particiones de más de 4GB. Qué lejos queda, ¿verdad?

Buscando un poco de información, en especial en NixCraft y el aporte de mi compañero Raúl Rodriguez, descubrí que el origen de todos los problemas era el tipo de tabla de partición que empleaba (MS-DOS o MBR tradicional), ya que ésta no soporta más de 2 TB limitada por los 512 byte del tamaño del bloque. Para soportar particiones mayores se requiere emplear GUID Partition Table (GPT en adelante) que emplea adicionalmente el final el sector del disco para soportar particiones de mayor tamaño. Pero tengan cuidado, para complicar más las cosas GPT sólo funciona con BIOS que soporten EFI (Extensible Firmware Interface) como los Apple, y no en BIOS clásicas, por lo que si emplean discos de más de 2 TB únicamente podrán emplearlos como almacenamiento y no como arranque.

Veamos a continuación un ejemplo de cómo se migra de la tabla de partición MS-DOS a una tabla GPT en entornos Linux. Para ellos usaremos mi máquina nombrada con anterioridad, la cual dispone de un dispositivo físico (/dev/sdb) de 4.4 TB, resultado de un Raid5 por hardware de 4 discos duros de 1.5 TB:

# parted /dev/sdb
GNU Parted 1.9.0
Usando /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print all
Model: Adaptec RAID (scsi)
Disk /dev/sdb: 4494GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Podemos observar que se nos informa que la “Partition Table” es de tipo msdos, y por tanto no soportará discos de más de 2 TB. Veamos qué ocurre cuando intentamos crear una partición de más de 2 TB en una tabla de particiones tipo MS-DOS:

(parted) mkpart primary 0 4494GB
Error: partition length of 8776550412 sectors exceeds the
msdos-partition-table-imposed maximum of 4294967295

Como vemos, no nos deja crear particiones de más de 2 TB. Para poder usarlo debemos cambiar el tipo de tabla de partición a GPT:

(parted) mklabel gpt
Aviso: The existing disk label on /dev/sdb will be destroyed and
all data on this disk will be lost. Do you want to continue?
Sí/Yes/No? YES
(parted) mkpart primary 0 4494GB
(parted) print /dev/sdb
Model: Adaptec RAID (scsi)
Disk /dev/sdb: 4494GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Numero Inicio Fin Tamaño Sistema de ficheros Nombre Banderas
1 17,4kB 4494GB 4494GB primary

Al cambiar a tipo GPT ya nos permite crear particiones de más de 2TB y en nuestro caso una partición de 4494 GB. El siguiente paso será formatear la partición, donde nos encontraremos de nuevo con varias limitaciones. En entornos de 32 bits el sistema de fichero ext3 solo tiene soporte hasta 4 TB, en cambio para entornos de 64 bits como son X86_64 o entornos de 32 bits con el LFS habilitado en el núcleo el límite es de 32TB. Reiserfs tiene un máximo en ambos casos de 16 TB.

Para el ejemplo usaremos ext3, tarda un “poquitín”:

# mkfs.ext3 /dev/sdb1
mke2fs 1.41.9 (22-Aug-2009)
ext2fs_check_if_mount: Can't check if filesystem is mounted due to
missing mtab file mientras se determinaba si /dev/sdb1 está montado.
Etiqueta del sistema de ficheros=
Tipo de SO: Linux
Tamaño del bloque=4096 (bitácora=2)
Tamaño del fragmento=4096 (bitácora=2)
274268160 nodos-i, 1097070071 bloques
54853503 bloques (5.00%) reservados para el superusuario
Primer bloque de datos=0
Número máximo de bloques del sistema de ficheros=4294967296
33480 bloque de grupos
32768 bloques por grupo, 32768 fragmentos por grupo
8192 nodos-i por grupo
Respaldo del superbloque guardado en los bloques:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848, 512000000, 550731776, 644972544
Escribiendo las tablas de nodos-i: 557/33480

Con esto tendríamos listo nuestro disco de 4 TB. Para finalizar la entrada, indicarles que el tamaño máximo soportado por GUID Partition Table es de 256 TB, lo que probablemente les parezca mucho. Claro que rambién lo eran en su día 4GB o 2 TB…

 

Via: Security Art Work

Por admin

Deja una respuesta

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

Powered By
Best Wordpress Adblock Detecting Plugin | CHP Adblock