理由はわかりませんが、攻撃速度に大きな問題があります。
4WD RE4 7200RPM 500GBがあります。 RAID 5のサイズは1000GBです。スペア用HDD1個。
それが問題です:
Every 1,0s: cat /proc/mdstat Mon Dec 31 10:01:11 2012
Personalities : [raid1] [raid6] [raid5] [raid4]
md1 : active raid5 sdc2[0] sdb2[3](S) sdd2[2] sde2[1]
974812160 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]
[=>...................] check = 9.0% (44241152/487406080) finish=6696.5min speed=1102K/sec
md0 : active raid1 sdc1[0] sdb1[3](S) sdd1[2] sde1[1]
975860 blocks super 1.2 [3/3] [UUU]
unused devices: <none>
おそらく完了したかもしれないという考えで、夜明け2時から確認を始めました。しかし、実際にはそうではありません。新規時代(2ヶ月前)にはレイドチェックに150~300分程度しかかかりませんでした。
vmstat 1 shows:
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
2 1 0 168108 278152 6649192 0 0 385 705 0 1 47 13 33 7
1 1 0 168092 278152 6649236 0 0 0 1564 24426 42090 28 11 46 16
3 1 0 173424 278152 6649236 0 0 0 1204 23750 41592 30 7 48 15
1 2 0 173416 278160 6649228 0 0 24 592 23131 41252 25 5 47 23
2 1 0 173424 278160 6649260 0 0 0 2340 24750 42888 29 8 45 18
1 1 0 172928 278176 6649244 0 0 0 1408 23818 41362 30 8 42 21
1 0 0 172696 278176 6649304 0 0 0 471 23144 40932 25 7 58 10
1 0 0 172488 278176 6649304 0 0 0 275 26299 45241 27 17 52 5
1 2 0 172612 278184 6649304 0 0 0 1806 24572 41288 40 6 44 9
5 2 0 172752 278200 6649328 0 0 0 780 23541 41308 28 6 33 33
Iostat 1は以下を示しています。
Linux 2.6.32-5-amd64 () 31.12.2012 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
47,02 0,34 12,94 6,95 0,00 32,74
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 7,68 17,48 3428,36 112980468 22156867512
sdb 0,00 0,00 0,00 748 2208
sdc 70,20 3506,35 1574,01 22660920204 10172547974
sdd 70,32 3528,74 1551,86 22805657128 10029430470
sde 71,11 3548,29 1538,53 22931965117 9943244782
md0 0,00 0,01 0,00 55936 5416
md1 356,51 3276,98 2594,09 21178557866 16765170392
avg-cpu: %user %nice %system %iowait %steal %idle
24,88 0,00 6,47 18,41 0,00 50,25
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 0,00 0,00 0,00 0 0
sdb 0,00 0,00 0,00 0 0
sdc 164,00 80,00 2792,00 80 2792
sdd 116,00 1072,00 1248,00 1072 1248
sde 138,00 0,00 1864,00 0 1864
md0 0,00 0,00 0,00 0 0
md1 369,00 0,00 2952,00 0 2952
avg-cpu: %user %nice %system %iowait %steal %idle
30,71 0,00 6,88 14,50 0,00 47,91
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 0,00 0,00 0,00 0 0
sdb 0,00 0,00 0,00 0 0
sdc 187,00 1040,00 1944,00 1040 1944
sdd 286,00 64,00 4616,00 64 4616
sde 231,00 1024,00 3056,00 1024 3056
md0 0,00 0,00 0,00 0 0
md1 601,00 0,00 4808,00 0 4808
avg-cpu: %user %nice %system %iowait %steal %idle
22,03 0,00 6,68 3,71 0,00 67,57
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 0,00 0,00 0,00 0 0
sdb 0,00 0,00 0,00 0 0
sdc 30,00 8,00 716,00 8 716
sdd 10,00 40,00 44,00 40 44
sde 33,00 0,00 740,00 0 740
md0 0,00 0,00 0,00 0 0
md1 92,00 0,00 736,00 0 736
次の質問をさせていただきます。
1)私のレイドが完全にロードされるのに問題がありますか? (合計サイズ916GB、505G使用、365G無料)。 2)「512kチャンク」に問題はありますか?
3) EXT3はSW RAID 5に最も適していますか?
4) SW raid 5の速度を上げる方法は可能ですか?
5)私のRAIDに次のディスクを追加してスペアディスクにならず、RAID速度を上げることはできますか?
6)SW Raid 5はCPU TIMEをどのくらい消費しますか?上部には次のように表示されます。 PID USER PR NI VIRT RES SHR S%CPU%MEM TIME + COMMAND 422 root 20 0 0 0 0 S 1 0.0 1743:38 md1_raid5サーバーの稼働時間は74日です(以前のサーバーに変更してから)。
人気プログラム:
top - 10:18:43 up 74 days, 19:21, 3 users, load average: 2.33, 2.86, 2.94
Tasks: 147 total, 2 running, 145 sleeping, 0 stopped, 0 zombie
Cpu(s): 22.6%us, 6.9%sy, 0.0%ni, 52.9%id, 17.1%wa, 0.1%hi, 0.4%si, 0.0%st
Mem: 24743684k total, 24598984k used, 144700k free, 270604k buffers
Swap: 0k total, 0k used, 0k free, 6664872k cached
私の考えでは、ロード平均が高すぎると思います。しかし、なぜ? CPUを使いすぎるのは見えません。
Power TOP は次のように表示されます。
Wakeups-from-idle per second : 6122,7 interval: 10,0s
Top causes for wakeups:
74,0% (17652,4) kvm : sys_timer_settime (posix_timer_fn)
15,0% (3579,6) <kernel IPI> : Rescheduling interrupts
5,5% (1319,6) kvm : apic_reg_write (kvm_timer_fn)
1,8% (422,4) <interrupt> : ahci
1,0% (248,2) events/0 : flush_to_ldisc (delayed_work_timer_fn)
0,7% (178,6) worldserver : __mod_timer (process_timeout)
0,6% (153,4) <interrupt> : eth0
0,5% (118,4) <interrupt> : pata_atiixp
0,2% ( 43,6) kvm : __kvm_migrate_timers (kvm_timer_fn)
0,1% ( 20,0) md1_raid5 : __mod_timer (blk_unplug_timeout)
0,0% ( 11,2) authserver : __mod_timer (process_timeout)
答え1
RAIDの再同期/検査は、通常のI / Oより低いI / O優先順位で行われます。そのディスクにI / Oが多い場合は、最低速度で実行されます。これを次のように変更できます。/sys/block/md1/md/sync_speed_min
答え2
他の質問に対する追加の答え:
1)私のレイドが完全にロードされるのに問題がありますか? (合計サイズ916GB、505G使用、365G無料)。
いいえ、そうです。
まず、HDDメーカーは1GBを1099511627776(1024 * 1024 * 1024 * 1024)バイトではなく1,000,000,000バイトと見なすため、500GB HDDは実際には500GBのサイズではありません。
したがって、元の容量は約931GBです。ファイルシステムは構造などに関するいくつかのメタ情報を格納する必要があるため、独自のスペースが必要になり、ext3形式のパーティションに約916 GBの空き容量があります。
各ファイルは少なくとも1つのブロック(ほとんど512バイト、4KB程度)を占めるため、10バイトに過ぎないファイルもディスク上で512バイトを使用します。小さなファイルが多い場合は、すべてのファイルのサイズとディスクが占めるスペースの間に大きな違いがあります。
2)「512kチャンク」に問題はありますか?
習慣。ただし、これも作業量と使用量によって異なります。インターネット上のさまざまなブロックサイズのいくつかのパフォーマンス比較を見つけることができます。
3) EXT3はSW RAID 5に最も適していますか?
はい、そして他の標準ファイルシステムも可能です。私の観点から見ると、より良い質問は「RAID5および/またはEXT3が私の使用/ワークロードに適していますか?」です。
たとえば、ユーザー数が少ないファイルサーバーがある場合は、RAID5とext3が適しています。 ext3にRAID5を含む大規模データベースがある場合は、RAID10とXFSを使用することをお勧めします。
5)私のRAIDに次のディスクを追加してスペアディスクにならず、RAID速度を上げることはできますか?
もちろん、4つのディスクで構成されたRAID5を使用することもできます。これにより読み取りパフォーマンスが向上しますが、書き込みパフォーマンスは向上しません。
より高い書き込み性能が必要な場合は、RAID10を購入する必要があります。
Linuxのmdraidは高いIOPSを提供するのに不都合なので、これは順次読み書きにのみ機能します。したがって、高いランダムI / O負荷(データベースや仮想化など)が必要な場合は、ハードウェアベースのRAIDを使用するか、ZFS(標準Linuxカーネルでは使用できません)を使用する必要があります。