CTU(Customer network Terminating Unit)のファームバグで連続稼動してると突然CTUが沈黙する症状が確認されたとか抜かしてやがります>NTT
今日起きたわ、ぼけwwwww ずっと起動しとるわあほうwwwww planex並みのルータだな、くそw
CTUってのはまあルータみたいなもんです。
ファームアップは23~24日とか。またとまるのかよ;;
さて。こっからは自分用メモ。ちょっと思い立ってHAクラスタ作成のテストとそのメモメモ。
共有ディスク構成なんて高くて手が出ないから当然のようにディスクミラーHA。ClusterProたけぇ!w 何使おうかな…。
というか当たり前のようにVMWareでテストするわけだけどもw
って書き始めると二秒で去っていく読者。まあまあwwwww
サーバってのはどんなにがんばっても必ずとまります。どんなに立派なサーバでも。
NECさんが一応完全無停止サーバを作っていますが、それでもとめようと思えばとまります。
っていうかすごいよね、いまのCPUの速度オーダーで電位差を作らない完全同期のシステム完全二重かサーバですよ。それなりに高いけど。
そこで、”とまること”を前提としてシステムは組むわけです。
サーバがハードウェア的に止まろうが、”サービスが止まらなければ”それでいいわけです。
逆はダメですよ、昨日の無能の状態とかね。
サーバは止まっていませんが、回線が止まっていれば見に来てくれた方には”Webサービスが提供されない”状態になりますね。
Webを参照できなければサーバが動いていようが止まって居なかろうが、”止まっている”ことに変わりは無いわけです。
今回の原因は回線だったわけですが、回線が止まっても大丈夫なようにするには、すごく大雑把な言い方をすれば回線を二本引けばいいわけです(ほんとはそんな単純な話でもないのだけど)。
一本が止まってももう一本の回線でサービスを提供できるわけです。
これを冗長化といいます。多重化とも言いますが、冗長化、冗長構成と呼ぶことのほうが多いですね。
同様に、このように”その部分が止まってしまうとそれより後ろに配置されたものがすべて機能を正常に提供できなくなる”部分のことをSPF、Single Point Failureと呼びます。いわば、ネットワークやサーバの急所です。
そして、サーバの冗長化へのアプローチのひとつが、このクラスタリングというわけです。
ちなみに回線の冗長化やサーバの冗長化にはアホかってくらい種類があります。
どれも一長一短なので、当然複数を組み合わせたりして、あたかも停止していないように見せかけることに腐心するのが私たちのお仕事なわけです。
まず、クラスタってなんでしょう。こいつは簡単に言うと、複数のPCやサーバをひとつに見せかけて、ひとつのサーバのように振舞わせることです。
主な目的は、耐障害性にあたるHAクラスタ、負荷を分散することが目的の負荷分散クラスタ、そしていわゆるスーパーコンピューターと呼ばれるシステムに当たる、ハイ・パフォーマンス・コンピューティング、HPCが俗にクラスタと呼ばれるものになります。
まず、皆さんがよく知ってるのが負荷分散サーバです。おそらく、一番目にすることが多い。
大手、と呼ばれるほとんどのポータルサイトなどはこれを使っていますね。
YahooさんはDNSラウンドロビンと呼ばれる技術です。ちょっと見てみましょう。
MS-DOSコマンドプロンプトから次のコマンドを打ってみましょう。
C:\>nslookup www.yahoo.co.jp
Server: ******.***.*****.**.***
Address: ***.***.***.***
Non-authoritative answer:
Name: www.yahoo.co.jp
Addresses: 203.216.247.225, 203.216.247.249, 202.93.91.151, 203.216.227.176
203.216.231.160, 203.216.235.201, 203.216.243.218
最初のServerとAddressにはあなたの使っているPCが利用しているDNSサーバの名前が出てきます。
これは、www.yahoo.co.jpのIPアドレスはどこ?って聞いているわけです。
結果を見てください。Addressとして、7つものIPアドレスが帰ってきています。
このアドレスのどれもが、同じwww.yahoo.co.jpのWebページを表示します。
http://203.216.247.225/
http://203.216.247.249/
http://202.93.91.151/
http://203.216.227.176/
http://203.216.231.160/
…飽きた。まあ、コピってみてください。どれも同じYahoo.co.jpが出ます。これがわかりやすいDNSラウンドロビン。
何回かnslookupを繰り返してみてください。
Addressの一番最初に表示されるIPアドレスが時たま変わっています。あなたのPCは、最初にもらったIPアドレスを表示しようとしますから、”実はあなたはいつも同じwww.yahoo.co.jpのサーバにアクセスしていたわけではない”ことがわかりますね。
まあ、NIC複数枚さして一台のサーバで実現することも出来ますが。
これも負荷分散と高可用性の一種です。DNSサーバはいくつかのwww.yahoo.co.jpのアドレスを持っておき、www.yahoo.co.jpってどこ?って聞かれたときに
・暇そうなヤツを教える
・順番に一個ずつずらして回答する
・暇そうで、なおかつ止まっていないサーバを教える
などの行動で問い合わせに対応するわけです。
なので、IPアドレスで直でwww.yahoo.co.jpを見に行くと時々止まってるやつが居たりします。
でもwww.yahoo.co.jpで見に行くと、ちゃんと表示される、と。
このほかにも手法はありますが、このような負荷分散のことをロードバランシングと言います。
Loadってのは負荷、Balancingで負荷のバランスを取る、ってわけ。
意外と知らない人も居るかもしれないので紹介してみました。
なお、《違うサーバにアクセスしているのに、まったく同じデータが表示される》というのは、実はとんでもなくめんどくさい話だったりします。
これを実現するのがディスクアレイとかによるSAN(Storage Area Network)が代表格です。
めちゃくちゃ高価いですが。ていうかファイバチャネルのカードもケーブルも安くなってきてるってのにFCスイッチ高すぎだ、ふざけんな。
InfiniBandとかしゃれにならんwwwwwwwwIsiron面白いシステムなのに使えるか、こんなんwwwww
さて。閑話休題。
HAクラスタ、というのは高可用性クラスタ(High Availability)と呼ばれる耐障害性を持たせることを主目的とするクラスタです。
SPFをなくすためには”同じものをもー一個用意する”のが一番わかりやすいですよね。
で、片方が死んだら、もう片方が自動的に動き出すようにしてやればいいわけです。
これが、HAクラスタの基本的な考え方。
アクティブ-スリープと呼ばれる構造で、メイン機が通常稼動し、止まったときにはサブ機が自動で立ち上がってメイン機の代わりを始める(フェイルオーバーといいます)。
メイン機を修理したりメンテしたりして、元に戻します。
今度はメイン機がサブとして待機する場合や、サブ機からメイン機に切り戻してやったり、そのへんは構成次第ですが。
ロードバランス的なものと組み合わせたのがアクティブ-アクティブ構成と呼ばれるもので、どちらも稼動している形を取ります。こっちのほうが当然高等ですが、はるかにめんどくさい上に金かかるし、うぜぇ。
というわけで、ここまでは”サービスをとめない”ということが目的のクラスタリング技術。
さて。最後のHPC。コレは目的が違います。
一台の計算機でやってたら1000年かかっちまう計算を、たっくさんの計算機あつめてくりゃもっと早く計算終わるんじゃね?wwwwwっうぇwwwwwwww
という観点からスタート。
…嘘くさいとか言うなwwww
現代のすーぱーこんぴーたーはほとんどコレ。たくさんのCPUを積んだ、一台でも高性能なマシンを100台とか1000台とかくっつけて、”一台のシステムに見せかける”マスターサーバを経由して計算処理を各サーバ(この個々のサーバのことをノードと言います)に割り当ててやるわけです。
…どっかで見たこと有るかもしれませんね。
そう、この技術こそいわゆるグリッドコンピューティングの技法でもあります。グリッドってなんのこっちゃとか言う人もいるか。
一台一台のノードの性能が低くても、100台じゃなくて100万台集めてくりゃスパコンも超越するんじゃね?wwwwwwっうぇwwwwwwww俺天才wwwwっうぇうぇwwwwwwってヤツです(嘘くせーw
SETI@Homeって知ってるか。宇宙人探そうぜプロジェクト。UDとかもこれ。白血病治療プロジェクトね。
そう、あなたのPCが仕事してないときの性能をちょっと分けてくれない?ってヤツです。NTTのグリッドはクソだが。
そう、そして11月に発売延期と堂々と今頃抜かしやがったPS3にもこのグリッドコンピューティングの技法を取り込む、といっていますね。
結構雲の上の話かと思ったらそうでもないでしょ?