【ext3とXFS】
Linuxのファイルシステムは、システムディスクに必須のext3が基本ですが、一部の大容量ストレージではXFSが用いられることがあります。XFSはファイルI/O速度、フォーマット速度、fsck速度などが速くジャーナルサイズも小さいため、大容量ストレージの構築ではメリットが多いとされています。確かにスクラッチディスク用としてRAID0 & XFSでファイルシステムを作成すると大幅な性能向上が確認されていますから、純粋にファイルシステムとしてはXFSが優れています。
【NFS version3とNFS version4】
分散ファイルシステムの構成は、NFSによるネットワークを介した複雑な処理のため実効性能の評価が大切です。なお、NFSにはversion 3とversion 4が存在します。NFS version4は高速化やセキュリティーの向上が期待できるとされています。
【GbE、GbEボンディング、10GbE】
ストレージの側の高速化、大容量化、低価格化は順調に進んでいます。これに対してネットワークの低価格化は進んでいません。そこで価格性能比が高いGbE構成の最適化、GbEボンディングの可能性、10GbEの有効活用など、ネットワークの特性を明らかにするテストが必要です。
素の750GB SATA 7200rpmディスクを用いて、ext3、XFS、NFS v3、NFS v4の基本的なテストを行いました。
テスト内容は大容量メモリ搭載機 (32GB) による巨大ファイル (100GB) のシーケンシャルI/Oテストです。
最新のディスクは非常に高速です。その状況が把握できました。
単体ディスクを用いたNFSでも単純なシーケンシャルI/Oなら十分な速度が得られました。
※シーケンシャルファイルでの単純なI/Oテストです。I/Oが輻輳するような状況では挙動が異なります。
【テスト項目】
SATA 750GB 7200rpmディスク上に作成したext3とXFSボリュームのローカルRead/Write速度を測定
ext3 & NFS v3、ext3 & NFSv4、XFS & NFS v3、XFS & NFS v4のリモートでのRead/Write速度の測定
ベンチマーク結果
| システム Q/C Xeon 3.0GHz 2CPU 8core 32GB Memory SATA 750GB 7.2k x1 No-RAID |
ストレージ | ファイル システム |
100GB ファイルサイズ W/R性能 (MB/s) | |||||
| ローカル | NFS v3 | NFS v4 | ||||||
| Write | Read | Write | Read | Write | Read | |||
| SATA (No-Raid) (750GB x1) |
ext3 | 87 | 86 | 66 | 81 | 60 | 58 | |
| XFS | 95 | 83 | 49 | 87 | 54 | 78 | ||
テスト環境
【NFSサーバー / クライアント】
Platform: HPC-ProServer DPrT7400 (PowerEdge T7400)
CPU: Xeon X5472 3.0GHz/2x6MBcache/FSB1600 2CPU 8core
Memory: DDR2-800 32GB
HDD (sys): SATA Seagete ST3250310AS 250GB/7,200rpm
OS: RedHatEL4 WS update5 (EM64T)
Kernel: kernel 2.6.9-67.0.15.plus.c4largesmp x86_64
HDD: SATA Hitachi HDP72505 750GB/7,200rpm*1 Non-RAID
Filesystem: ext3, XFS
NFS: NFS v3, NFS v4
※ ネットワークはハブを経由せずに、ストレートケーブルをLANポート to LANポートの直結、ギガビットイーサネットでの接続です。
十分に高速な実効容量7TB (Over 2TB)のRAID10ストレージを用いてext3、XFS、NFS v3、NFS v4の基本的なテストを行いました。RAID10の速度が十分に高速であること、ファイルサイズ10GBのファイルのシーケンシャルなファイルI/Oであること、1対1通信であること、ギガビットイーサネットの帯域がボトルネックになっていること、などの要因により、どのような構成でもNFSの速度は70MB/s以上の性能を発揮しています。この性能をベースラインにしながら、条件を変更して、性能の変化を探って行く予定です。
【その他】
5,400rpmの低回転数の1TB大容量ディスクを使用しています。Over 2TBの構成ではディスク数が多いため並列化効果が大きくなり、十分な高速化が実現されています。
テストで行っているシーケンシャルなファイルI/OではXFSの性能は潜在的です。しかしより現実的なスクラッチファイルなどの激しくファイルI/Oを繰り返す処理ではXFSはext3に比べて格段に性能を発揮しています。この性能差は今回のテストでは顕在化していませんのでご注意お願いします。
【テスト項目】
7TB RAID10ストレージ上に作成したext3とXFSボリュームのローカルWrite/Read速度を測定
ext3 & NFS v3、ext3 & NFSv4、XFS & NFS v3、XFS & NFS v4のリモートでのWrite/Read速度の測定
| システム D/C Xeon 2.13GHz 1CPU 2core 4GB Memory SATA 1TB 5.4k x14 PERC6/E 256MB |
ストレージ | ファイル システム |
10GB ファイルサイズ W/R性能 (MB/s) | |||||
| ローカル | NFS v3 | NFS v4 | ||||||
| Write | Read | Write | Read | Write | Read | |||
| RAID10 (1TB x14) |
ext3 | 251 | 126 | 91 | 73 | 104 | 67 | |
| XFS | 294 | 185 | 74 | 75 | 80 | 76 | ||
テスト環境
【NFSサーバー】
Platform: HPC-ProServer DPeR300 (PowerEdge R300)
CPU: E6405 Dual-Core Xeon 2.13GHz/FSB1066/2MBcache 1CPU 2core
Memory: DDR2-667 4GB
HDD (sys): SATA 80GB/7,200rpm x2 (RAID1)
OS: RedHatEL4 WS update5 (EM64T)
Kernel: kernel 2.6.9-67.0.15.plus.c4largesmp x86_64
RAID I/F: PERC6/E 256MBcache
HDD (RAID): SATA 1TB/5,400rpm x14 RAID10
Filesystem: ext3, XFS
NFS: NFS v3, NFS v4
【NFSクライアント】
Platform: HPC-ProServer DPe1950III (PowerEdge 1950V)
CPU: E5440 Quad-Core Xeon 2.83Hz/FSB1333/2x6MBcache 2CPU 8core
Memory: DDR2-667 32GB
HDD (sys): SATA 80GB/7,200rpm x2 (RAID1)
OS: RedHatEL4 WS update5 (EM64T)
Kernel: kernel 2.6.9-67.0.15.plus.c4largesmp x86_64
NFS: NFS v3, NFS v4
【Network】
Switch: DELL PowerConnect 2716
network帯域: 1Gbps