未解決
Community Manager
•
3.1K メッセージ
2
377
アップグレード機能も着実に進化中
*こちらの記事は2021年12月に開催された[AskTheExperts]PowerScaleコーデ 2021冬からの内容になります。
アップグレード機能も着実に進化中
こんにちは。今回はOneFSのアップグレードに関する機能について紹介します。
OneFSのバージョンが新しくなり次々と新機能を実装するのと並行して、アップグレードに関する機能も着実に改良されていることはご存知でしょうか。アップグレード機能の改良の背景には、少しでもアップグレード時のメンテナンス時間を短縮し利便性の向上を図りたい、という想いがあります。ご存知のように、PowerScaleは容易にスケールアウトが可能であり、どれだけ大規模なクラスタになってもワンボリューム構成という圧倒的な利便性を持っています。そのため、ワークロードの追加や変化に合わせてノードを追加すればよく、クラスタのノード数は年々増加傾向にあります。そのような背景から、大規模クラスタにおけるアップグレード時間の短縮を望む声に応えるべくアップグレード機能も一歩一歩改良され続けています。
OneFS8.0以降、以下のような改良がなされてきました。
OneFSバージョン | 追加された機能 |
8.0 | メジャーバージョンのアップグレード時でもローリングアップグレードが可能 ロールバック機能追加 |
8.2.2 | Parallel upgradeを実装 |
9.2 | drain based upgradeを実装 アップグレード時にノードファームウェアの同時適用が可能(リブート回数の削減) |
9.3 | drain based upgrade時にoplock/leaseを持たないSMB接続をクラスタ側から切断 |
OneFS8.2.2以降で利用できる3種類のアップグレード方式(Parallel/Rolling/Simultaneous)については、こちらのリンクを参照してください。PowerScaleアップグレード編
アップグレードで使用するファイルとしては、以下のようなものがあります。
名称 | 用途 |
OneFS Installation file | OneFS本体のインストール用ファイル |
Rollup Patch | 月例のロールアップパッチ(OneFS初期リリースからの累積パッチ) OneFSのバージョン表記の4桁目がRollup Patchの世代を表している 例えば、OneFS 9.3.0.1は、OnFS 9.3.0リリースして1ヶ月後のRollup Patchを適用したバージョン |
OneFS Installation Bundle | Rollup Patch適用済のOneFS本体のインストール用ファイル Rollup Patchのリリースに合わせて、インストールバンドルも毎月リリースされる |
Node Firmware Package | ノードファームウェアのアップグレード用ファイル |
これらのファイルは弊社サポートサイトからダウンロードが可能です。
インストールバンドルが提供されるようになったのは2020年の3月ですが、それまでは初期リリースのOneFSで一旦アップグレードしたのちに最新のRollup Patchを適用するという2ステップを踏んでいました。Rollup Patchでもノードのリブートが必要なためアップグレード作業が長時間に及んでしまい、正直スマートではありませんでした。インストールバンドルのおかげでOneFSアップグレードとRollup Patch適用が1ステップで済むようになり、大幅なアップグレード時間の短縮が図られました。
アップグレード時間短縮の施策はまだ続きます。それがParallel Upgradeとノードファームウェアの同時適用の二つです。
一例として、F900 ×4nodeとA300 ×10nodeが混在した14ノード構成のクラスタに対して、ノードファームウェアのアップグレードとOneFSのアップグレードを「Rolling upgrade」と「Parallel upgrade」で実施した場合の作業時間を比較してみます。各作業時間と作業内容は下記の前提とします。※下記数値は例示のための参考値となり保証値ではありません。
<前提条件>
- アップグレードパス:OneFS9.2.1をOneFS9.3.0へアップグレード
- 1ノード当たりのノードファームウェアの適用に必要な時間:20分/1ノード (内訳・・・パッケージのロードと適用:10分、ノード単体の再起動:10分)
- 1ノード当たりのOneFSのアップグレードに必要な時間:20分/1ノード (内訳・・・パッケージのロードと適用:10分、ノード単体の再起動:10分)
Rolling upgradeの場合
Rolling upgradeかつノードファームウェアの適用を別々に実施する場合は1ノードずつ順次OneFSアップグレードを実施し、その後1ノードずつ順次ノードファームウェアを適用します。OneFS 8.2.2よりも前のアップグレード作業はこれが一般的でした。
結果、トータル560分 (9時間20分)掛かる計算になります。
内訳)
1ノード当たりのノードファームウェアアップグレード時間 (再起動の10分含む) :20分/1node × 14node = 280分
1ノード当たりのOneFSアップグレード時間 (再起動の10分含む) :20分/1node × 14node = 280分
Parallel upgradeの場合
OneFS 8.2.2以降ではParallel upgradeができるようになり、OneFS 9.2以降ではノードファームウェアも同時に適用できるようになったので、OneFS 9.2.1からのアップグレードであれば、これらを活用してトータル300分(5時間)で完了できる計算となります。
Parallel upgradeなのでノード数が多いA300 ×10nodeの方で時間を考えればよく、ノードファームウェアの同時適用では、ノードの再起動がノード当たり1回で済むため内訳は以下のようになります。
内訳)
1ノード当たりのノードファームウェアアップグレード (再起動時間の10分を除く) :10分/1node × 10node = 100分
1ノード当たりのOneFSアップグレード (再起動時間の10分を除く) :10分/1node × 10node = 100分
1ノード当たりの再起動:10分/1node × 10node = 100分
このように、インストールバンドル提供開始後の改良だけで見ても、半分近い時間短縮となっています。単一モデルの小規模クラスタでは大差ないですが、複数モデル構成やノード数が多くなればなるほどアップグレード時間の差は大きくなっていきます。アップグレード作業の長時間化を理由に、これまでアップグレードをしたくてもできなかった方もいるのではないでしょうか?そのようなケースの時には、この進化したアップグレード機能を思い出してください。
drain based upgrade
次に、OneFS9.2から実装された「drain based upgrade」について紹介します。
アップグレードを実施する際はノードの再起動が必要です。再起動されるノードに接続しているクライアントのSMB接続が強制的に切断されます。OneFS9.2で追加された「drain based upgrade」は、すべてのSMB接続が再起動しようとするノードからなくなるまでの間、ノードの再起動を待たせることが可能になりました。利用者を考慮したより安全なアップグレードの選択肢を提供しています。とは言え、いつまでも切断されないSMBクライアントが存在した場合には、アップグレードが無期限に遅延する可能性があります。それを回避するために、接続数がゼロにならない場合は設定したタイムアウト経過後にリブートを開始させる、という選択が可能となっています。
また、SmartConnectもdrain based upgradeと連携しており、ドレイン中のノードにはSMB接続を割り振りません。割り振ってしまうと接続が延々となくならずdrain based upgradeの意味がなくなってしまうので、SmartConnectがまさにスマートに接続を制御しています。
OneFS9.3以降では、drain based upgradeでSMB接続がなくなるのをただ待つだけではなく、oplock/leaseを持たない、つまり切断しても安全なSMBセッションをクラスタ側から強制的に切断する仕様が追加されました。無駄に待たなくても済むような仕組みになります。
Drain based upgaradeの利用方法は、WebUIから[Cluster management]→[Upgrade]を選択し[Upgrade OneFS]を押下します。
なお、「drain based upgrade」はParallel upgrade時のみ利用可能となり、対象のプロトコルアクセスはSMB接続となります。
このようにアップグレードに関する機能も拡充されており、ますます使いやすくなっています。今後ともPowerScaleをよろしくお願いいたします。