第8回 なぜクラスタリングにSELinuxを使わないのか!


面 和毅
サイオステクノロジー株式会社
OSSテクノロジーセンター
開発支援グループ
グループマネージャー
2008/4/16


 クラスタリングとSELinux、相性はバッチリ……?

 実際にサーバを運用していくうえで、クラスタリングというキーワードは避けては通れないでしょう。クラスタリングソフトを使用した際に、SELinuxを無効にしなくてはならないのか気になるところだと思います。そこで今回から数回にわたって、クラスタリングとSELinuxの関係について紹介します。

 クラスタリングにもいろいろな種類がありますが、今回はサンプルとして、比較的理解が簡単なアクティブ/スタンバイ型を例にして検証を行います。

 クラスタリング・Powered by SELinuxの検証環境

 今回は、検証環境として図1のような環境を想定しています。

図1 クラスタリングを実現するための検証環境
  • プライマリ :CentOS 5.1
  • セカンダリ :CentOS 5.1

の2台のマシンが、アクティブ/スタンバイのクラスタリングを構成し、Apacheを動作させています。外付けの共有ストレージがあり、コンテンツファイルが格納されています。

 クラスタは、アクティブになったマシン上で、

  • 仮想IPアドレス(クライアントPCからApacheに接続する際のIPアドレス)
  • 共有ディスク(Apacheのコンテンツファイルを格納)
  • Apache(仮想IP上で動作)

を提供し、障害が発生した場合には上記3つのリソースをスタンバイ側に移動します。

図2 アクティブ/スタンバイでは障害時にそれぞれのリソースがスタンバイ側に移動する

 さらに今回は、手元の環境で簡単に再現ができるように、検証環境(プライマリ/セカンダリの両マシン)をVMWare Serverを用いて作成しています。

 VMWare Serverを用いた共有ディスクの実現

 今回、共有ディスクを作成するためにVMWare ServerでSCSIデバイスとしてHDDを追加しています。

 この際、注意点としてはHDDへの書き込みがすぐに反映される「Persistentモード」を使用することです。

 そのほか、クラスタリングのための共有ディスクを作成する際には、パラメータをある程度修正した方がよいようです。

【参考】
VMWareコミュニティ

Shared SCSI for clustering in VMWare Workstation
http://communities.vmware.com/message/107057

 VMware設定ファイル(.vmx)にて、共有ディスクを設定するために追記した部分をリスト1に挙げます。

scsi0.sharedBus=virtual
diskLib.dataCacheMaxSize = "0"
diskLib.dataCacheMaxReadAheadSize = "0"
diskLib.dataCacheMinReadAheadSize = "0"
diskLib.dataCachePageSize = "4096"
diskLib.maxUnsyncedWrites = "0"
disk.locking=FALSE

scsi0:1.redo = ""
scsi0:1.mode = "independent-persistent"
リスト1 .vmxファイルに追記した部分

1/3

Index
なぜクラスタリングにSELinuxを使わないのか!
Page1
クラスタリングとSELinux、相性はバッチリ……?
クラスタリング・Powered by SELinuxの検証環境
VMWare Serverを用いた共有ディスクの実現
  Page2
Heartbeatで実現するクラスタリング
SELinuxの設定はほぼデフォルトで
  Page3
クラスタリングの動作を確認する
静的コンテンツでは問題なし!


スイッチ・オン! SELinux 連載インデックス


Security&Trust フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Security & Trust 記事ランキング

本日 月間