如何检查逻辑卷的文件系统类型


12

如何使用lvm或任何其他实用程序检查逻辑卷的文件系统类型?

例如,如果我的逻辑卷是/dev/vg1/lv1那么如何检查其文件系统类型?

我已经使用创建ext4了逻辑卷中的文件系统mkfs -t ext4 /dev/vg1/lv1。但是不知道如何验证。我看不到瘦的任何选择是lvm吗?


有谁知道这是如何在C / C ++级别完成的?
罗萨尔

Answers:


19

与使用任何其他块设备相同。例如

file -s /dev/vg1/lv1

如果是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,-特殊文件

通常,文件仅尝试读取并确定stat(2)报告为普通文件的参数文件的类型。这可以防止出现问题,因为读取特殊文件可能会产生特殊的后果。指定-s选项会使文件还读取作为块或字符特殊文件的参数文件。

这对于确定原始磁盘分区(即块特殊文件)中数据的文件系统类型很有用。此选项还导致文件忽略stat(2)报告的文件大小,因为在某些系统上它报告原始磁盘分区的大小为零。


以上命令的工作。只是想知道,对此没有lvm命令吗?
sps 2015年

在我的/ dev / sdb1,2,5上执行此操作-这是LVM分区的输出/dev/sdb#: block special
Adeerlike

您刚刚跑步file还是file -s-s(或--special-files)告诉file您识别块或字符特殊文件。查看man file和搜索--special-files
cas

file需要的,--dereference这样它就可以通过/ dev / vg0 / lv0的符号链接进行查看
Felipe Alvarez

8

使用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  

1

如果逻辑卷具有多个分区,则了解分区偏移量可能会有所帮助。

使用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缓存文件执行深度探查,大写-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"

在此示例中为:ext3

要访问文件系统,请安装偏移量:

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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.