Paper IV – Multi-Language Library Development
3.3 Type Extension
Con este comando solo podremos crear particiones de máximo 2TB, lo cual se supondría que seria mas que suficiente si vamos a crear RAID+LVM, y aun son pocos los discos que
superen esta capacidad, para particiones con mayor capacidad se recomienda usar gparted.
Como se menciono en el enunciado anterior, fdisk es un comando completo para la administración de particiones. Para obtener mas información escribir man fdisk. La estructura del comando es:
fdisk /dev/dispositivo
Al ingresar allí nos indicara que deseamos hacer, para tener mas claro las diferentes opciones solo oprimimos la tecla m para obtener las distintas opciones de fdisk. (Eliminar, listar, crear, etc)
root@sugeek:~# fdisk /dev/sda
El dispositivo presenta un tamaño de sector lógico que es menor
que el tamaño de sector físico. Alinear a un límite de tamaño de sector físico (o E/S óptima) es recomendable o se resentirá el rendimiento. Orden (m para obtener ayuda): m
Orden Acción
a Conmuta el indicador de iniciable b Modifica la etiqueta de disco bsd
c Conmuta el indicador de compatibilidad con DOS d Suprime una partición
l Lista los tipos de particiones conocidos m Imprime este menú
n Añade una nueva partición
o Crea una nueva tabla de particiones DOS vacía p Imprime la tabla de particiones
q Sale sin guardar los cambios
s Crea una nueva etiqueta de disco Sun
t Cambia el identificador de sistema de una partición u Cambia las unidades de visualización/entrada
v Verifica la tabla de particiones w Escribe la tabla en el disco y sale
x Funciones adicionales (sólo para usuarios avanzados)
Como podemos observar las diferentes opciones de dicho comando me permitirá preparar un disco para diferentes ambientes de producción como lo son RAIDS, LVM, etc. Vamos a crear una partición sobre el disco /dev/sdb, se recomienda hacer esto en discos desmontados y no activos, ya que puede llevar a perdida de datos.
root@sugeek:~# fdisk -l | grep sd
El disco /dev/sdb no contiene una tabla de particiones válida El disco /dev/sdc no contiene una tabla de particiones válida Disco /dev/sda: 8589 MB, 8589934592 bytes
Disco /dev/sdb: 8589 MB, 8589934592 bytes Disco /dev/sdc: 8589 MB, 8589934592 bytes
Vemos que el disco es un disco de 8GB, procedemos a seleccionarlo: root@sugeek:~# fdisk /dev/sdb
El dispositivo no contiene una tabla de particiones DOS válida ni una etiqueta de disco Sun o SGI o OSF
Building a new DOS disklabel with disk identifier 0x6dfdc02e.
Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable.
Atención: el indicador 0x0000 inválido de la tabla de particiones 4 se corregirá m9.2. Procedimientos. ediante w(rite)
Luego de haber seleccionado el disco a particionar procedemos a crear las particiones
que necesitemos, con la opción l podemos observar los tipos de sistemas de archivos
soportados.
Después de conocer los tipos de sistemas de archivos soportados, procederemos a crear la partición tipo Linux.
Con indicando la opción n crearemos una nueva partición, solicitara que tipo de partición
deseamos crear si primaria o lógica, oprimimos p para primaria (Recordemos que en un
disco solo se pueden crear 4 particiones primarias y lógicas las que queramos). Después de ello me solicitara el numero de la partición, indicamos que 1 y por ultimo el tamaño que le deseo dar, puede ser tipo sectores o tamaño directo indicando si va a ser en Kylobytes (K), MegaBytes (M) o Gigabytes (G), pero lo dejaremos tal cual para usar todo el disco.
Orden (m para obtener ayuda): n Partition type:
p primary (0 primary, 0 extended, 4 free) e extended
Select (default p): p
Número de partición (1-4, valor predeterminado 1): 1 Primer sector (2048-16777215, valor predeterminado 2048): Se está utilizando el valor predeterminado 2048
Last sector, +sectores or +size{K,M,G} (2048-16777215, valor predeterminado 16777215):
Se está utilizando el valor predeterminado 16777215
Ya tenemos creada nuestra partición, ahora falta indicar el tipo de archivo que soportara, para ello damos la opción t para indicarle el tipo de sistema de archivos que le configuraremos (De forma predeterminada las particiones se crean soportando el sistema de archivos ext.) selecionamos la partición que se va a cambiar el tipo de sistema de archivos y luego con L vemos los distintos sistemas de archivos soportados, validamos el que queremos, en este momento nos interesa el tipo Linux asi que escribimos 83. Con la
opción p imprimiremos las particiones que hemos creado en memoria pero que aun no se han escrito en el disco.
Orden (m para obtener ayuda): t Se ha seleccionado la partición 1
Código hexadecimal (escriba L para ver los códigos): 83 Orden (m para obtener ayuda): p
Disco /dev/sdb: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders, 16777216 sectores en total Units = sectores of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Identificador del disco: 0x254b8c68
Disposit. Inicio Comienzo Fin Bloques Id Sistema /dev/sdb1 2048 16777215 8387584 83 Linux
Como vemos ya el disco sdb tiene una partición creada en memoria mas no en disco (/dev/sdb1), ahora falta escribir dichos cambios en el disco para que tomen efecto, para que estos cambios se escriban damos la opción w la cual indica Write sobre el disco. Orden (m para obtener ayuda): w
¡Se ha modificado la tabla de particiones!
Llamando a ioctl() para volver a leer la tabla de particiones. Se están sincronizando los discos.
Después de haber particionado nuestro disco lo podemos observar con el comando fdisk
-l | grep sdb el cual me mostrara la información de dicho disco y sus particiones. root@sugeek:~# fdisk -l | grep sdb
El disco /dev/sdc no contiene una tabla de particiones válida Disco /dev/sdb: 8589 MB, 8589934592 bytes
/dev/sdb1 2048 16777215 8387584 83 Linux
Ya tenemos nuestro disco preparado para ser formateado, y montado sobre un directorio.
Ya para eliminar una partición seleccionamos el disco, y luego indicamos la opción d
seleccionamos la partición a borrar y por ultimo escribimos los cambios con la opción w.
Recordemos que el dispositivo debe de estar desmontado para poder eliminar las particiones.
Si sobre el disco que estamos trabajando ya cuenta con particiones, y no es posible desmontarlo, pero aun asi TIENE bloques disponibles para crear una nueva partición, y dicha partición después de crearla no se muestra en el sistema, se usa el comando partprobe /dev/sdx (la x indica la letra del disco), esto con el fin de que se sincronice