Name:井谷 寛
Title:ネットアップ合同会社 システム技術本部 ソリューション アーキテクト部 ソリューションアーキテクト
October, 2020
はじめに
前回のブログ「データの同期速度(2)NFS+スモールファイル」では小さなファイルが大量に存在する環境でのデータ同期速度を測定しました。今回はラージファイルのテスト結果をご紹介していきます。
NFS+ラージファイルのテストパターン
NFS+ラージファイル(1.08TiB、11604ファイル、1542ディレクトリ)に対して、以下のパターンでテストを実施しました。
(1) rsync x1 SAS |
(2) rsync x2 SAS |
(3) rsync x1 SSD |
(4) Cloud Sync Broker x1 SAS |
(5) Cloud Sync Broker x1 SSD |
(6) Cloud Sync Broker x2 SSD |
(7) Cloud Sync Broker x3 SSD |
(8) XCP x1 SAS |
(9) XCP x1 SSD |
(10) XCP x2 SSD |
NFS+ラージファイルのテスト結果 (rsync vs Cloud Sync)
(1)はrsyncサーバ1台でSASディスク上のラージファイルをAFF8080に同期しました。この時のFAS8040のDISK Utilは20-50%と低く、並列度を上げてコピーすればまだ性能が出ると判断し、(2)を実施しました。
(2)はrsyncサーバ2台で1つのSASディスクシェルフ(19D+2P)のデータをAFF8080に同期しました。ソースは1つのNFS exportのため、ソースデータの容量が半分ずつになるように2台のrsyncサーバで分担しています。例えばrsyncサーバAがディレクトリ1-3、rsyncサーバBがディレクトリ4-9というような指定を行い、ほぼ同じ容量を転送するようにしたときの2台分の性能が上記グラフです。これを実行した際のFAS8040のDISK Utilはまだ50-75%で、更に並列度を上げれば性能が出ると予想されました。しかしディレクトリ単位で容量を洗い出して均等に3つに分散させる作業が非常に煩雑なことと、他のツールでは性能が出ることが予想できたため、3並列以上は実施しませんでした。
実行コマンドは以下の通りです。
各rsyncサーバで”cd /mnt/FAS8040/” でソースのマウントポイントに移動後、同時実行。
rsyncサーバ1:rsync -avh DIR1 DIR2 DIR3 /mnt/AFF8080/ --progress
rsyncサーバ2:rsync -avh DIR4 DIR5 DIR6 DIR7 DIR8 DIR9 /mnt/aff8080/ --progress
(3)はrsyncサーバ1台でSSDディスクのデータを転送しています。(1)と比べて60%以上早くなりましたが、SASからSSDに変わってディスクの遅延が少なくなったことで高速になったと考えられます。この時点でまだインフラ側にボトルネックは見当たりませんでした。
(4)はCloud Syncのデータブローカー1台構成です。(1)と同じデータソースを使っていますが、SASでも十分な性能が出せており、FAS8040側のDISK Utilは常時100%になっていました。この時のFAS8040とデータブローカーサーバの負荷は以下の通りです。
FAS8040(Tape READ/WRITE列とCP(CP_Ty, CP_Ph)列を削除)
データブローカーサーバ
サーバも高負荷ですが、FAS8040のDISK utilが常時100%のため、SASディスクのネックが大きいと判断して(5)のSSDディスクのパターンを試しました。
(5)は(4)とディスクタイプだけが異なります。SSDへの変更で30%程度の性能向上がありましたが、(4)のテストの時点でサーバの負荷が高かったことから性能向上の幅は限定的でした。そのため(6)以降でデータブローカーを追加しています。
(6)はデータブローカー2台、(7)は3台構成にしましたが、段階的に性能が向上しています。性能だけでなく操作面でもrsyncの時のようにディレクトリ指定を分配しなくてよいのが非常に便利でした。ブローカー3台構成ではFAS8040から1000MiB/s近い性能で読み出しており、そろそろストレージ側のNIC帯域を気にする必要があります。ちなみに今回は最大性能を計測する検証ではないので、データブローカー4台構成は実施しませんでした。
データブローカー3台構成のFAS8040側の負荷
全体的にまだ余裕があります。SSDに対して負荷を掛けているので、Disk utilは一桁でした。
AFF8080側もまだ余裕があります。
NFS+ラージファイルのテスト結果 (XCP)
ここからはXCPの性能ですが、比較用に(4)、(5)、(7)のテストパターンのグラフを併記しています。XCPの実行パラメータはデフォルトのままで、--parallelは指定していません。
(8)はSASディスクにXCPを実行したときの値です。(4)と同じデータソースで同じ仮想サーバを使っていますが、60%以上高速です。
(9)はXCPでソースをSSDに変更した際の値です。この性能に達すると、ストレージのNICがうまくロードバランスされているかどうかを気にしなければなりません。ちなみにソース側のFAS8040で以下のコマンドで物理ポート単位でのNICの流量を確認しましたが、実は1つのNICに片寄って通信を行っていました。
SR-8040::> system node run -node SR-8040-01 -command ifgrp stat a0a
Interface group(trunk) a0a
e0g e0e e3b
Pkts In Pkts Out Pkts In Pkts Out Pkts In Pkts Out
153m 102m 161m 101m 57445k 101m
0 0 0 0 0 0 ← 2行目以降に直近のパケット数が表示
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
ここにはパケット数が表示されるため、流量はMTUサイズを掛け算すると算出できます。(9)はFAS8040の1つのポートの”Pkts Out”だけがカウントされていて、それ以外は使われていませんでした。ターゲット側のAFF8080はスイッチによってストレージのNIC 2ポートに対してロードバランスされており、ボトルネックの解消にはFAS8040のNICロードバランス方式の変更が必要でした。ONTAPでは以下のNIC設定を変更することで調整可能です。
FAS/AFFのNICの設定 – Interface Group
https://docs.netapp.com/ontap-9/index.jsp?topic=%2Fcom.netapp.doc.dot-cm-nmg%2FGUID-F4924A4C-9B7B-4281-BD07-A2F195BAC42D.html
NICのロードバランス設定 - Load balancing in multimode interface groups
https://docs.netapp.com/ontap-9/index.jsp?topic=%2Fcom.netapp.doc.dot-cm-nmg%2FGUID-27EAC723-A07A-4F60-A1AC-8E91AE6AE82E.html&cp=12_0_3_1_0_3
Interface Groupの設定で「Sequential load balancing」にすることで物理NICを分散利用することが確認できましたが、今回は10Gbpsまで性能が出れば十分と判断し、定量的なデータは取得していません。
(10)は複数のデータソースを使って、以下の構成でデータを同期しました。
XCPサーバ1 FAS8040コントローラAのSSDアグリゲートからREAD
XCPサーバ2 FAS8040コントローラBのSSDアグリゲートからREAD
どちらも書き込み先はAFF8080の1つのコントローラに片寄せしているため、AFF8080側のボトルネックが見えてきます。
AFF8080のコントローラ性能 (Tape READ/WRITE列とCP(CP_Ty, CP_Ph)列を削除)
FAS8040のコントローラ性能(コントローラA)
FAS8040のコントローラ性能(コントローラB)
このときのXCPサーバの負荷状況は以下の通りです。
(この状態のXCPサーバが2台あります。)
NFS+ラージファイル検証のまとめ
今回もrsyncはあまり性能が出ませんでしたが、Cloud SyncやXCPを使えば高速にデータ転送ができることがわかりました。テストパターン(8)の「XCP x1 SAS」の性能であれば、100TBのデータを約43時間でデータ同期できてしまいます。そして複数のボリュームを並列実行すればさらに多くのデータを同期できるので、NFS環境においてはストレージ機能を使わずに上抜きで新機種にデータ移行することも検討の余地があるかと思います。(NetAppのONTAP 7-modeからONTAP9.7への移行等)
もちろん、他社ストレージからNetAppへの移行にもご活用ください。
XCPの最大性能
正しく構成された環境では、NetApp XCPは物理サーバ1台で30Gbps以上の性能を出すことができます。詳細は弊社Youtube動画や技術レポートがあるので英語となりますがリンクを記載します。
参考1)Youtube動画
Data Mover Solution, Part 3 - MapRFS to ONTAP NFS for 1TB Using XCP
https://youtu.be/3k9p8kYdLLA
※ 4.23GiBytes/s x8 = 33.84Gbps
参考2)テクニカルブログ(英文)
Using XCP to Move Data from a Data Lake and High-Performance Computing to ONTAP NFS
https://blog.netapp.com/data-migration-xcp
参考3)関連するTechnical Report:
TR-4808
NetApp XCP Best Practices
Data Migration Support and Troubleshooting
https://www.netapp.com/us/media/tr-4808.pdf
TR-4850
Dell EMC Isilon to NetApp Using XCP and FabricPool
※ NetAppパートナー様向け限定公開 (Fieldportal / Partner HUBに掲載)
TR-4732
Big Data Analytics Data to Artificial Intelligence
Data Mover for Artificial Intelligence
https://www.netapp.com/us/media/tr-4732.pdf
今後の内容
今後はSMBのデータ同期と、クラウドへのデータ同期速度について記載していく予定です。
データの同期速度(4) SMB+スモールファイル
データの同期速度(5) SMB+ラージファイル
データの同期速度(6) 閉域接続(Direct Connect/Express Route)経由のクラウドデータ同期
データの同期速度(7) インターネットVPN経由のクラウドへのデータ同期
もし案件が見えていて特定の条件下での性能を知りたい方は、優先的にテストするので以下までご連絡ください。
問い合わせ先:https://www.netapp.com/ja/company/contact-us/
ネットアップハイブリッド・マルチクラウドラボの宣伝
ネットアップ合同会社では、どなたでもご利用いただけるハイブリッド・マルチクラウドラボをご用意しています。他社製品の機材持ち込みやデータ移行検証、ソリューションの組み合わせ検証が可能で、クラウドへのデータ移行テストを行いたい方には10Gbpsの高速なクラウド接続回線(Equinixデータセンター経由)もご利用いただく事が出来ます。
本格的な Hybrid Multi Cloud Lab環境
- インターネット回線・クラウド接続回線をNetAppが準備
- ほぼ全ての Hybrid Multi Cloud ソリューションに対応可能
- Cloud Insights による ハイブリッドクラウド環境モニタリング
- ハイブリッドクラウドVDI, マルチクラウド間のデータ共有
- クラウドデータ移行、Google Anthos 連携,
- データ階層化, AI検証with NVIDIA, etc..
インターネット経由で利用可能
- ラボはNetApp京橋オフィスとEquinixデータセンターに存在
- 検証毎に1つのグローバルIPを付与し、SSH/RDP/VPNで接続
- 環境を完全に分離し、同時に4~5社の検証を並行して実施可能
- お客様・パートナー様の機材の持ち込みも可能
今後の Hybrid Multi Cloud 環境の在り方を議論
- ソリューション アーキテクトにてLeadするWorkshopを実施
- お客様ニーズの明確化 と PoCを含めた プロジェクト スケジュールの立案
この環境を使ってみたい方、案件で活用したい方がいれば以下まで問い合わせください。
問い合わせ先:https://www.netapp.com/ja/company/contact-us/
ネットアップSEブログ連載記事一覧
瞬間移動!!ハイブリッドクラウド時代のデータモビリティに関して
a. データの同期速度
- 瞬間移動!!データの同期速度(1)テストの目的とテスト環境
- 瞬間移動!!データの同期速度(2)NFS+スモールファイル
- 瞬間移動!!データの同期速度(3)NFS+ラージファイル
b. メタデータの同期可否
- カテゴリ:
- オンプレ
- キーワード:
- NetApp