我的系统有 3 个 SSD 设备 ( /dev/sda
、/dev/sdb
、/dev/sdc
),其中包含一个跨越所有设备的 LVM 逻辑卷。我的逻辑卷上有一个 ext4 分区。
我认为其中一个 SSD 设备 ( /dev/sdb
)可能存在一定程度的故障,并且与其他设备相比性能有所下降。
是否有命令可以获取该设备支持的文件列表?
我知道我可以获得逻辑段列表,sudo pvdisplay -m
输出如下所示:
--- Physical volume ---
PV Name /dev/sda
VG Name storage
PV Size <1,82 TiB / not usable <1,09 MiB
Allocatable yes (but full)
PE Size 4,00 MiB
Total PE 476932
Free PE 0
Allocated PE 476932
PV UUID h3x3O1-1KWj-3pY6-kZ24-MVV4-54UE-ltEdfA
--- Physical Segments ---
Physical extent 0 to 476931:
Logical volume /dev/storage/vm
Logical extents 0 to 476931
--- Physical volume ---
PV Name /dev/sdb
VG Name storage
PV Size <3,64 TiB / not usable <3,84 MiB
Allocatable yes (but full)
PE Size 4,00 MiB
Total PE 953861
Free PE 0
Allocated PE 953861
PV UUID MsNlhh-W2It-CbX4-IxJn-lXJN-hlcd-EpBh9Q
--- Physical Segments ---
Physical extent 0 to 953860:
Logical volume /dev/storage/vm
Logical extents 476932 to 1430792
--- Physical volume ---
PV Name /dev/sdc
VG Name storage
PV Size <3,64 TiB / not usable <3,84 MiB
Allocatable yes (but full)
PE Size 4,00 MiB
Total PE 953861
Free PE 0
Allocated PE 953861
PV UUID sklK6w-XZd6-DqIp-ZT1g-O9rj-1ufw-UaC0z4
--- Physical Segments ---
Physical extent 0 to 953860:
Logical volume /dev/storage/vm
Logical extents 1430793 to 2384653
所以我知道逻辑扩展 476932 到 1430792 是潜在问题的区域。如何将此逻辑段范围映射到 LVM 之上的文件系统 (ext4) 上的实际文件?
基本上,我试图弄清楚设备是否确实有故障,或者这些文件的使用模式是否可能很不幸,以至于我遇到了对硬件有问题的使用模式,并且性能比预期更差。没有设备显示任何错误,所有数据看起来都不错,但该单个设备的性能似乎比预期更差。
该系统正在使用中,因此我更愿意在线诊断此问题而不覆盖任何数据。我知道,如果我可以简单地将可能有问题的存储设备脱机并覆盖其内容,我可以对其fio
进行基准测试,看看它是否低于规格运行。
$ lsblk -s
...
storage-vm 253:0 0 9,1T 0 lvm /mnt/storage
├─sda 8:0 0 1,8T 0 disk
├─sdb 8:16 0 3,7T 0 disk
└─sdc 8:32 0 3,7T 0 disk
我基本上是在问当文件系统跨越多个存储设备时如何获取单个存储设备支持的文件列表。
或者,如果您可以提供如何确定给定文件实际存储位置的说明,那也很好。然后,我会对每个文件运行该例程,以找出我感兴趣的设备支持哪些文件。我知道,如果该文件在多个设备上碎片化,则可能是所有设备都支持单个大文件。大范围的本地段,因此答案可能是所有设备都支持单个文件,但我目前也不知道如何做到这一点。
$ sudo vgdisplay
--- Volume group ---
VG Name storage
System ID
Format lvm2
Metadata Areas 3
Metadata Sequence No 6
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 3
Act PV 3
VG Size <9,10 TiB
PE Size 4,00 MiB
Total PE 2384654
Alloc PE / Size 2384654 / <9,10 TiB
Free PE / Size 0 / 0
VG UUID MOrTMY-5Dly-48uQ-9Fa8-JNvf-tont-9in7ol
$ sudo lvdisplay
--- Logical volume ---
LV Path /dev/storage/vm
LV Name vm
VG Name storage
LV UUID RDkaLH-mh6C-cXxT-6ojc-DxkB-o4jD-3CMHdl
LV Write Access read/write
LV Creation host, time staging, 2021-01-21 09:57:06 +0200
LV Status available
# open 1
LV Size <9,10 TiB
Current LE 2384654
Segments 3
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0