論理ボリュームのファイルシステムタイプを確認する方法

論理ボリュームのファイルシステムタイプを確認する方法

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オプションを指定すると、ファイルはパラメータファイルをブロックまたは文字特殊ファイルとして読み込みます。

これは、ブロック特殊ファイルであるRAWディスクパーティション内のデータのファイルシステムタイプを決定するのに役立ちます。また、このオプションを使用すると、fileはstat(2)によって報告されたファイルサイズを無視します。一部のシステムでは、RAWディスクパーティションのサイズを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詳細な調査を行い、キャピタルは確認するバイトオフセットを決定します。オフセットは、開始セクタにセクタサイズを掛けることによって決定される。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

関連情報