miércoles, 15 de mayo de 2013

Trabajando con discos (IV)

Hola,

 siguiendo el ultimo articulo Trabajando con discos (III) vamos ha ampliar el grupo de volúmenes y el filesystem final. Agregaremos un nuevo volumen físico de 300Mb y lo agregaremos al ya existente. La ampliación final del filesystem lo realizaremos en caliente.

Crearemos la nueva partición LVM:


[root@gamma ~]# fdisk /dev/sda

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): p

Disk /dev/sda: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x08e3a6bd

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1          50      401593+  82  Linux swap / Solaris
/dev/sda2              51          76      208845   8e  Linux LVM

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 3
First cylinder (77-130, default 77): p
First cylinder (77-130, default 77):
Using default value 77
Last cylinder, +cylinders or +size{K,M,G} (77-130, default 130): +300M

Command (m for help): p

Disk /dev/sda: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x08e3a6bd

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1          50      401593+  82  Linux swap / Solaris
/dev/sda2              51          76      208845   8e  Linux LVM
/dev/sda3              77         115       313267+ 83  Linux LVM

Command (m for help): t
Partition number (1-4): 3
Hex code (type L to list codes): 8e
Changed system type of partition 3 to 8e (Linux LVM)

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.

[root@gamma ~]# partx
La creamos como nuevo volumen físico:

[root@gamma ~]# pvcreate /dev/sda3
  Writing physical volume data to disk "/dev/sda3"
  Physical volume "/dev/sda3" successfully created

Agregamos la el nuevo volumen físico al grupo de volúmenes:




[root@gamma ~]# vgextend vg1 /dev/sda3
  Volume group "vg1" successfully extended
 Ahora que el vg tiene 200Mb más podemos ampliar el volumen ya existente:



[root@gamma ~]# lvextend -L500MB /dev/mapper/vg1-lv1
  Extending logical volume lv1 to 500.00 MiB
  Logical volume lv1 successfully resized
 Vemos el tamaño previo del volumen que está actualmente montado en el filesystem /dir1

