仮想サーバー構築

【サーバ構築:第4巻】NICチーミングを設定しよう!【NIC冗長化】

2020年3月24日

NICチーミングを設定しよう!

前回までに下記の記事で、VmWare PlayerへLinuxを導入を進めてきました。

問題なくサーバーの構築が完了していれば、下記のサーバーが構築されているはずです。

本環境のマシン構成

  • Webサーバー
    • wb01(冗長化なし)
  • APサーバー
    • ap01(今回の記事での設定対象)、ap02(ap01と同様に設定)
  • DBサーバー
    • db01(ap01と同様に設定)、db02(ap01と同様に設定)

今回は、APサーバー(ap01)のNICへ冗長化の設定を行っていきます。

チーミングとは

チーミングとは、 コンピュータ内の複数の物理的なネットワークアダプタ(NIC)を、ソフトウェア上で仮想的な一つのアダプタとして一体的に運用することを指します。

ネットワーク上を流れるパケットのサーバへの玄関 (NIC)が壊れてしまうと、それ以降は通信が出来なくなってしまう状態となります。それを防ぐために、予め ネットワークを流れるパケットのサーバへの玄関(NIC) を2つ用意しておきます。

玄関が2つあっても、建物の住所(IPアドレス)は変わりません。

NICチーミングとは、コンピュータに装着された複数のネットワークインターフェース(NIC)を束ねて一つのアダプタとして運用し、負荷分散や帯域向上、耐障害性の向上を図る技術。

IT用語辞典

構築環境概略図

注意ポイント

本来、仮想環境(VmWare Workstation Player)に構築されたサーバーへのNIC冗長化を設定する必要はありません。何故なら、仮想環境には物理ケーブルや物理NICが存在しないからです。では、なぜ冗長化設定を行うのか?それは、物理サーバーを見据えてのことです。昨今のシステム環境は、技術の進歩に呼応して、流れるデータ量も膨大な量に増え続けています。当初は仮想環境で設計していたシステムが、そのデータ量に耐え切れず、急遽、物理環境(オンプレミス)へ変更すると言ったことが日常的になっています。

前準備

まずは、最低限必要な環境を設定をしていきます。

ap01サーバーへ設定する項目

  1. スクリプト格納ディレクトリ
  2. firewalldサービスの停止
  3. yumリポジトリの設定
  4. 「/etc/hosts」の設定

前回の「【サーバ構築:第3巻】Webサーバーを構築しよう!【設定の初歩】」を参照して設定します。

下記のリンクページを参照して「wb01」サーバーと同様に、上記で挙げた環境を設定します。

NetworkManagerの導入有無確認

RHELへチーミングを設定するために「NetworkManager」の導入有無を確認します。

「リポジトリ」が「installed」の為、「NetworkManager」モジュールは導入されています。

本記事では、上記のモジュール「NetworkManager」を使用して、NICチーミングの設定を行っていきます。

NICチーミング方式

NICチーミング構成

本環境のネットワーク構成は下記の通りです。
今後を踏まえて、dbサーバー分まで含めています。

サーバー名ipアドレスnic名categoryteam名runner
ap01192.168.109.151/24
gw:192.168.0.2
ens33public-lanteam0activebackup
ens34
ap02192.168.109.152/24
gw:192.168.0.2
ens33public-lanteam0activebackup
ens34
db01192.168.109.153/24
gw:192.168.0.2
ens33public-lanteam0activebackup
ens34
db02192.168.109.154/24
gw:192.168.0.2
ens33public-lanteam0activebackup
ens34

チーミング方式とは

冗長化の方法は、「リンクアグリゲーション」と「フォールトトレランス」の2つに分けられますが、今回は後者「フォールトトレランス」での設定を行っていきます。

  • リンクアグリゲーションとは、複数の物理リンクを束ねて、1つの論理リンクにする方法です。単純に帯域が倍になるため、アクセススピードの向上が望めます。
  • フォールトトレランスとは、1つの論理リンク内にある複数の物理リンクを、アクティブとスタンバイに分けて運用する方法です。アクティブの物理リンクがダウンすると、スタンバイ状態の物理リンクに自動で切り替えて通信を継続します。

NICチーミングの設定

本記事では、代表サーバーとして「ap01」サーバーへNICの設定を行っていきますが、他のサーバーも必要に応じてNICの設定を行います。

