【2021年6月3日掲載】[Isilon][PowerScale] SmartConnect機能とOneFS v8.2以降での注意点
テクニカルセールスGの大本です。こんにちは。
前回はPowerScale F200のラッキングについてblogを書きましたが、今回はPowerScale/IsilonのOSであるOneFSをv8.2以降にバージョンアップする際の注意点と、その前振りを兼ねてSmartConnectという機能について紹介していこうかと思います。(※やれバッグの中身だラッキングだ、と、お前はそんなネタばかりかーいと思われてしまうので、たまには技術的な事も書かないとね・・・。)
目次:
・PowerScale/Isilonにおけるユーザアクセス負荷分散機能
・アプライアンス機器によるロードバランシングの動作
・DNSラウンドロビンの動作
・SmartConnectの動作とDNSラウンドロビンの比較
・OneFS v8.2からの注意点 ←※ここ重要
(SmartConnectについてご存知の方は、すっとばしてOneFS v8.2からの注意点だけどうぞ)
■PowerScale/Isilonにおけるユーザアクセス負荷分散機能
PowerScale/Isilonは複数のノードで構成されており、ノードごとにIPアドレスを割り当てて運用する仕組みになっています。
それらのノードに対するアクセス負荷を効率よく分散して、全体としてのパフォーマンスを向上させる(あるいは1ノードにアクセスが集中することを防ぐ)ための方法として、負荷分散の一般的な手法としては、DNSラウンドロビンやアプライアンス機器によるロードバランシング(負荷分散)などがありますが、PowerScale/IsilonにはSmartConnectと呼ばれる機能があり、一般的なラウンドロビンとは異なる方法でDNSを用いて、複数のノード間のロードバランシング、フェイルオーバーを実現しています。
■アプライアンス機器によるロードバランシングの動作
アプライアンス機器によるロードバランシング機能では、負荷分散させたい対象のIPアドレスをロードバランサー機器に割り当て、対象のIPアドレスにアクセスがあった場合に、ロードバランサー機器で設定してあるバランシングポリシーに則り、実際のアクセス対象ホストに割り当ててあるIPアドレスに対して通信を振り分ける、という動きをします。
(※もちろんロードバランサーのバランシング手法はDSR(Direct Server Return)方式をはじめとして、もっと細分化されていますし、全てがこのとおりのメカニズムではありませんが、基本的なロードバランシングの動作概要とお考え下さい。)
これに対して、PowerScale/Isilon上のロードバランシング機能では、DNSの名前解決をベースに負荷分散を行います。
例えばPowerScale/Isilon上のファイル共有サービスでアクセスしたいホスト名として、fileserver というホスト名を設定した場合、SMBプロトコルで fileserver としてファイル共有サービスにアクセスすることになりますが、こちらのホスト名の名前解決のためにDNSを利用する形になっています。
(※なお、NetBIOSはちょっと前のOSバージョンでIsilonのサポート対象外になりました。)
■DNSラウンドロビンの動作
DNSを利用した負荷分散手法としては、下図のように権威DNSサーバで管理しているゾーンファイルにAレコードを複数設定することによるDNSラウンドロビンの手法もありますが、PowerScale/IsilonではDNSのゾーン委譲の仕組みを利用した手法になっています。ここではDNSラウンドロビンとSmartConnectを比較しながら解説していこうと思います。
まず、DNSラウンドロビンの場合、下図のように権威DNSサーバ上の対象ゾーン内に複数のAレコードを用意してホスト名の名前解決を利用してアクセス負荷分散を促します。
(※DNSラウンドロビンの更に詳細な処理の動きとしては、DNS権威サーバはゾーンデータに設定されているAレコードをできるだけ(パケットサイズが許せば全部)詰め込んで送り出していて、クライアント上のアプリケーション側でその中から取捨している、とかもう細かい話が色々ありますが、この記事では本筋ではないので、「DNSでクライアントに対して複数のAレコードを提示することによって負荷分散を促す」というDNSラウンドロビンの概念として読んでいただければと思います。 > 主に「この分野では素人なのですが」界隈の皆様)
■SmartConnectの動作とDNSラウンドロビンの比較
一方、SmartConnectの動作としては、同じDNSを利用する仕組みではありますが、負荷分散対象となるホスト名をゾーンとして上位の権威DNSサーバからIsilonに権限委譲してもらいます。
1.)権限委譲されたゾーン名(ホスト名)への名前解決リクエストをPowerScale/Isilonが受けた場合には、(下図の①~④)
2.)PowerScale/Isilon上のロードバランシング機能を利用して設定に応じた負荷分散処理を行い、(下図の⑤)
3.)クライアントに適切なノードのIPアドレスを返答する。
という動きになっています。
DNSラウンドロビンを一歩推し進めたバランシング機能ですね。
DNSラウンドロビンだと、負荷が高かったりあるいは障害が発生しているノードにも均等にユーザアクセスが振り分けられてしまうというデメリットがありますが、SmartConnectによる負荷分散では、PowerScale/Isilonのクラスタシステム側で各ノードの死活やパフォーマンス管理をしているので、選択したバランシングポリシーに応じて、負荷の高いノードへの振り分けを減らしたり、障害が発生してダウンしたノードにはユーザアクセスを振り分けないように自動的にコントロールされます。
PowerScale/IsilonのSmartConnect機能の場合、DNSのゾーン委譲の仕組みを利用するため、ドメインを管理しているDNS権威サーバにNSレコードとAレコードを登録して利用します。この委譲にあたり、委譲対象ゾーンを管理するホスト名をNSレコードとして登録します。(上図でいうfileserver-scipというホスト名です。)
また、負荷分散させたい対象のホスト名用の仮想IPアドレス設定として、PowerScale/Isilonには「SmartConnect Service IPアドレス」という設定項目があります。権威DNSサーバへのゾーン管理権限の委譲の登録では、このSmartConnect Service IPアドレスを、ゾーン管理ホストのIPアドレスとして権威DNSサーバに登録します。
これにより、DNSの名前解決のフローに従い、DNSの名前解決問い合わせがPowerScale/Isilonに届くようになり、fileserverのホスト名解決問い合わせをSmartConnect Service IPアドレスが受け付け、PowerScale/Isilon内部でロードバランシングポリシーに則って振り分ける動作をするようになります。(なおバランシングポリシーとしては単純なラウンドロビンの他にCPU負荷、セッション数、ネットワーク使用帯域のいずれかが選択できます。)
独立したDNSサーバによるロードバランシングではなく、PowerScale/Isilon自身がDNSの問い合わせに応答することにより、高品質な負荷分散が図れるというところがこのSmartConnect機能のメリットです。
■OneFS v8.2以降の注意点
(SmartConnect IPアドレスとSmartConnectのホスト名)
さて、かくも便利なSmartConnect機能なのですが、実はOneFSv8.1まではこのSmartConnect Service IPアドレスに対して、IPアドレス指定でweb管理画面にアクセスしたり、直接SMBでアクセスすることが可能でした。(具体的には192.0.2.1 やhttp://192.0.2.1:8080 などという指定でのアクセスです。)
ただし、その場合にはDNSの名前解決を介さないため、アクセスは出来るがロードバランシング機能は働かないという仕様でした。(この場合、OneFS v8.1までは登録しているノードの中から一番若いIPアドレス番号のノードにユーザアクセスが集中する動きをしていました。)
OneFS v8.2ではこのSmartConnect Service IPアドレスへの直接アクセスについても見直しがあり、そもそもSmartConnect Service IPアドレスへのアクセスはDNSの名前解決の通信以外のアクセスには応答しないようになりました。このため、前述のような192.0.2.1 やhttp://192.0.2.1:8080 などというIPアドレス指定でのアクセスをSmartConnect Service IPアドレスに対して実施することは出来なくなりました。
現在OneFS v8.1以前のOSバージョンで運用されており、SmartConnect Service IPアドレスに直接アクセスするようなご利用をされていた場合、アップグレードした際にファイル共有サービスへのユーザアクセスに影響が出る、あるいはユーザから問い合わせが出てしまうかと思いますので、アップグレード前にご留意いただければと思います。(他にも、クライアント側のhostsファイルにSmartConnect Service IPアドレスでホスト名を登録していて、ホスト名解決にPowerScale/Isilon側のDNS機能を利用していない場合も同様に注意が必要です・・・。)
また、併せて、SmartConnect用のホスト名についてもFQDN(完全修飾名。ドメイン名等も省略せずに含めたホスト名です)での設定が必要になりました。
前述の例でいうとfileserverではなく、fileserver.example.jp
などのようにFQDNでのアクセスしていただくか、これまでどおりfileserverでアクセスしたい場合には、クライアントがWindowsであれば、各クライアント側のDNSサフィックス設定にPowerScale/IsilonのSmartConnectに設定したFQDNのドメイン名を登録しておく必要があります。
弊社のPowerScale/Isilon保守サポートをご契約のお客様は、OSバージョンアップについてご相談いただければ、このような付随情報も併せてご案内しております。
OneFS v8.1がこの6月でサポート終了になり、OneFS v8.2以上にアップグレードをご検討されているIsilonユーザも多いかと思われますので、今回はこちらのblogでもご紹介いたしました。OneFS v8.1のサポート終了直前ではありますが、この記事でOneFSアップグレード時のトラブルが未全に回避できれば幸いです。