仮想サーバを使用した環境安全系サーバの統合化○

橋本明宏、下山哲矢、今井重文、青木延幸
工学系技術支援室

環境安全技術系

概要
工学研究科放射線安全管理室では， Web による情報発信を行うためにサーバを設置し，運用を行っている。
今年度にはシステム導入後 6 年が経過し、更新を検討するようになった。またコバルト 60 照射室、核燃料管理施設のサーバも同様に更新の必要性があるため、1 台の物理サーバを新規に導入し、仮想サーバを立ち上げ、サーバを統合化することを計画した。
今回準備段階として、工学研究科技術部研修において、仮想サーバの基礎的な学習から初め、システムの選定作業、OS のインストール作業、KVM を使用して仮想サーバを立ち上げて実際に動作確認を行ったので報告する。

1

はじめに

環境安全技術系では、派遣先の施設等の Web サーバ等で使用している Linux サーバの管理を行っている技術職員がいる。それぞれのサーバの更新時期になっており、また予備のサーバ等も無い状況で、サーバのバックアップおよびテスト環境の確保も十分出来ない状況であった。費用や設置場所を節約して、それらの状況を改善するために、サーバを統合化することを検討した。また将来的には環境（物理マシン、OS、アプリケーション等）を統一することで、メンテナンスにかかる労力の軽減も期待できると考えた。そこで今回仮想サーバを立ち上げて、実際に動作させて検証を行った。

2

サーバ構成の概要

３施設のサーバを今後統合化するために、現在の各サーバの構成を確認し、どのような形で統合化することが適切かどうかについて検討を行った。
2.1

現在のサーバ構成

３施設のサーバの構成は表１のようになっている。Web サーバ以外にもネームサーバ、データベースサーバとしても使用されている。また、OS とデータベースが異なっているものが使用されている。
表 1. 各施設のサーバ概要

OSWeb
データベース
データベース操作言語
その他

コバルト 60 照射室
Vine Linux
AppachePostgreSQL
PHP

放射線安全管理室
Vine Linux
AppachePostgreSQL
PHP
ネームサーバ

核燃料管理施設
Red Hat Linux
AppachePostgreSQL
JAVA
サーブレット: Tomcat

2.2

統合化の検討すべての OS 等を統一することで、１つの物理サーバに統合することも可能であるが、当面は現状のシステムをそのまま移行することを考慮した。また、現在使用しているドメイン名をそのまま利用することも出来、テスト環境の確保が簡単であることから、図１のように１台の物理サーバを仮想化し、仮想サーバを立ち上げて、各サーバの統合化を図ることとした。

放射線安全管理室サーバ（仮想サーバ）

コバルト60照射室サーバ（仮想サーバ）
核燃料管理施設サーバ（仮想サーバ）

物理サーバ
図 1. 仮想サーバの構成

3システムの選定

３施設のサーバの取り扱うデータ量はあまり多くなく、Web 等へのアクセス数も特に多くない。また管理する者全員が環境安全技術系技術職員であるため処理能力の高さよりも、安定性やメンテナンスの容易さを重視してシステムの選定を行った。
3.1

OS の選定OS の選定にあたっては、まずサーバ用途に向いていること、メンテナンスの負担が出来るだけ少ないことの２点について特に考慮した。CentOS は、Red Hat Enterprise Linux(RedHat)の完全互換を目指して開発されたフリーのクローン OS であり、またサポートの期限が 10 年程度と長く、定常的な稼働が要求されるサーバのOS 向きである。RedHat 系の Linux はメジャーなディストリビーションであり安定動作志向が強いため、メンテナンスについても負担が少ないと考え CentOS を選定した。
3.2

仮想化ソフトの選定

仮想化ソフトについては、CentOS に実装されている KVM(Kernel-based Virtual Machine)を使用することとした。KVM は Linux カーネルに統合されており、Linux 自体がハイパーバイザーとして動作する。また、カーネルに統合されていることで Linux カーネルが持つ機能をそのまま利用することが出来るメリットがある。
このことよりセキュリティについても、Linux カーネルに依存する。KVM は、CPU の仮想化支援機構を利用しているので、Intel VT や AMD-V といった仮想化支援機構に対応した CPU が必要となる。
3.3

サーバ機の選定

サーバ機のスペックを表２に示す。運用する仮想サーバは３つであり、各サーバの負荷もそれほど多くないため、ハイスペックな構成より、安定的に動作する構成とした。CPU は 64bit に対応した仮想化が実装され、各サーバに１コアを割り当てることが可能なように 4 コアのものを、HDD は 1TB×３台で RAID1 とホットスペアの構成とした。なおネットワークカードは当初は、オンボードのリアルテック社製ネットワークカードでは OS との相性が良くなかったため、インテル社製ネットワークカードを追加して対処した。

表 2. サーバ機のハードウェアスペック
CPUメモリネットワークカード
HDD
PowerUnit
MatherBoard

4

I5-4430 3.00GHz 4Core
DDR3 8G×2
INTEL GIGABIT CT
SATA/1TB×3
PC9026- R8II/600W
ASUS H87-PLIS H87
LGA1150ATX

