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