第1回やってみようLinux-HA「プロローグ」
はじめてのLinux-HA
みなさんはじめまして。はじめましてじゃない方はこんにちわ。橘べるちぇです。このコーナーはLinux-HAという小難しいよくわからないものを誰でも簡単に試してみることができることをモットーに、私橘べるちぇが考えていることをダダ漏れにしながらみなさんと一緒にLinux-HAを学習していきたいと思います。
HAクラスタを考える
HAクラスタって何でしょうか。皆さんの目的は一様にして「この可愛いキャラクターはなんだろう」疑問を持って…基、「サービスが落ちたら困る」という問題に対していろいろなソリューションを探してLinux-HAというものにたどり着いているのではないかと思います。
ではLinux-HAを導入したらサービスは落ちなくなるのか?という所ですが、それは断じてないとここでアピールしておきます。
Linux-HAってなんだろうなぁ…とたまに考える時があるのですが、HAクラスタって簡単に言うと「落ちたときにどうしようかね」というのを対処してくれるソリューションなんだと思っています。サーバが落ちる原因はいろいろあってハードウェア故障だったりソフトウェアのバグ踏んだり、宇宙から変な粒子が飛んできてそれの影響で落ちたりいろいろなんだと思います。想定できる問題っていうのはある程度想定してしまっているから「落ちる」という原因については100%想定外な事象なんだというのも感じています。
いざサーバが落ちたとき、HAクラスタ環境を導入していないと100%次の日なり気付いたときに対処を講じるまでサービスはダウンしてしまいます。HAクラスタを導入すると、その気付いたときに行う対処を60%くらいの確立で自動でやってくれて、40%分くらいサービスの復旧が早くなる。という程度で考えています。たったの60%?と思われるかもしれないですが、100%復旧しないということと、60%くらいの確立でサービスが自動復旧するということの差は天地の差があると思います。
業務で使用する場合も趣味で使う場合も、Linux-HAを導入した上でサービスダウンに対しての対応策は考えるべきであって、
自動的にサービスが復旧してくれた「ラッキー♪」
と思っているくらいが、重大な損害を出さないサーバ運用に繋がるものなんだと思います。業務で使う場合は「落ちないようにする努力」と「落ちたときちゃんと切り替わる努力」と「切り替わらなかった時でも対応できる準備」の3つの要素をちゃんと考えるようにしましょう。
「そんなこともあろうかと!」
と言える準備はしておくにこしたことないですよね。
※ 信頼性が無いというモノではありません。心意気の問題です。1%でも想定可能な障害の可能性があるならばそこに対応策を用意しておくというのがヲタ…プロの仕事です。
HAクラスタの構成を考えてみよう
前置きがちょっと長くなりましたが、さっそくHAクラスタをはじめてみましょう。しかし、ただHAクラスタの構成っていっても、目的が無ければ構成もクソもありません。まず何か目的を決めてみましょう。何がいいかな…。うーんまずは一番簡単というかデータを持たないサービスが良いですね。よし、DNSキャッシュサーバーにしましょうw
DNSサーバって重要ですよね?重要なんです。だから冗長化してみるんです。え?セカンダリがあるからどうでもいい?いやまぁそう言われるとアレなんですが、とりあえず今回は、DNSキャッシュサーバーである「Unbound」をLinux-HA(Heartbeat+Pacemaker)で冗長化してみましょう。「なんでBINDじゃないの?」とかいう質問については大人の事情というか、個人的な事情なのであまり言及しないでください。ちょっと決めたことをまとめてみよう
-
Active/Standby構成のHAクラスタ環境にする
-
ActiveサーバがおかしくなったらStandbyサーバでサービスを起動する
-
サービスはUnboundにする
-
Unboundへのアクセスは仮想IPアドレスにする(切り替わっても同じIPでアクセスできるから)
こんなもんでいいや。あとは、そうだ。OSどうしよう(笑)まぁ、よく使われているディストリビューションということでCentOS5.5にしましょう。一緒に学習していくにあたって準備ができる方は仮想環境でも実機でもかまわないので2台のサーバにCentOS5.5をインストールしてしておいてみてください。今後のアレもアレなので、仮想環境の場合は以下のように設定してみてください。
-
仮想環境はVirtualBoxを使う(VMPlayterでもいいけどVMXの設定解説するのがめんどくさい)
-
仮想ディスクは10GBくらいずつとって、4GBをシステム領域、512MBくらいをSwapとして/dev/sda1,/dev/sda2 にする。
-
残り5GBちょっと空いているのは後で使うのでそのまま放置
-
NICの設定は、1個がサービス用、2個目(内部ネットワーク)がLinux-HAの監視用として確保。(計2個)
-
ホスト名は「kana.localhost」「kayo.localhost」とかでいいです。
まずは実践ですよね。最初から難しいものやろうとしたって難しくなるだけなので簡単なところからやってみてHAクラスタの動作とか理解してくことにしましょう。
次回予告
Heartbeat、Pacemakerのインストールと、基本的な設定についてやってみましょう。あとは途中で出てくる用語とか適当に調べながらやっていきますね。