我有一个 Z3 池,有 9 个 10TB 驱动器,位于作为混合操作系统虚拟机主机运行的 Dell PowerEdge R730xd 下。存在两个池:rpool - SSD 镜像池,主要用于 VM 中的根驱动器。dpool - 较大的 HDD 池,用于数据。
原则上 - 由于该设备不在专业支持范围内,因此我不会选择使用硬件 RAID。
我怀疑 dpool 的表现很差:
- 对于这种操作模式,控制器可能配置错误或超载。
- 磁盘布局不太优化,调优指南建议使用完整磁盘而不是分区。
- 写入数据的块大小与磁盘的块大小不同步。
- 驱动器池需要 SSD 缓存。
是否有任何快速修复方法可以提高读取性能?我想重新安装此阵列并进行更好的性能调整。所以我只是在寻找对所有数据进行完整克隆的最佳方法。如果需要,我可以依靠文件系统备份。
以下是各种输出:
fio --filename=/dpool/datatest --sync=1 --rw=randread --bs=4k --numjobs=1 --iodepth=4 --group_reporting --name=test --filesize=10G --runtime=300
test: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=psync, iodepth=4
fio-3.25
Starting 1 process
test: Laying out IO file (1 file / 10240MiB)
Jobs: 1 (f=1): [r(1)][100.0%][r=416KiB/s][r=104 IOPS][eta 00m:00s]
test: (groupid=0, jobs=1): err= 0: pid=1812194: Sat Mar 19 16:44:08 2022
read: IOPS=96, BW=386KiB/s (395kB/s)(113MiB/300008msec)
clat (usec): min=10, max=130802, avg=10360.59, stdev=7791.93
lat (usec): min=11, max=130803, avg=10361.10, stdev=7791.95
clat percentiles (usec):
| 1.00th=[ 63], 5.00th=[ 82], 10.00th=[ 6718], 20.00th=[ 8029],
| 30.00th=[ 8717], 40.00th=[ 9110], 50.00th=[ 9503], 60.00th=[ 9765],
| 70.00th=[ 10028], 80.00th=[ 10159], 90.00th=[ 13698], 95.00th=[ 21627],
| 99.00th=[ 45351], 99.50th=[ 55837], 99.90th=[100140], 99.95th=[105382],
| 99.99th=[116917]
bw ( KiB/s): min= 64, max= 544, per=99.78%, avg=385.81, stdev=106.22, samples=599
iops : min= 16, max= 136, avg=96.45, stdev=26.55, samples=599
lat (usec) : 20=0.09%, 50=0.32%, 100=5.95%, 250=0.27%, 500=0.01%
lat (msec) : 2=0.01%, 4=0.05%, 10=64.61%, 20=23.10%, 50=4.79%
lat (msec) : 100=0.71%, 250=0.10%
cpu : usr=0.11%, sys=1.69%, ctx=27210, majf=0, minf=112
IO depths : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
issued rwts: total=28940,0,0,0 short=0,0,0,0 dropped=0,0,0,0
latency : target=0, window=0, percentile=100.00%, depth=4
Run status group 0 (all jobs):
READ: bw=386KiB/s (395kB/s), 386KiB/s-386KiB/s (395kB/s-395kB/s), io=113MiB (119MB), run=300008-300008msec
这些磁盘在服务器控制器上配置为非 RAID 设备,并作为普通磁盘传递到 Linux。
调试转储在这里:https://gist.github.com/pbrooks/3eca3e78ecada637c57962c2682f4a69