Identificar discos duros en FreeBSD

Para identificar discos duros (o cualquier otra unidad de almacenamiento en FreeBSD) se pueden usar varios comandos y utilidades, pero comentaré solamente las dos que me parecen más útiles y prácticas.

Una de ellas es camcontrol, la cual ofrece información detallada sobre el puerto SCSI al que está conectada cada unidad (disco duro, CD-ROM, etc), el target al que pertenecen y el número de la unidad (LUN) dentro de ese target.

Otra es gpart, la cual muestra información de las particiones de cada unidad, incluyendo el tipo de cada partición y su tamaño. Además, gpart sirve para particionar las unidades, aunque no lo mencione en éste artículo.

Obtener información con camcontrol

En FreeBSD hay un subsistema llamado Common Access Method, abrebiado como CAM. Es un sistema modular que permite acceder a dispositivos SCSI y ATA y utilizarlos de forma sencilla a través de sus drivers correspondientes.

La utilidad camcontrol permite gestionar los dispositivos, y entre otras cosas, obtener una lista de los dispositivos disponibles. Para conseguir una lista de dispositivos se puede usar el comando camcontrol devlist que genera un resultado como éste:

root@freebsd-test-1:~ # camcontrol devlist
<QEMU HARDDISK 2.1.3>              at scbus0 target 0 lun 0 (pass0,ada0)
<QEMU QEMU DVD-ROM 2.1.>           at scbus1 target 0 lun 0 (cd0,pass1)

Para conseguir más información acerca de los dispositivos se puede incluir el argumento -v y además de la lista de dispositivos se mostrará el bus al que se encuentran conectados y sus detalles:

root@freebsd-test-1:~ # camcontrol devlist -v
scbus0 on ata0 bus 0:
<QEMU HARDDISK 2.1.3>              at scbus0 target 0 lun 0 (pass0,ada0)
<>                                 at scbus0 target -1 lun ffffffff ()
scbus1 on ata1 bus 0:
<QEMU QEMU DVD-ROM 2.1.>           at scbus1 target 0 lun 0 (cd0,pass1)
<>                                 at scbus1 target -1 lun ffffffff ()
scbus-1 on xpt0 bus 0:
<>                                 at scbus-1 target -1 lun ffffffff (xpt0)

En este resultado se muestra que el disco duro "QEMU HARDDISK 2.1.3" (es un disco duro virtual emulado por QEMU) está conecectado al bus scbus0, al target número 0 y su número LUN es 0. También se muestra ada0, que es el nombre que ha asignado FreeBSD en este caso a ese disco duro.

También se muestra que el DVD-ROM "QEMU QEMU DVD-ROM 2.1" (un DVD-ROM virtual emulado por QEMU) está conecectado al bus scbus1, al target número 0 y su número LUN es 0. En este caso la unidad se llama cd0.

Obtener información de particiones con gpart show

El programa gpart sirve para controlar el particionado de discos. El uso interesante en este caso es listar las particiones de FreeBSD, lo que se puede conseguir con el comando gpart show para obtener la lista de particiones de cada disco y el espacio libre:

root@freebsd-test-1:~ # gpart show
=>      34  20971453  ada0  GPT  (10G)
        34      1024     1  freebsd-boot  (512K)
      1058  19919872     2  freebsd-ufs  (9.5G)
  19920930   1048576     3  freebsd-swap  (512M)
  20969506      1981        - free -  (991K)

En este resultado se incluye información del único disco duro (ada0) del sistema, que tiene una capacidad de 10 GibaBytes. El disco está dividido en tres particiones, llamadas freebsd-boot, freebsd-ufs y freebsd-swap, y tiene 991K de espacio sin utilizar.

Identificar discos con geom disk list

Otra forma de encontrar discos en FreeBSD es utilizar el programa geom. El núcleo de FreeBSD tiene un subsistema llamado GEOM que se encarga de administrar el almacenamiento. Gracias al programa "geom" se puede conseguir información de los discos duros instalados.

El comando es geom disk list, lo que significa que geom busque la información de la clase disk (perteneciente a discos duros) y lo muestre en una lista:

root@freebsd-test-1:~ # geom disk list
Geom name: ada0
Providers:
1. Name: ada0
   Mediasize: 10737418240 (10G)
   Sectorsize: 512
   Mode: r2w2e3
   descr: QEMU HARDDISK
   ident: QM00001
   fwsectors: 63
   fwheads: 16

Geom name: ada1
Providers:
1. Name: ada1
   Mediasize: 5368709120 (5.0G)
   Sectorsize: 512
   Mode: r0w0e0
   descr: QEMU HARDDISK
   ident: QM00002
   fwsectors: 63
   fwheads: 16

Geom name: ada2
Providers:
1. Name: ada2
   Mediasize: 7516192768 (7.0G)
   Sectorsize: 512
   Mode: r0w0e0
   descr: QEMU HARDDISK
   ident: QM00003
   fwsectors: 63
   fwheads: 16

Geom name: ada3
Providers:
1. Name: ada3
   Mediasize: 9663676416 (9.0G)
   Sectorsize: 512
   Mode: r0w0e0
   descr: QEMU HARDDISK
   ident: QM00004
   fwsectors: 63
   fwheads: 16

Se muestra una lista del nombre de Geom y de los proveedores de información (en este caso los discos), en este caso nombrados como ada0, ada1, ada2 y ada3. También se muestra el tamaño de cada unidad en Bytes y redondeado. Para que la lista sea más comprensible muestra el nombre de los dispositivos.

Fecha de creación: 27/1/2016 17:51:51 | Última modificación: 28/1/2016 18:25:55 | Hora del servidor: 20/9/2017 23:48:12