Ubuntu 10.04 LTSを実行しているHPマイクロサーバーがあります。5つの内部ドライブベイを備えた低電力サーバーです。私はそれを使用して、リモートサーバー、VPS、ローカルラップトップをネットワーク経由でバックアップします。ディスクから最高のパフォーマンスを得たいのですが、最適にセットアップされているかどうかわからないので、アドバイスを探しています。
私のサーバーは、リモートホストをバックアップするために1日に複数回rsnapshotを実行しています。実際の増分バックアップ部分にはほとんど時間がかかりません。かなりの時間が次のようなことに費やされています。
/bin/cp -al /srv/rsnapshot/hourly.0 /srv/rsnapshot/hourly.1
約2時間かかります。そこには膨大な数の小さなファイルがあることに気づきました。
$ sudo du -hs hourly.1
659G hourly.1
また、rsnapshotが古いバックアップを削除する場合、これには長い時間がかかる可能性があります:-
/bin/rm -rf /srv/rsnapshot/daily.6/
約30分かかります。
私の質問は次のとおりです。サーバーの構成といくつかのIO統計は以下に詳述されています。もちろん、必要に応じて、より多くのデバッグ情報を提供できます。
ボトルネックの場所を特定するにはどうすればよいですか?
このボックスでできること(IOに関して)の制限に達していますか?
私ができるパフォーマンスの微調整はありますか?
別のRAIDレベルを使用する必要がありますか?
2つの内部RAIDディスク(各ミラーの半分)を、外部アレイ上の2つの「他のミラーの他の半分」と交換することは理にかなっていますか?
注:私は自分のカーネルをコンパイルするようなことをする傾向はありません。理想的に私は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
4つの内蔵2TBディスクは、ソフトウェアMD RAID10セットアップにあります。
md0 : active raid10 sdg1[3] sdh1[0] sdi1[2] sdf1[1]
3907023872 blocks 64K chunks 2 near-copies [4/4] [UUUU]
さらに、PCI-E eSATAカードを介して接続され、500GBのドライブがさらに4台含まれる外部EDGE10ドライブエンクロージャーがあります。
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
これもMD RAID10アレイとしてセットアップされています
md1 : active raid10 sdb1[1] sda1[0] sdd1[3] sdc1[2]
976767872 blocks 64K chunks 2 near-copies [4/4] [UUUU]
md0とmd1を組み合わせて、1つの大きな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
これはEXT4としてフォーマットされ、/ srvとしてマウントされます。
/dev/mapper/data-data on /srv type ext4 (rw)
十分な空き容量があります。
/dev/mapper/data-data
4.5T 2.2T 2.1T 51% /srv
役に立つかもしれない他の情報:-
$ uname -a
Linux ubuntuserver 2.6.32-32-server #62-Ubuntu SMP Wed Apr 20 22:07:43 UTC 2011 x86_64 GNU/Linux
。
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)
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
つまり、基本的には大量の書き込みが行われ、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
桃色に見えます!
$ 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
bonnie++
、各アレイで個別に実行することをお勧めします。これにより、基本的な速度のベンチマークが得られます。私はLVMの経験があまりないので、LVMを分離することが今の選択肢かどうかはわかりません。