Làm thế nào để kiểm tra loại hệ thống tập tin của một khối hợp lý


12

Làm cách nào để kiểm tra loại hệ thống tập tin của một ổ đĩa logic bằng cách sử dụng lvmhoặc bất kỳ tiện ích nào khác?

Ví dụ, nếu khối lượng logic của tôi /dev/vg1/lv1thì làm thế nào để kiểm tra loại hệ thống tập tin của nó?

Tôi đã thực hiện một ext4hệ thống tập tin trong khối lượng logic bằng cách sử dụng mkfs -t ext4 /dev/vg1/lv1. Nhưng không biết làm thế nào để xác minh nó. Tôi không thể thấy bất kỳ tùy chọn cho mỏng là lvm?


Có ai biết làm thế nào điều này được thực hiện ở cấp độ C / C ++ không?
Lothar

Câu trả lời:


19

Tương tự như bạn làm với bất kỳ thiết bị khối nào khác. ví dụ

file -s /dev/vg1/lv1

Nếu là ext4, nó sẽ nói như sau:

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

Ngoài ra, bạn có thể chạy blkid /dev/vg1/lv1. Điều đó sẽ báo cáo một cái gì đó như:

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

Từ man file:

-s, - đặc biệt-tập tin

Thông thường, tệp chỉ cố gắng đọc và xác định loại tệp đối số mà báo cáo stat (2) là các tệp thông thường. Điều này ngăn ngừa các vấn đề, bởi vì đọc các tệp đặc biệt có thể có hậu quả đặc biệt. Chỉ định tùy chọn -s làm cho tệp cũng đọc các tệp đối số là các tệp đặc biệt của khối hoặc ký tự.

Điều này rất hữu ích để xác định các loại hệ thống tệp của dữ liệu trong các phân vùng đĩa thô, là các tệp đặc biệt. Tùy chọn này cũng khiến tệp bỏ qua kích thước tệp như được báo cáo bởi stat (2) vì trên một số hệ thống, nó báo cáo kích thước bằng không cho các phân vùng đĩa thô.


trên commmands làm việc. Chỉ cần tự hỏi, không có lvmlệnh cho điều này?
sp

Làm điều này trên my / dev / sdb1,2,5 - là các đầu ra phân vùng LVM/dev/sdb#: block special
Adeerlike

bạn vừa chạy file, hay file -s? -s(hoặc --special-files) nói fileđể xác định các tệp đặc biệt của khối hoặc ký tự. nhìn thấy man filevà tìm kiếm --special-files.
cas

tôi filecần --dereferenceđể nó có thể nhìn xuyên qua liên kết tượng trưng của / dev / vg0 / lv0
Felipe Alvarez

8

Sử dụng 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

Nếu khối lượng logic có nhiều phân vùng, việc biết các phân vùng bù có thể hữu ích.

Sử dụng fdiskđể đọc thông tin phân vùng của âm lượng:

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

Sau đó sử dụng blkidđể xác định loại hệ thống tập tin. Các -ptùy chọn thực hiện một cuộc điều tra sâu bỏ qua các địa phương blkidtập tin bộ nhớ cache, và vốn -Oxác định byte bù đắp để kiểm tra. Giá trị bù được xác định bằng cách nhân khu vực bắt đầu với quy mô ngành; ví dụ,

 `expr 3132675 \* 512`

trong đó backticks là để nội tuyến biểu thức và dấu gạch chéo ngược \*ngăn bash ăn dấu hoa thị.

Đây là blkidlệnh được sử dụng để xác định hệ thống tập tin đích:

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

mà trong ví dụ này là: ext3 .

Để truy cập hệ thống tập tin, gắn kết bù:

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

Các hoạt động trên được thực hiện trên 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
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.