pop*_*pey 10 server performance disk raid
我有一台运行 Ubuntu 10.04 LTS 的 HP 微服务器。这是一款具有 5 个内部驱动器托架的低功耗服务器。我用它通过网络备份我的远程服务器、VPS 和本地笔记本电脑。我想从磁盘获得最佳性能,但我不知道它是否设置最佳,所以我正在寻找一些建议。
我的服务器每天多次运行 rsnapshot 来备份远程主机。实际的增量备份部分只需要很少的时间。大量的时间花在做以下事情上:-
/bin/cp -al /srv/rsnapshot/hourly.0 /srv/rsnapshot/hourly.1
Run Code Online (Sandbox Code Playgroud)
这大约需要2个小时。我意识到那里有无数个小文件。
$ sudo du -hs hourly.1
659G hourly.1
Run Code Online (Sandbox Code Playgroud)
此外,当 rsnapshot 删除旧备份时,这可能需要很长时间:-
/bin/rm -rf /srv/rsnapshot/daily.6/
Run Code Online (Sandbox Code Playgroud)
这大约需要半个小时。
我的问题如下,服务器的配置和一些IO stats详述如下。如有必要,我当然可以提供更多调试信息:-
如何确定瓶颈在哪里?
我是否达到了这个盒子的能力(IO 明智)的极限?
我可以进行任何性能调整吗?
我应该使用不同的 RAID 级别吗?
将两个内部 RAID 磁盘(每个镜像的一半)与外部阵列上的两个“另一个镜像的另一半”交换是否有意义?
注意:我有点不喜欢编译自己的内核之类的事情。理想情况下,我想坚持使用 10.04 LTS,除非在以后的版本中有一些魔法使这一切工作得更快。
服务器内部有 1x160GB SATA 启动盘和 4x2TB 磁盘:-
Disk /dev/sde: 160.0 GB, 160041885696 bytes
Disk /dev/sdf: 2000.4 GB, 2000398934016 bytes
Disk /dev/sdh: 2000.4 GB, 2000398934016 bytes
Disk /dev/sdi: 2000.4 GB, 2000398934016 bytes
Disk /dev/sdg: 2000.4 GB, 2000398934016 bytes
Run Code Online (Sandbox Code Playgroud)
四个内部 2TB 磁盘位于软件 MD RAID10 设置中:-
md0 : active raid10 sdg1[3] sdh1[0] sdi1[2] sdf1[1]
3907023872 blocks 64K chunks 2 near-copies [4/4] [UUUU]
Run Code Online (Sandbox Code Playgroud)
此外,我还有一个外部 EDGE10 驱动器机箱,它通过 PCI-E eSATA 卡连接,并包含另外四个 500GB 驱动器:-
Disk /dev/sda: 500.1 GB, 500107862016 bytes
Disk /dev/sdb: 500.1 GB, 500107862016 bytes
Disk /dev/sdc: 500.1 GB, 500107862016 bytes
Disk /dev/sdd: 500.1 GB, 500107862016 bytes
Run Code Online (Sandbox Code Playgroud)
这也设置为 MD RAID10 阵列
md1 : active raid10 sdb1[1] sda1[0] sdd1[3] sdc1[2]
976767872 blocks 64K chunks 2 near-copies [4/4] [UUUU]
Run Code Online (Sandbox Code Playgroud)
md0 和 md1 结合起来构成一个大的 LVM。注意:我最近才添加了外部数组,所以它几乎是空白的,我认为它现在没有任何块。
这表示为 LVM 卷:-
--- Logical volume ---
LV Name /dev/data/data
VG Name data
LV UUID amZCgU-sQLi-R363-dUFx-Bcdf-iwlt-ZNnDp8
LV Write Access read/write
LV Status available
# open 1
LV Size 4.54 TiB
Current LE 1190134
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 512
Block device 251:0
Run Code Online (Sandbox Code Playgroud)
其格式为 EXT4 并安装为 /srv:-
/dev/mapper/data-data on /srv type ext4 (rw)
Run Code Online (Sandbox Code Playgroud)
有足够的空闲空间。
/dev/mapper/data-data
4.5T 2.2T 2.1T 51% /srv
Run Code Online (Sandbox Code Playgroud)
其他可能有用的信息:-
$ uname -a
Linux ubuntuserver 2.6.32-32-server #62-Ubuntu SMP Wed Apr 20 22:07:43 UTC 2011 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)
.
00:11.0 SATA controller: ATI Technologies Inc SB700/SB800 SATA Controller [AHCI mode] (rev 40)
02:00.0 RAID bus controller: Silicon Image, Inc. SiI 3132 Serial ATA Raid II Controller (rev 01)
Run Code Online (Sandbox Code Playgroud)
在 rsnapshot 期间执行 cp 命令时,我在 iostat 中看到以下内容:-
avg-cpu: %user %nice %system %iowait %steal %idle
0.55 0.00 5.47 66.14 0.00 27.85
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdc 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdd 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sde 0.00 0.00 0.10 0.00 0.80 0.00 8.00 0.00 0.00 0.00 0.00
sdf 0.00 407.50 0.00 66.80 0.00 3790.40 56.74 124.86 1524.88 13.55 90.50
sdh 0.00 406.90 0.00 66.90 0.00 3790.40 56.66 92.89 1230.52 13.21 88.40
sdi 0.00 407.80 5.50 70.20 44.00 3824.00 51.10 113.83 1333.84 12.34 93.40
sdg 0.00 406.80 6.10 71.60 48.80 3827.20 49.88 64.32 787.68 11.69 90.80
md0 0.00 0.00 11.50 1484.60 92.00 11876.80 8.00 0.00 0.00 0.00 0.00
dm-0 0.00 0.00 11.50 1484.70 92.00 11877.60 8.00 5331.18 471.91 0.63 94.70
md1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Run Code Online (Sandbox Code Playgroud)
所以基本上是大量的写入,大量的 IO 等待。
所以现在盒子闲置了,我已经暂停了所有的工作。
avg-cpu: %user %nice %system %iowait %steal %idle
0.00 0.00 0.00 0.00 0.00 100.00
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdc 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdd 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sde 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdf 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdh 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdi 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdg 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
dm-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Run Code Online (Sandbox Code Playgroud)
看起来很桃色!
$ sudo hdparm -T -t /dev/sd[a-i]
/dev/sda:
Timing cached reads: 2532 MB in 2.00 seconds = 1265.95 MB/sec
Timing buffered disk reads: 270 MB in 3.02 seconds = 89.53 MB/sec
/dev/sdb:
Timing cached reads: 2516 MB in 2.00 seconds = 1258.07 MB/sec
Timing buffered disk reads: 264 MB in 3.02 seconds = 87.37 MB/sec
/dev/sdc:
Timing cached reads: 2442 MB in 2.00 seconds = 1220.80 MB/sec
Timing buffered disk reads: 272 MB in 3.00 seconds = 90.60 MB/sec
/dev/sdd:
Timing cached reads: 2520 MB in 2.00 seconds = 1259.64 MB/sec
Timing buffered disk reads: 272 MB in 3.02 seconds = 90.07 MB/sec
/dev/sde:
Timing cached reads: 2524 MB in 2.00 seconds = 1261.48 MB/sec
Timing buffered disk reads: 306 MB in 3.01 seconds = 101.56 MB/sec
/dev/sdf:
Timing cached reads: 2366 MB in 2.00 seconds = 1183.28 MB/sec
Timing buffered disk reads: 388 MB in 3.01 seconds = 128.88 MB/sec
/dev/sdg:
Timing cached reads: 2536 MB in 2.00 seconds = 1267.52 MB/sec
Timing buffered disk reads: 400 MB in 3.00 seconds = 133.12 MB/sec
/dev/sdh:
Timing cached reads: 2538 MB in 2.00 seconds = 1269.08 MB/sec
Timing buffered disk reads: 426 MB in 3.00 seconds = 141.90 MB/sec
/dev/sdi:
Timing cached reads: 2538 MB in 2.00 seconds = 1268.57 MB/sec
Timing buffered disk reads: 402 MB in 3.01 seconds = 133.69 MB/sec
Run Code Online (Sandbox Code Playgroud)
不幸的是,条带缓存仅适用于 RAID5 和 6 - RAID 0/1/10 没有等效项。
您的各个驱动器的性能(根据hdparm)看起来不错 - 它们的性能均符合该级别驱动器的预期。
我的建议:
blockdev --setra <size> /dev/md1例如(其中<size>是 512 字节扇区)。但这只会有助于阅读。另外两个可能影响性能的因素是分区对齐和文件系统创建参数(跨度等),但当您使用现代工具时,这不应该成为问题。
| 归档时间: |
|
| 查看次数: |
4419 次 |
| 最近记录: |