[root@gamma ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/vda2             7.7G  2.1G  5.3G  28% /
tmpfs                 372M  112K  372M   1% /dev/shm
/dev/vda1             485M   33M  428M   7% /boot
/dev/vda3             985M   80M  856M   9% /home
/dev/mapper/vg1-lv1   194M  5.6M  179M   4% /dir1

Con el comando rezise2fs ampliamos el volumen en caliente:


[root@gamma ~]# resize2fs /dev/mapper/vg1-lv1
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/mapper/vg1-lv1 is mounted on /dir1; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 2
Performing an on-line resize of /dev/mapper/vg1-lv1 to 512000 (1k) blocks.
The filesystem on /dev/mapper/vg1-lv1 is now 512000 blocks long.



Comprobamos que la ampliación se ha llevado a cabo:

[root@gamma ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/vda2             7.7G  2.1G  5.3G  28% /
tmpfs                 372M  112K  372M   1% /dev/shm
/dev/vda1             485M   33M  428M   7% /boot
/dev/vda3             985M   80M  856M   9% /home
/dev/mapper/vg1-lv1   485M  6.3M  453M   2% /dir1

La ampliación en caliente es una de las principales ventajas de LVM, gracias a su gran flexibilidad, es posible planificar migraciones de datos entre diferentes cabinas de discos, en caliente, sin paradas ni perdidas de servicio.

También cabe destacar que durante el formateo de discos se pierde una parte de la capacidad. Al crearse un partición LVM también se parte otra parte de capacidad en la gestión de LVM. En este caso practico de un volumen neto de 500Mb quedan 485Mb tras agregar LVM y formatear. Hemos perdido un 3% de la capacidad. No es mucho en nuestro entorno, pero en un entorno con Teras de información sería algo a tener en cuenta.

En el siguiente post veremos como encriptar un volumen.

... (Continuará)

martes, 14 de mayo de 2013

Sacacorchos

Hola,

 seguro que muchos de vosotros habéis tenido la necesidad de conectaros desde el trabajo a vuestros sistemas domésticos  ¿Quien no tiene un pequeño servidor en casa para realizar pruebas? Hace poco he descubierto gracias al compañero Matias de una herramienta llamada Sacacorchos. Me ha sorprendido por su fácil configuración.

El nombre real de la aplicación es "Corkscrew" nos permitirá realizar un tunnel SSH a través del proxy. Para su utilización, como siempre podemos bajar el código y compilarlo o instalar el paquete de tu distribución de Linux favorita. La información completa de la podéis encontrar en el README. En Ubuntu sería por ejemplo:


root@myhost:~# apt-get install corkscrew
Reading package lists... Done
Building dependency tree      
Reading state information... Done
The following package was automatically installed and is no longer required:
  libdate-manip-perl
Use 'apt-get autoremove' to remove them.
The following NEW packages will be installed:
  corkscrew
0 upgraded, 1 newly installed, 0 to remove and 4 not upgraded.
Need to get 0 B/11.8 kB of archives.
After this operation, 77.8 kB of additional disk space will be used.
Selecting previously unselected package corkscrew.
(Reading database ... 305468 files and directories currently installed.)
Unpacking corkscrew (from .../corkscrew_2.0-7_amd64.deb) ...
Processing triggers for man-db ...
Setting up corkscrew (2.0-7) ...
Comprobamos que el binario ha sido instalado y está en el PATH:

root@myhost:~# which corkscrew
/usr/bin/corkscrew
En la configuración de SSH, hemos de añadir una entrada por cada host que queramos enviar a través de un túnel por el proxy.

root@myhost:~/.ssh# cat config
Host micasa.com
Hostname micasa.com
ProxyCommand corkscrew myproxy 3128 %h %p
Tan sencillo como esto. A la hora de realizar la conexión ssh con el host de destino hemos de indicar el puerto por el que establecer la comunicación. Por norma general podemos usar el 443 que el proxy no lo tiene cerrado.

root@myhost:~/.ssh# ssh micasa.com -p 443
root@micasa.com's password: 
Saludos,




jueves, 9 de mayo de 2013

Trabajando con discos (II)


 Vamos a ver como añadir/ampliar nuestra memoria swap en 400MB. El swap en un tipo de memoria de intercambio que se almacena en disco. Primero crearemos la partición en /dev/sda de 400MB y del tipo 82 Linux Swap.

[root@gamma ~]# fdisk /dev/sda
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x08e3a6bd.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): p

Disk /dev/sda: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x08e3a6bd

   Device Boot      Start         End      Blocks   Id  System

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-130, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-130, default 130): +400MB

Command (m for help): p

Disk /dev/sda: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x08e3a6bd

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1          50      401593+  83  Linux

