IT井戸端会議

IT井戸端会議

インフラ、ネットワーク、アプリケーション開発、IT界隈の話等々を東京都千代田区界隈から発信します。

OpenVZ をインストールしてみる

OpenVZ は、Linux 用のコンテナ型仮想化のオープンソースです。 RHEL Kernel ベースの Kernal の上で OS 単位で VE(Virtual Environment) と言われるコンテナ型の環境が提供されます。

基本は、RHEL 系の OS が推奨されているようですが、Debian 系もインストール可能なようです。

KVMVMWare 等と比較して、ライブマイグレーションできる点が大きく異なります。

使用環境

CentOS release 6.5 (64bit)

セットアップ手順

基本セットアップは非常に簡単です。

まず、yum リポジトリを登録後、vzkernel をインストールし、OS を再起動します。

$ sudo yum install wget

$ cd /etc/yum.repo.d/
$ sudo wget http://download.openvz.org/openvz.repo
$ sudo rpm --import  http://download.openvz.org/RPM-GPG-Key-OpenVZ

$ sudo yum -y install vzkernel
$ sudo reboot

OS が起動したら、OpenVZ 本体をインストールします。

$ sudo yum -y install ploop vzctl vzquota

VE のテンプレートをダウンロードします。 今回は、centos-6-x86_64 をダウンロードしましたが、debianfedorasuseubuntu 等も準備されているようです。

$ cd /vz/template/cache/
$ wget http://download.openvz.org/template/precreated/centos-6-x86_64.tar.gz

VE 作成前にプロセスを再起動しておきます。

/etc/init.d/vz restart

/etc/vz/conf/ 配下で <config名> を確認し、 以下のコマンドで VE を作成します。

$ vzctl create <コンテナID> --ostemplate <テンプレート名> --config <config名>

<config名>は、/etc/vz/conf/ 以下にファイルがありますので、あらかじめ確認しておきましょう。

ls -l /etc/vz/conf/
合計 44
-rw-r--r-- 1 root root 1523  5月 12 00:08 2015 ve-basic.conf-sample
-rw-r--r-- 1 root root 1550  5月 12 00:08 2015 ve-light.conf-sample
-rw-r--r-- 1 root root 1113  5月 12 00:08 2015 ve-vswap-1024m.conf-sample
-rw-r--r-- 1 root root 1113  5月 12 00:08 2015 ve-vswap-1g.conf-sample
-rw-r--r-- 1 root root 1117  5月 12 00:08 2015 ve-vswap-256m.conf-sample
-rw-r--r-- 1 root root 1113  5月 12 00:08 2015 ve-vswap-2g.conf-sample
-rw-r--r-- 1 root root 1113  5月 12 00:08 2015 ve-vswap-4g.conf-sample
-rw-r--r-- 1 root root 1115  5月 12 00:08 2015 ve-vswap-512m.conf-sample

今回は、basic 使用して作成していきます。 VE 作成は、2〜3 分ほどで完了します。

# 実行例
$ vzctl create 00000001 --ostemplate centos-6-x86_64 --config basic

続けて、環境に合わせて必要なものを以下のコマンドを使用してセットアップします。

# ホスト名設定
$ vzctl set <コンテナID> --hostname <ホスト名> --save

# IPアドレス設定
$ vzctl set <コンテナID> --ipadd <IPアドレス> --save

# DNS設定
$ vzctl set <コンテナID> --nameserver <DNS IPアドレス> --save

# ユーザパスワード設定
$ vzctl set <コンテナID> --userpasswd <ユーザ名>:<パスワード>

設定が終わったら起動し、VE の起動状態を確認します。

vzctl start 00000001

$ vzlist -a
      CTID      NPROC STATUS    IP_ADDR         HOSTNAME
         1         20 running   192.168.0.11    server-1

以下の方法で簡単にアクセスすることができます。 ("exit" と入力することで、VE から抜けることができます。)

$ vzctl enter 00000001

以下のように実行することで、VE に入らずに、対象の VE 内でコマンドを実行することもできます。

$ vzctl exec <コンテナID> <コマンド>