簡単な流れ

  • チームの追加
  • チームアドレスの設定
  • スレイブNICの追加
  • チームのリンクアップ
  • チーム「team0」の状態確認
  • 冗長化方式の設定
  • 動作確認
  • ルーティングテーブルの確認

① チームの追加

チーム名「team0」を追加します。

「team0」を追加

② チームアドレスの設定

チームアドレス「192.168.109.151/24」を追加します。

「team0」 へIPアドレスを設定

ゲートウェイの設定を行う場合は、末尾に「ipv4.gateway ""」を追加して設定します。

注意ポイント


本環境は仮想環境の為、ゲートウェイの設定は必要ありません。実際の商用プロジェクトの場合は、セグメントが複数に分かれる為、ゲートウェイの設定を行います。デフォルトゲートウェイは、1ノードに対し1つのみ設定します。

③ スレイブNICの追加

スレイブとなるNICを追加します。

「ens33」「ens34」を「team0」のスレイブNICとして追加します。

「ens33」を「team0」のスレイブに追加
「ens34」を「team0」のスレイブに追加

④ チームのリンクアップ

作成した「team0」を外部と疎通させるためにリンクアップします。

1行名:追加した「team0」は、作成時点でリンクアップしています。後から追加したスレイブNIC「ens33」「ens34」を認識させるため、一度 「team0」 をリンクダウンします。
2-3行目:追加したスレイブNIC「ens33」「ens34」をリンクアップ。
4行目:リンクダウンした 「team0」 を再リンクアップします。

追加した 「ens33」「ens34」 を有効化

⑤ チーム「team0」の状態確認

ここまでに作成した「team0」の状態を確認します。

追加した 「ens33」「ens34」 が「team0」のスレイブとして機能している状態

先ほど追加した「ens33」「ens34」がスレイブとして機能していることが分かります。

現在のRunnerは「roundrobin」となっていますので、このままでは「NIC」に障害が起きた際に動作が不安定になってしまいます。

⑥ 冗長化方式の設定

Runnerを「activebackup」へ変更します。

Runnerを設定した後は、設定内容を反映するために再起動(リンクダウン-リンクアップ)する必要があるため「④ チームのリンクアップ」を再度実行します。

Runnerが「activebackup」に変更された状態

⑦ 動作確認

「ens33」をリンクダウンして、activeポートは「ens34」へスイッチすることを確認します。

「ens33」のリンクダウン事項後、activeポートが「ens34」へスイッチしている

メモ

必要に応じて残りのサーバーへ(ap02、db01、db02)も同様の設定を行いチーミングを設定していきます。

⑧ ルーティングテーブル の確認

最後にルーティングの設定を確認します。

正しく設定が完了していれば「ルーティングテーブル」は下記の様に設定されています。

デフォルトゲートウェイの確認

インターフェイス「team0」が、デフォルトゲートウェイとして一番上に並んでいれば正常に設定がされています。

今回設定したチーミングの設定ファイルは「/etc/sysconfig/network-scripts/」配下へ作成されます。

以上でチーミングの設定は完了です。

お疲れさまでした。

よく読まれている記事

1

独立前は、誰もが不安でいっぱい。近い将来、フリーランスとして独立を考えている方が独立初期に躓かないために「独立前にやるべきことチェックリスト」をご紹介します。 当記事は前編となる「お金まわり編」。全て ...

2

ゲームなどのエンタメ分野での導入が進んでいるVR。言葉自体は耳にしたことがあっても、その意味を詳しく知らないという人も多いのではないでしょうか。また、次世代の新たな技術をビジネスに積極的に活用していく ...

3

フリーランスの確定申告には、青色申告と白色申告の2種類があります。いったいどちらの申告方法を選ぶべきなのでしょうか。 この記事では、青色申告と白色申告、それぞれのメリット・デメリットを把握することでベ ...

4

フリーランスの仕事場は、自宅をはじめとし、カフェや図書館、コワーキングスペースなど自由に選べます。しかし全ての場所で100%集中ができるどうかは、人それぞれです。どのような環境が自身の仕事場として快適 ...

5

フリーランスのITエンジニアとして、一番難しいのは「自己管理」と言えるでしょう。 自分の体調管理はもとより、仕事のスケジュール等すべて自分で管理します。もちろんフリーランスに有給休暇等ありませんから休 ...

-仮想サーバー構築

Copyright© Beエンジニア , 2020 All Rights Reserved.