como verificar o tipo de sistema de arquivos de um volume lógico

12

Como verificar o tipo de sistema de arquivos de um volume lógico usando lvmou qualquer outro utilitário?

Por exemplo, se meu volume lógico for /dev/vg1/lv1, como verificar seu tipo de sistema de arquivos?

Eu ext4criei um sistema de arquivos no volume lógico usando mkfs -t ext4 /dev/vg1/lv1. Mas não sei como verificar isso. Não consegui ver nenhuma opção para thin é lvm?

sps
fonte
Alguém sabe como isso é feito no nível C / C ++?
Lothar

Respostas:

19

O mesmo que você faria com qualquer outro dispositivo de bloco. por exemplo

file -s /dev/vg1/lv1

Se for 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)

Como alternativa, você pode executar blkid /dev/vg1/lv1. Isso reportaria algo como:

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

De man file:

-s, --especial-arquivos

Normalmente, o arquivo tenta apenas ler e determinar o tipo de arquivos de argumento que os relatórios stat (2) são arquivos comuns. Isso evita problemas, porque a leitura de arquivos especiais pode ter consequências peculiares. A especificação da opção -s faz com que o arquivo também leia arquivos de argumento que são arquivos especiais de bloco ou caractere.

Isso é útil para determinar os tipos de sistema de arquivos dos dados nas partições de disco bruto, que são arquivos especiais de bloco. Essa opção também faz com que o arquivo desconsidere o tamanho do arquivo, conforme relatado pelo stat (2), pois em alguns sistemas ele relata um tamanho zero para partições de disco bruto.

cas
fonte
comandos acima funcionou. Apenas querendo saber, não há lvmcomando para isso?
sps
Fazendo isso no meu / dev / sdb1,2,5 - que são saídas de partições LVM/dev/sdb#: block special
Adeerlike
você correu apenas file, ou file -s? -s(ou --special-files) indica filepara identificar arquivos especiais de bloco ou caractere. veja man filee pesquise --special-files.
18716
minha filenecessária --dereferencepara que ele pudesse ver através da ligação simbólica de / dev / vg0 / LV0
Felipe Alvarez
8

Use 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
fonte
1

Se o volume lógico tiver várias partições, saber que as compensações da partição pode ser útil.

Use fdiskpara ler as informações da partição do volume:

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

Em seguida, use blkidpara determinar o tipo de sistema de arquivos. A -popção executa uma análise profunda ignorando o blkidarquivo de cache local e o capital -Odetermina o deslocamento de bytes a serem inspecionados. A compensação é determinada multiplicando o setor inicial pelo tamanho do setor; por exemplo,

 `expr 3132675 \* 512`

onde os backticks servem para alinhar a expressão e a barra invertida \*impede que o bash coma o asterisco.

Aqui está o blkidcomando usado para determinar o sistema de arquivos 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 neste exemplo é: ext3 .

Para acessar o sistema de arquivos, monte o deslocamento:

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

As operações acima executadas no 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
fonte