논리 볼륨의 파일 시스템 유형을 확인하는 방법

논리 볼륨의 파일 시스템 유형을 확인하는 방법

lvm또는 다른 유틸리티를 사용하여 논리 볼륨의 파일 시스템 유형을 확인하는 방법은 무엇입니까 ?

예를 들어, 내 논리 볼륨이 /dev/vg1/lv1다음과 같은 경우 해당 파일 시스템 유형을 어떻게 확인할 수 있습니까?

ext4를 사용하여 논리 볼륨에 파일 시스템을 만들었 습니다 mkfs -t ext4 /dev/vg1/lv1. 하지만 확인하는 방법을 모릅니다. 얇은 옵션이 없나요 lvm?

답변1

다른 블록 장치와 동일합니다. 예를 들어

file -s /dev/vg1/lv1

심볼릭 링크 인 경우 이를 역참조하려면 's (aka ) 옵션 /dev/vg1/lv1도 필요합니다 (즉, 가리키는 실제 장치 노드를 따라갑니다).file-L--dereference

file -L -s /dev/vg1/lv1

BTW는 -L일반 파일에서 작동합니다.

ext4인 경우 다음이 표시됩니다.

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

또는 다음 blkid /dev/vg1/lv1과 같이 보고할 수 있습니다.

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

에서 man file:

-s, --특수 파일

일반적으로 file은 stat(2)가 일반 파일로 보고하는 매개변수 파일의 유형을 읽고 결정하려고 시도합니다. 이는 특수 파일을 읽으면 특별한 결과가 발생할 수 있는 문제를 방지합니다. -s 옵션을 지정하면 파일이 매개변수 파일을 블록 또는 문자 특수 파일로 읽습니다.

이는 블록 특수 파일인 원시 디스크 파티션에 있는 데이터의 파일 시스템 유형을 결정하는 데 유용합니다. 또한 이 옵션을 사용하면 file은 stat(2)에서 보고한 파일 크기를 무시하게 됩니다. 일부 시스템에서는 원시 디스크 파티션의 크기를 0으로 보고하기 때문입니다.

답변2

사용 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  

답변3

논리 볼륨에 여러 파티션이 있는 경우 파티션 오프셋을 아는 것이 도움이 됩니다.

fdisk볼륨의 파티션 정보를 읽으 려면 :

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

blkid그런 다음 파일 시스템 유형을 결정하는 데 사용됩니다 . 이 옵션은 로컬 캐시 파일을 우회하여 -p심층 조사를 수행하며 Capital은 확인할 바이트 오프셋을 결정합니다. 오프셋은 시작 섹터에 섹터 크기를 곱하여 결정됩니다.blkid-O

 `expr 3132675 \* 512`

백틱은 인라인 표현식에 사용되며 백슬래시는 \*bash가 별표를 먹는 것을 방지합니다.

blkid대상 파일 시스템을 결정하는 명령 은 다음과 같습니다 .

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

이 예에서는 다음과 같습니다.외부 3.

파일 시스템에 액세스하려면 오프셋을 마운트하십시오.

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

위 작업은 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

답변4

와이프(옵션 없음)도 같은 작업을 수행합니다...

[root@localhost backup]# wipefs /dev/mapper/d2-vmStorage
DEVICE       OFFSET TYPE UUID                                 LABEL
d2-vmStorage 0x0    xfs  141c43c0-ebdb-414a-aa8a-1a23871b9052 

file -s에 대한 동일한 출력:

[root@localhost backup]# file -L -s /dev/mapper/d2-vmStorage
/dev/mapper/d2-vmStorage: SGI XFS filesystem data (blksz 4096, inosz 512, v2 dirs)

실제로 fs를 지우려면:

[root@localhost backup]# wipefs -a /dev/mapper/d2-vmStorage
/dev/mapper/d2-vmStorage: 4 bytes were erased at offset 0x00000000 (xfs): 58 46 53 42

관련 정보