Linux Software RAID (md) での RAID10 4デバイス 2Nearコピー の性能

Seagate Barracuda Green ST2000DL003 2TB のディスクが1本余ったので、今までは RAID5 3デバイス Left-Symmetric で構成していたREWSE.JPサーバーのストレージを RAID10 4デバイス 2Nearコピー で構成しなおした。Linux Software RAID (md) で構成するRAID10のレイアウトにはNear / Far / Offsetの3種類があり、違いについては HelloKitty68: Linux Software RAID10 が詳しい。RAID10のレイアウトによる性能差については PyCurious: Some RAID10 performance numbers が少し古いがまとまっている。

REWSE.JPサーバーのIOは読取りよりも書込みのほうが多い。おそらく、読取りはファイル・キャッシュから読まれているものの、書込みはZabbixからMySQLへのINSERTや、OSの各種ロギングなどが定常的にあるからと思われる。以下はZabbixで1週間分を表示したファイル / MySQLサーバーのスループットとIOPSのグラフで、緑が読取り、青が書込みを表している。

ファイル / MySQLサーバーのスループット

ファイル / MySQLサーバーのIOPS

以下はWeb / メール・サーバーのスループットとIOPSのグラフである。

Web / メール・サーバーのスループット

Web / メール・サーバーのIOPS

というわけで、読取りは4本でストライプできるので非常に速いが、書込みはディスク・ヘッドの移動距離が大きいために少し遅く、ディスクが2本壊れたときに3分の2の確率でデータが失われるFarレイアウトを選ぶ動機がそれほどないので、読取りは2本のストライピングだが、ディスクが2本壊れたときにデータが失われる確率が3分の1のNearレイアウトを選んだ。チャンクの大きさは諸説あるが、面倒なので Oracle Linux 5.8 のデフォルトである256Kを使用することにした。

以下はfioで実行した RAID10 4デバイス 2Nearコピー と RAID5 3デバイス Left-Symmetric の性能値を比較した表だ。RAID5 3デバイス Left-Symmetric の読取りは3本でストライプされるので、2本でストライプされる RAID10 4デバイス 2Nearコピー より速い。書込みは RAID10 4デバイス 2Nearコピー も RAID5 3デバイス Left-Symmetric も2本でストライプされるが、RAID5はパリティ計算コストが高くRAID10のほうが大幅に速くなっている。fioの使い方や Seagate Barracuda Green ST2000DL003 2TB 単体での性能などは 複眼中心: Linuxでストレージ・ベンチマーク を参照してほしい。

RAID5

  • ディスク: Seagate Barracuda Green ST2000DL003 2TB ×3本
  • レイアウト: Left-Symmetric
  • チャンク: 256KB
  • 使用可能容量: 4TB
  • CPU: Intel Atom D525 (2コア×2スレッド 1.8GHz)
  • OS: Scientific Linux 5.5 (kernel-2.6.18-238.9.1.el5xen)
  • ファイルシステム: ext4

RAID10

  • ディスク: Seagate Barracuda Green ST2000DL003 2TB ×4本
  • レイアウト: 2Nearコピー
  • チャンク: 256KB
  • 使用可能容量: 4TB
  • CPU: Intel Atom D525 (2コア×2スレッド 1.8GHz)
  • OS: Oracle Linux 5.8 (kernel-2.6.18-308.4.1.0.1.el5xen)
  • ファイルシステム: ext4
RAID5 3デバイス
Left-Symmetric
RAID10 4デバイス
2Nearコピー
倍率
RAID10 ÷ RAID5
KB/s IOPS KB/s IOPS % %
Sequential Read 149,685 146 108,871 106 73 73
Sequential Write 37,043 36 126,210 123 350 340
Random Read 512K 42,068 82 36,276 70 86 85
Random Write 512K 20,119 39 84,372 164 430 419
Random Read 4K 1,094 273 966 235 88 86
Random Write 4K 594 144 1670 417 281 290
Random Read 4K ×32 2,460 608 2,276 568 93 93
Random Write 4K ×32 975 224 1,785 446 183 199

以下はfioの設定ファイルとそのときのログである。

コメントを残す