如何使用lvm
或任何其他实用程序检查逻辑卷的文件系统类型?
例如,如果我的逻辑卷是/dev/vg1/lv1
那么如何检查其文件系统类型?
我已经ext4
使用在逻辑卷中创建了一个文件系统mkfs -t ext4 /dev/vg1/lv1
。但不知道如何验证。我看不到任何薄的选项lvm
?
答案1
与任何其他块设备相同。例如
file -s /dev/vg1/lv1
如果/dev/vg1/lv1
是符号链接,您还需要file
's -L
(又名--dereference
)选项来取消引用它(即跟随它到它指向的真实设备节点):
file -L -s /dev/vg1/lv1
顺便说一句,可以-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) 报告的文件大小,因为在某些系统上它报告原始磁盘分区的大小为零。
答案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
选项绕过本地缓存文件执行深度探测blkid
,并且 Capital-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
wipefs(没有选项)也会这样做......
[root@localhost backup]# wipefs /dev/mapper/d2-vmStorage
DEVICE OFFSET TYPE UUID LABEL
d2-vmStorage 0x0 xfs 141c43c0-ebdb-414a-aa8a-1a23871b9052
文件 -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