冗長化について 研修コースに参加してみた
今回参加した研修コースは 冗長化について です。
このコースでは冗長化できるところを俯瞰し、どのように冗長化するのか、実機のルーターを使って演習しました。
実機の台数が限られていたこともあって、複数人でグループを組み実際にロードバランスしたり、VRRPをやってみたり、上手くいったりいかなかったり試行錯誤できたので、今回のコースで学んだ知識はもちろん、グループの中でこれまでのご経験や知識が実践できる場となりました。
ネットワーク構築者としてステップアップしようとしている方にはとてもオススメのコースです !!
では、どんな内容だったのかレポートします !
もくじ
想定する受講者
- TCP/IP通信の基礎知識(IPアドレス、サブネットマスクなど)と基本設定方法を習得していること
- サーバおよびネットワーク技術(主要なハードウェアとプロトコル)に関する基礎知識とLinuxの使用経験があること
受講目標
- ネットワーク環境の冗長化の目的を理解する
- 代表的な冗長化手法の概要を理解する
- 冗長化されたネットワーク環境の動作検証の方法を習得する
講師紹介
岩木 慎一 さんです。
1990年台半ばから講師業をスタートして、SEカレッジでは主にインフラ系のコースで登壇いただいています。もう講師をはじめられてから20年以上たってらっしゃるんですね。
なお、この “参加してみた” レポートでも登場されていますので、ぜひそちらもご覧くださいませ !
なぜ冗長化するのか
- 冗長化という言葉からは無駄などに見えるますが、止まらないための仕組みを作る、ということが目的
- SPOF(Single Point Of Failure 単一障害点) を無くす
- 冗長化を適用することで、一部パフォーマンスを上げることもできる
冗長化のやり方
冗長化には 迂回(HA High-Availability) と 負荷分散(LB Load[=負荷] Balancing) の2つのやり方があります。
- HA
- お互いに死活監視し、なにか障害があればスタンバイに切り替える
- LB
- 言葉の通り、複数台で負荷を分けるやり方
- いまはクラウドでオートスケールさせる取り組みも増えている
- ただ、クラウドのオートスケールは実は設計が難しい
- つい先日のニュースにもあったが、あるサーバ管理会社で60時間ストップした
- 断続的に障害が発生 <-> 復旧作業 => 無期限に停止してしまった
- 今年2月時点で、中小企業・官公庁など約2万社が利用していたサービスがダウン
- DBサーバはHAで組まれていることが多く、ストレージに負荷集中してしまう
- 仮想化している場合、十分なマージンをとることがオススメ
ハードウェアの冗長化
ここからはシステムのレイヤに分けて、どこを冗長化できるのか、紹介していきます。
まずはハードウェアです。
ディスク装置の冗長化 ストライピング
- 複数台のハードディスクを1台に見せる
- データを分けて複数台に読み書きする
- RAID0 の読み書きは速くなるが、1台でも故障すると使えないので、可用性は上がらない
- RAID0 で2台、RAID5~7で最低3台を使用
- RAID 5 ~ の総台数 – 1 台で記録できる
- パリティデータ (データを分割して符号を付けて保存したデータ) をもとに復元している
ディスク装置の冗長化 ミラーリング
- RAID1 にはNAS 装置がよく使われている
- 最近はDropboxなどのクラウドストレージがとても使いやすくなっている
- 可用性が高い
その他ハードウェアで冗長化できるポイント
- 電源の冗長化
- サーバ専用機の場合、内部の電源装置を冗長化しているので、コンセントを抜いても動いている
- 冷却ファンの冗長化
- ファンは消耗品 // 摩耗する
- CPU/メモリの冗長化
- まずまず壊れない
- NICの冗長化
- NIC (Network Interface Card) を複数搭載する
- 帯域を2つにできるので、パフォーマンスも上げられる
サーバの冗長化
ここからはサーバでの冗長化のポイントとやり方です。
- LBクラスタ
- ロードバランサーそのものも冗長化することもある
LBクラスタを設定してみる
ここでPCに仮想マシンを立てて演習です!
構成と演習内容
- 仮想マシン2台 と ロードバランサー 1台の構成
- [LB]
- ユーザーはこのLBのIPアドレスを見に来て、WWW1とWWW2に振り分ける
- WWW1
- WWW2
- 今回はラウンドロビンで振り分け (ただ交互にやる)
- 重み付けをして振り分けする方式もある
- レスポンスもLBを経由せず、直接リクエスト先まで返すこともできる
- 普通はセグメントを分けて、レスポンスを受けるインターフェイスとサーバーにリクエストをふりわけるインターフェイスを用意する
- 今回構築した Pound は簡単設定できるので、インターフェイスは1つ
- [LB]
- 演習したこと
- LBのインストール
- 設定ファイル pound.conf を編集して、WWW1 と WWW2 のIPを設定
- ロードバランシングして、WWW1 と WWW2 に切り替えていることを確認
ネットワークの冗長化 ~データリンク層
次にネットワークを冗長化するやり方です。
チーミング
- 通常時は高帯域の通信を実現
- 障害時は障害を起こしたNICを除外する
STP スパニングツリープロトコル
- スパニングツリープロトコルで遮断したスイッチへ迂回して接続する
その他にもネットワークの冗長化のやり方や、アプリケーションにおける障害検知と冗長化するポイントを解説頂き、STPやVRRPの演習を行いました。
STPを演習する
ここからは実機のルーターを使って演習します。
- 実際にルーターを使って、LANケーブルを抜いて、迂回したルートが接続されているか確認してみる
- ルーター2台とLANケーブルを使ってPCと接続
- ポートを遮断
ping
でルートが切り替わったことを確認
VRRP
- VirtualRouter で仮想IPアドレスを作ってルーターを切り替え、負荷分散する
VRRPを演習する
一番盛り上がった演習でした!
- 実際はスイッチ2台ではなくルーター2台のIPアドレスを設定
- Ciscoコマンドを使ってIPアドレスを仮想化
- PCからPCへ
ping
で疎通していることを確認する
最後の演習では研修時間をオーバーしながらも取り組むグループが多く、岩木さんに質問しながら最終的に全グループがVRRPを使って通信できていました !
まとめ
今回のコースでは冗長化するポイントをレイヤーごとに分けながら学び、いくつかの冗長化のやり方を演習しました。
グループで取り組んだこともあり、受講されている方同士で意見を交わして、試行錯誤しながら演習されていたのが、とても印象的なコースでした。
やはり研修コースは知識を学ぶではなく、体験をすることで、アウトプットが多くなり、学習が深まりそうだと感じました。
ネットワーク構築者としてステップアップしたい方には、これまでの知識を使ってグループ演習できるので、とてもオススメのコースです!
SEカレッジが気になった方はこちらからお気軽にお問合わせください!!
SEカレッジの詳細をご覧になりたい方はこちら!!
SEプラスにしかないコンテンツや、研修サービスの運営情報を発信しています。