cómo verificar el tipo de sistema de archivos de un volumen lógico

12

¿Cómo verificar el tipo de sistema de archivos de un volumen lógico usando lvmo cualquier otra utilidad?

Por ejemplo, si mi volumen lógico es /dev/vg1/lv1cómo verificar su tipo de sistema de archivos?

He hecho un ext4sistema de archivos en el volumen lógico usando mkfs -t ext4 /dev/vg1/lv1. Pero no sé cómo verificarlo. No pude ver ninguna opción para thin is lvm?

sps
fuente
¿Alguien sabe cómo se hace esto en el nivel C / C ++?
Lothar

Respuestas:

19

Igual que lo haría con cualquier otro dispositivo de bloque. p.ej

file -s /dev/vg1/lv1

Si es ext4, dirá algo como:

/dev/vg1/lv1: Linux rev 1.0 ext4 filesystem data, UUID=xxxx, volume name "yyyy" (needs journal recovery) (extents) (large files) (huge files)

Alternativamente, podrías correr blkid /dev/vg1/lv1. Eso informaría algo como:

/dev/vg1/lv1: LABEL="yyyy" UUID="xxxx" TYPE="ext4"

De man file:

-s, --special-files

Normalmente, el archivo solo intenta leer y determinar el tipo de archivos de argumentos cuyos informes stat (2) son archivos normales. Esto evita problemas, porque leer archivos especiales puede tener consecuencias peculiares. Al especificar la opción -s, el archivo también lee archivos de argumentos que son archivos especiales de bloques o caracteres.

Esto es útil para determinar los tipos de datos del sistema de archivos en particiones de disco sin formato, que son archivos especiales de bloques. Esta opción también hace que el archivo ignore el tamaño del archivo según lo informado por stat (2) ya que en algunos sistemas informa un tamaño cero para las particiones de disco sin formato.

cas
fuente
los comandos anteriores funcionaron. Solo me pregunto, ¿no hay un lvmcomando para esto?
sps
Hacer esto en mi / dev / sdb1,2,5 - que son salidas de particiones LVM/dev/sdb#: block special
Adeerlike
corriste solo fileo file -s? -s(o --special-files) le dice fileque identifique archivos especiales de bloques o caracteres. ver man filey buscar --special-files.
cas
mi filenecesaria --dereferencepara que pudiera ver a través del enlace simbólico de / dev / vg0 / lv0
Felipe Alvarez
8

Uso lsblk -f.

$ lsblk -f
    NAME            FSTYPE      LABEL          UUID                                   FSAVAIL FSUSE% MOUNTPOINT
    sda                                                                                              
    ├─sda1          ext4                       d2123fec-6c94-426f-b505-8cf3441122cf    742,6M    17% /boot
    └─sda2          LVM2_member                BLt1F3-S5E3-hBRX-Eqya-AUOx-wyxc-a5Yaf4                
      ├─fedora-root xfs                        59935050-8e89-4f7f-bf0f-2f448c4c680b     12,8G    15% /
      └─fedora-swap swap                       5fbca8c7-fd22-4acf-a411-d96a100c8ab2                  [SWAP]
    sr0             iso9660     VBox_GAs_6.0.8 2019-05-13-13-58-35-65  
celso.lom
fuente
1

Si el volumen lógico tiene múltiples particiones, conocer las compensaciones de partición puede ser útil.

Use fdiskpara leer la información de partición del volumen:

linux1:~ # fdisk -l /dev/vg01/lv001
Disk /dev/vg01/lv001: 80 GiB, 85899345920 bytes, 167772160 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x000825ab

Device           Boot   Start       End   Sectors  Size Id Type
/dev/vg01/lv0011           63   3132674   3132612  1.5G 82 Linux swap / Solaris
/dev/vg01/lv0012 *    3132675 167734664 164601990 78.5G 83 Linux

Luego, use blkidpara determinar el tipo de sistema de archivos. La -popción realiza una sonda profunda sin pasar por el blkidarchivo de caché local , y el capital -Odetermina el desplazamiento de bytes para inspeccionar. El desplazamiento se determina multiplicando el sector inicial por el tamaño del sector; p.ej,

 `expr 3132675 \* 512`

donde los backticks son para incluir la expresión y la barra invertida \*evita que bash se coma el asterisco.

Aquí está el blkidcomando utilizado para determinar el sistema de archivos de destino:

linux1:~ # blkid -pO `expr 3132675 \* 512`   /dev/vg01/lv001
/dev/vg01/lv001: UUID="..." VERSION="1.0" TYPE="ext3" USAGE="filesystem" PTTYPE="dos"

que en este ejemplo es: ext3 .

Para acceder al sistema de archivos, monte el desplazamiento:

mount -o offset=`expr 3132675 \* 512`  /dev/vg01/lv001 /mnt/lv001

Las operaciones anteriores realizadas en SLES 12.4:

linux1:~ # uname -a
Linux linux1 4.12.14-95.6-default #1 SMP Thu Jan 17 06:04:39 UTC 2019 (6af4ef8) x86_64 x86_64 x86_64 GNU/Linux
bvj
fuente