OS のインストールおよびサーバの設定作業

ホスト OS、仮想サーバの OS とも CentOS6.4 をインストールした。また、ルータおよび無停電現装置を接続し、仮想サーバでの動作確認を行った。
4.1

ホスト OS のインストール

CentOS は The CentOS Project（http://www.centos.org）から CentOS 6.4 の 64 bit 版の iso イメージファイルをダウンロード後、DVD に書き込みインストールディスクを作成し、インストールを行った。仮想マシンは/var領域に作成されるため、領域を多く確保しておく必要がある。当初、/var 領域を多く確保していなかったた
め、仮想サーバが追加で作成できなくなり、再度やり直すこととなった。また、セキュアな環境とするためネットワークやグラフィカルインターフェース（X window)などのメンテナンスを行うためのツールなどの必要最低限の構成でインストールを行った。
（図２参照）インストール後は、host.allow、host.deny、sshd_configを編集して、ssh 接続を学内のみ及び root 接続を禁止した。

(a) 追加オプション選択画面(b) 追加ソフトの選択画面

図 2. CentOS インストール画面の例
4.2

仮想サーバの設定

BIOS の設定において CPU の仮想化機能を有効にし、ホスト OS 上で仮想マシンマネージャー（virt-manager）
を起動し、仮想サーバの OS をインストールするための設定を行った。設定内容は、表３の通りである。ホスト OS は必要最低限の構成でインストールしたが、仮想サーバは Apache 等の必要なサービスも同時にインストールした。なお作成された仮想サーバは/var/lib/libvirt/フォルダ内にイメージファイルとして保存される。
仮想サーバの起動、停止、削除も仮想マ
シンマネージャーから行うことが出来る。
また、仮想マシンマネージャーには、図 3のとおり現在構築されている仮想サーバが表示され、稼働状態を確認することが出来る。

表 3. 仮想サーバの設定内容
CPU の数
メモリ容量
ストレージ

4.3

1 コア
1024MB
100GB

図 3. 仮想マシンマネージャー

ネットワークの設定

KVM におけるネットワーク接続は仮想ブリッジを構成して接続を行う方法と NAT（Network AddressTranslation）機能を利用して接続を行う方法がある。今回はサーバとして外部からのアクセスが必要であるため、仮想ブリッジを構成して接続を行う方法でネットワークを構築した。具体的には図 4 に示すとおり/etc/sysconfig/network-script/ifcfg-br0 および ifcfg-etch0 を編集した。

/etc/sysconfig/network-script/ifcfg-br0 の作成
DEVICE=br0
ONBOOT=yes
BOOTPROTO=none
IPADDR=192.168.100.2
NETMASK=255.255.255.0
GATEWAY=192.168.100.1
TYPE=Bridge/etc/sysconfig/network-script/ifcfg-eth0 へ追記
BRIDGE=br0
図 4. ネットワーク設定ファイルの編集

また、各仮想サーバは Web 等の公開用のため、ルータ(ヤマハ製 NVR500)でフォワーディング設定を行い、固定のグローバル IP アドレスを割り当て、グローバル IP アドレスで各仮想サーバにアクセスできることを確認した。
4.4

無停電現装置の設定

停電時の自動停止・自動起動のために、無停電源装置（オムロン製 BN150S）を設置した。制御のための管理ソフトを付属 DVD よりインストールし、電源復帰後に自動起動できるように BIOS の設定を変更した。
設定後確認のため電源を遮断すると、設定した時間後にシャットダウンコマンドが走り、ホスト OS はシャットダウンし、仮想サーバはサスペンド状態となった。この後電源を再通電すると、POWER ON になり、ホスト OS および仮想サーバは復旧した。

5

仮想サーバのクローンの作成

仮想マシンマネージャーによって稼働中の仮想サーバのクローンを作成し、テスト環境やバックアップとして利用することが出来る。
仮想マシンマネージャーのクローンタグを選択することによって、「仮想マシンのクローンを作成」画面（図 5 参照）が表示される。これを実行することによって元の仮想サーバのクローンを作成できる。ただし、このとき、元の仮想サーバを停止する必要がある。また、実際にクローンを使用する場合は、udev の rules ファイル、ifcfg-eht0などのネットワーク環境を修正する必要がある。

6

まとめ

図 5. 仮想サーバのクローン作成

今回の研修において、今後予定している Linuxサーバの OS の更新やサーバの統合化のためのシステムを検討し、OS のインストール作業および仮想サーバの設定作業を行った。ネットワークカードと OS の相性問題等多少の不都合もあり、予想以上に手間取ることとなったが、最終的には実運用する場合に必要な無停電源装置やルータを設定し、システムとしての動作の確認まで行うことが出来た。仮想化ソフトの KVM およびサーバ OS の CentOS とも初めて扱うことになるため、本格的に運用するためには、今後細かな設定の確認を行う必要はあるが、サーバの統合化にあたっての基本的な準備と確認を行うことが出来た。

参考文献
[1]

CentOS 6 で作るネットワークサーバ構築ガイド，秀和システム