Command (m for help): t
Selected partition 1
Hex code (type L to list codes): L

 0  Empty           24  NEC DOS         81  Minix / old Lin bf  Solaris       
 1  FAT12           39  Plan 9          82  Linux swap / So c1  DRDOS/sec (FAT-
 2  XENIX root      3c  PartitionMagic  83  Linux           c4  DRDOS/sec (FAT-
 3  XENIX usr       40  Venix 80286     84  OS/2 hidden C:  c6  DRDOS/sec (FAT-
 4  FAT16 <32M      41  PPC PReP Boot   85  Linux extended  c7  Syrinx        
 5  Extended        42  SFS             86  NTFS volume set da  Non-FS data   
 6  FAT16           4d  QNX4.x          87  NTFS volume set db  CP/M / CTOS / .
 7  HPFS/NTFS       4e  QNX4.x 2nd part 88  Linux plaintext de  Dell Utility  
 8  AIX             4f  QNX4.x 3rd part 8e  Linux LVM       df  BootIt        
 9  AIX bootable    50  OnTrack DM      93  Amoeba          e1  DOS access    
 a  OS/2 Boot Manag 51  OnTrack DM6 Aux 94  Amoeba BBT      e3  DOS R/O       
 b  W95 FAT32       52  CP/M            9f  BSD/OS          e4  SpeedStor     
 c  W95 FAT32 (LBA) 53  OnTrack DM6 Aux a0  IBM Thinkpad hi eb  BeOS fs       
 e  W95 FAT16 (LBA) 54  OnTrackDM6      a5  FreeBSD         ee  GPT           
 f  W95 Ext'd (LBA) 55  EZ-Drive        a6  OpenBSD         ef  EFI (FAT-12/16/
10  OPUS            56  Golden Bow      a7  NeXTSTEP        f0  Linux/PA-RISC b
11  Hidden FAT12    5c  Priam Edisk     a8  Darwin UFS      f1  SpeedStor     
12  Compaq diagnost 61  SpeedStor       a9  NetBSD          f4  SpeedStor     
14  Hidden FAT16 <3 63  GNU HURD or Sys ab  Darwin boot     f2  DOS secondary 
16  Hidden FAT16    64  Novell Netware  af  HFS / HFS+      fb  VMware VMFS   
17  Hidden HPFS/NTF 65  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE
18  AST SmartSleep  70  DiskSecure Mult b8  BSDI swap       fd  Linux raid auto
1b  Hidden W95 FAT3 75  PC/IX           bb  Boot Wizard hid fe  LANstep       
1c  Hidden W95 FAT3 80  Old Minix       be  Solaris boot    ff  BBT           
1e  Hidden W95 FAT1
Hex code (type L to list codes): 82
Changed system type of partition 1 to 82 (Linux swap / Solaris)

Command (m for help): p

Disk /dev/sda: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x08e3a6bd

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1          50      401593+  82  Linux swap / Solaris

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

Haremos que el kernel refresque el estado de los discos:

 [root@gamma ~]#partx

Formateamos la partición de swap:


[root@gamma ~]# mkswap /dev/sda1
Setting up swapspace version 1, size = 401588 KiB
no label, UUID=a74e9042-da78-4d6b-afcb-91a71d92c78e





Activamos la partición de swap:

[root@gamma ~]# swapon /dev/sda1



Comprobamos que ahora tenemos +400M más de swap:

[root@gamma ~]# free -l
             total       used       free     shared    buffers     cached
Mem:        760752     471884     288868          0      21724     203588
Low:        760752     471884     288868
High:            0          0          0
-/+ buffers/cache:     246572     514180
Swap:      1425576          0    1425576

Añadir la entrada de /etc/fstab para activar la partición de swap en el arranque.

UUID=a74e9042-da78-4d6b-afcb-91a71d92c78e swap                    swap    defaults        0 0

...(Continuará)


miércoles, 8 de mayo de 2013

Trabajando con disco (III)

Vamos a ver como trabajar con LVM (Logical Volume Manager).

Un documento fundamental para entender su funcionamiento y de consulta habitual es el siguiente HOWTO. Hace tiempo que no se actualiza pero los ejemplos prácticos son los mismos. El documento desaconsejan LVM para la partición de root, pero hoy en día prácticamente cualquier sistema usa LVM para root. El principal problema que existía antes era la recuperación de un sistema con root encapsulado, hoy cualquier disco de rescate, puede importar y montar este tipo de volúmenes, recuperándose el sistema sin problemas.

El funcionamiento es el siguiente; los disco o particiones física se agregan a grupos de volúmenes, en estos grupos de volúmenes, se crean volúmenes donde ya se pueden crear particiones lógica y se pueden formatear y montar como filesystems.

En este esquema se ve más claro.

Las principales ventajas que se observan comparándolo con el modelo clásico es que con unos cuantos comandos puedes retirar un disco físico del grupo de discos y sustituirlo por otro. Otra gran ventaja es la ampliación de FS en caliente. También existe la posibilidad de clonar Volumenes o hacer Snapshots de los mismos.

Para el uso de LVM no es necesario instalar nuevos módulos desde hace tiempo esta soportado por el kernel básico de Linux.

Vamos ha hacer un par de ejemplos.  Primero de todo crearemos una partición en /dev/sda de 200M y del tipo LVM (8e), lo haremos con nuestro amigo fdisk.

[root@gamma ~]# fdisk /dev/sda

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): p

Disk /dev/sda: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x08e3a6bd

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1          50      401593+  82  Linux swap / Solaris

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (51-130, default 51):
Using default value 51
Last cylinder, +cylinders or +size{K,M,G} (51-130, default 130): +200M

Command (m for help): p

Disk /dev/sda: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x08e3a6bd

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1          50      401593+  82  Linux swap / Solaris
/dev/sda2              51          76      208845   83  Linux

Command (m for help): t
Partition number (1-4): 2
Hex code (type L to list codes): L

 0  Empty           24  NEC DOS         81  Minix / old Lin bf  Solaris       
 1  FAT12           39  Plan 9          82  Linux swap / So c1  DRDOS/sec (FAT-
 2  XENIX root      3c  PartitionMagic  83  Linux           c4  DRDOS/sec (FAT-
 3  XENIX usr       40  Venix 80286     84  OS/2 hidden C:  c6  DRDOS/sec (FAT-
 4  FAT16 <32M      41  PPC PReP Boot   85  Linux extended  c7  Syrinx        
 5  Extended        42  SFS             86  NTFS volume set da  Non-FS data   
 6  FAT16           4d  QNX4.x          87  NTFS volume set db  CP/M / CTOS / .
 7  HPFS/NTFS       4e  QNX4.x 2nd part 88  Linux plaintext de  Dell Utility  
 8  AIX             4f  QNX4.x 3rd part 8e  Linux LVM       df  BootIt        
 9  AIX bootable    50  OnTrack DM      93  Amoeba          e1  DOS access    
 a  OS/2 Boot Manag 51  OnTrack DM6 Aux 94  Amoeba BBT      e3  DOS R/O       
 b  W95 FAT32       52  CP/M            9f  BSD/OS          e4  SpeedStor     
 c  W95 FAT32 (LBA) 53  OnTrack DM6 Aux a0  IBM Thinkpad hi eb  BeOS fs       
 e  W95 FAT16 (LBA) 54  OnTrackDM6      a5  FreeBSD         ee  GPT           
 f  W95 Ext'd (LBA) 55  EZ-Drive        a6  OpenBSD         ef  EFI (FAT-12/16/
10  OPUS            56  Golden Bow      a7  NeXTSTEP        f0  Linux/PA-RISC b
11  Hidden FAT12    5c  Priam Edisk     a8  Darwin UFS      f1  SpeedStor     
12  Compaq diagnost 61  SpeedStor       a9  NetBSD          f4  SpeedStor     
14  Hidden FAT16 <3 63  GNU HURD or Sys ab  Darwin boot     f2  DOS secondary 
16  Hidden FAT16    64  Novell Netware  af  HFS / HFS+      fb  VMware VMFS   
17  Hidden HPFS/NTF 65  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE
18  AST SmartSleep  70  DiskSecure Mult b8  BSDI swap       fd  Linux raid auto
1b  Hidden W95 FAT3 75  PC/IX           bb  Boot Wizard hid fe  LANstep       
1c  Hidden W95 FAT3 80  Old Minix       be  Solaris boot    ff  BBT           
1e  Hidden W95 FAT1
Hex code (type L to list codes): 8e
Changed system type of partition 2 to 8e (Linux LVM)

Command (m for help): p

Disk /dev/sda: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x08e3a6bd

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1          50      401593+  82  Linux swap / Solaris
/dev/sda2              51          76      208845   8e  Linux LVM

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
Se queja de que no ha podido actualizar la tabla de particiones, pues lo hacemos con partx.

[root@gamma ~]# partx /dev/sda

Ahora tenemos que hacer que /dev/sda sea un volumen físico, tan fácil como:

[root@gamma ~]# pvcreate /dev/sda2Writing physical volume data to disk "/dev/sda2"
Physical volume "/dev/sda2" successfully created

Crearemos el grupo de volumenes (vg1) y añadires /dev/sda2 como volumen fisico:

[root@gamma ~]# vgcreate vg1 /dev/sda2
  Volume group "vg1" successfully created
Crearemos un volumen de 200M:

[root@gamma ~]# lvcreate -L 200MB -n lv1 vg1
Logical volume "lv1" created

Lo formateamos:

[root@gamma ~]# mkfs.ext4 /dev/mapper/vg1-lv1
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
51200 inodes, 204800 blocks
10240 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67371008
25 block groups
8192 blocks per group, 8192 fragments per group
2048 inodes per group
Superblock backups stored on blocks:
        8193, 24577, 40961, 57345, 73729

Writing inode tables: done                           
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 34 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

Y lo montamos:

[root@gamma ~]# mkdir /dir1
[root@gamma ~]# mount /dev/mapper/vg1-lv1 /dir1
Para que se monte el fs por defecto en el arranque, añadiremos la respectiva entrada en /etc/fstab. Está vez en vez de poner el device y el punto de montaje lo haremos por UUID. El UUID es el identificador universal para los discos y se mantiene, incluso cambiandolo de sistema.

Identificamos el UUID de nuestro volumen.
[root@gamma ~]# blkid |grep lv1
/dev/mapper/vg1-lv1: UUID="87f364f0-b77d-49b8-9620-a13c20f729d0" TYPE="ext4"
 Añadimos la siguiente linea al /etc/fstab:
UUID=87f364f0-b77d-49b8-9620-a13c20f729d0 /dir1                   ext4    defaults        1 2


...(Continuará)






Trabajando con disco (I)

Hola,

 he pensado hacer un par o tres de entradas hablando de como trabajar con los disco desde linux. Instalación, particionado, formateo, volúmenes y discos encriptados. Empezaremos con una instalación y particionado clásica:

Cuando se nos asigna un disco ya sea fisico o virtual. Una vez que el kernel del sistema lo ha detectado lo veremos como un fichero más en el sistema, situado en /dev. Para poder ver los discos que tenemos y sus particiones una forma rápida es con fdisk -l.

[root@gamma ~]# fdisk -l

Disk /dev/sda: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x08e3a6bd

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1          50      401593+  83  Linux
/dev/sda2              51          76      208845   8e  Linux LVM
/dev/sda3              77         115      313267+  8e  Linux LVM

En este caso he agredado un disco virtual SCSI, sda --> scsi disk 'a' la letra indica el orden en la conexión al bus.  El número que sigue al nombre el la partición del mismo. Por ejemplo la primera partción del segundo disco de tipo IDE,sería: /dev/hdb2.

Aunque parezca un poco raro las particiones en disco linux en su mayoría aun usan el sistema DOS. Es decir 1-4 particiones primarias y 5-19 lógicas.

Una vez que tenemos localizado el disco se puede particionar con parted o fdisk. Yo prefiero hacerlo con fdisk. Crearemos una partición primaria de 400MB de tipo Linux. Se puede ver la lista de tipos de particiones, el tipo Linux es el 83.

[root@gamma ~]# fdisk /dev/sda
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x08e3a6bd.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): p

Disk /dev/sda: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x08e3a6bd

   Device Boot      Start         End      Blocks   Id  System

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-130, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-130, default 130): +400M
Command (m for help): p

Disk /dev/sda: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x08e3a6bd

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1          50      401593+  83  Linux

Command (m for help): t
Selected partition 1
Hex code (type L to list codes): L

 0  Empty           24  NEC DOS         81  Minix / old Lin bf  Solaris       
 1  FAT12           39  Plan 9          82  Linux swap / So c1  DRDOS/sec (FAT-
 2  XENIX root      3c  PartitionMagic  83  Linux           c4  DRDOS/sec (FAT-
 3  XENIX usr       40  Venix 80286     84  OS/2 hidden C:  c6  DRDOS/sec (FAT-
 4  FAT16 <32M      41  PPC PReP Boot   85  Linux extended  c7  Syrinx        
 5  Extended        42  SFS             86  NTFS volume set da  Non-FS data   
 6  FAT16           4d  QNX4.x          87  NTFS volume set db  CP/M / CTOS / .
 7  HPFS/NTFS       4e  QNX4.x 2nd part 88  Linux plaintext de  Dell Utility  
 8  AIX             4f  QNX4.x 3rd part 8e  Linux LVM       df  BootIt        
 9  AIX bootable    50  OnTrack DM      93  Amoeba          e1  DOS access    
 a  OS/2 Boot Manag 51  OnTrack DM6 Aux 94  Amoeba BBT      e3  DOS R/O       
 b  W95 FAT32       52  CP/M            9f  BSD/OS          e4  SpeedStor     
 c  W95 FAT32 (LBA) 53  OnTrack DM6 Aux a0  IBM Thinkpad hi eb  BeOS fs       
 e  W95 FAT16 (LBA) 54  OnTrackDM6      a5  FreeBSD         ee  GPT           
 f  W95 Ext'd (LBA) 55  EZ-Drive        a6  OpenBSD         ef  EFI (FAT-12/16/
10  OPUS            56  Golden Bow      a7  NeXTSTEP        f0  Linux/PA-RISC b
11  Hidden FAT12    5c  Priam Edisk     a8  Darwin UFS      f1  SpeedStor     
12  Compaq diagnost 61  SpeedStor       a9  NetBSD          f4  SpeedStor     
14  Hidden FAT16 <3 63  GNU HURD or Sys ab  Darwin boot     f2  DOS secondary 
16  Hidden FAT16    64  Novell Netware  af  HFS / HFS+      fb  VMware VMFS   
17  Hidden HPFS/NTF 65  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE
18  AST SmartSleep  70  DiskSecure Mult b8  BSDI swap       fd  Linux raid auto
1b  Hidden W95 FAT3 75  PC/IX           bb  Boot Wizard hid fe  LANstep       
1c  Hidden W95 FAT3 80  Old Minix       be  Solaris boot    ff  BBT           
1e  Hidden W95 FAT1
Hex code (type L to list codes): 83 Changed system type of partition 1 to 83 (Linux)

Command (m for help): p

Disk /dev/sda: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x08e3a6bd

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1          50      401593+  83  Linux

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

Guardaremos los cambios y saldremos. Es probable que el kernel no refresque los cambios y no veamos la nueva partición. Para refrescar estos cambios se usa el comando partx.

[root@gamma ~]# partx /dev/sda

En cuanto veamos la partición en /dev/ ya podemos formatearla con el tipo de filesystem que hayamos decidido. 

[root@gamma ~]# mkfs.ext3 /dev/sda1
mke2fs 1.41.12 (17-May-2010)
warning: 183 blocks unused.

Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
100744 inodes, 401409 blocks
20079 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67633152
49 block groups
8192 blocks per group, 8192 fragments per group
2056 inodes per group
Superblock backups stored on blocks:
        8193, 24577, 40961, 57345, 73729, 204801, 221185

Writing inode tables: done                           
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 28 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

El siguiente paso es montar el FS en el sistema de archivos para poder trabajar con él.

[root@gamma ~]# mount /dev/sda1 /dir2

Para que el filesystem se monte de forma automatica tendremos que añadir una entrada en el fichero /etc/fstab

/dev/sda1               /dir2           ext4    defaults        1 2

Para comprobar que la entrada en /etc/fstab es correcta montaremos el dispositivo por su nombre en el sistema de archivos. También se puede probar reiniciando el servidor pero el resultado será el mismo.

[root@gamma ~]# umount /dir2
[root@gamma ~]# mount /dir2

Perfecto. Podemos ver su capacidad y uso con el comando df.

[root@gamma ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             380M   11M  350M   3% /dir2


.... (Continuará)