OpenVZ をインストールしてみる
OpenVZ は、Linux 用のコンテナ型仮想化のオープンソースです。 RHEL Kernel ベースの Kernal の上で OS 単位で VE(Virtual Environment) と言われるコンテナ型の環境が提供されます。
基本は、RHEL 系の OS が推奨されているようですが、Debian 系もインストール可能なようです。
KVM や VMWare 等と比較して、ライブマイグレーションできる点が大きく異なります。
使用環境
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 をダウンロードしましたが、debian、fedora、suse、ubuntu 等も準備されているようです。
$ 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> <コマンド>