OpenVZを使用したLinux仮想化

多くの場合、さまざまな物理サーバーにさまざまなサービスを配布する必要があります。 しかし、物理サーバーが1つの場合はどうでしょうか。 ソリューションがあります-仮想化。 この記事では、Linuxカーネルに基づいた仮想化テクノロジーについて説明します。 Debianディストリビューションで検討します。 最近、OpenVZパッチがetchリポジトリに含まれました。 OSはすでにインストールされていると想定しています。

PS:あまりキックしないでください。これはHabréについての私の最初の記事です。

だから

カーネルの組み立てとインストール


まず、カーネルソースとパッチをインストールします。
適性の更新
aptitude install kernel-patch-openvz
aptitude install linux-source-2.6.18


また、仮想マシンを操作および管理するためのユーティリティも必要です。
aptitude install vzctl vzquota


カーネルを解凍します。
cd / usr / src
tar xjvf linux-source-2.6.18.tar.bz2
cd linux-source-2.6.18


構成をコピーします。
cp /boot/config-2.6.18-4-686 .config


configのCONFIG_SECURITYパラメーターを修正し、 nに設定する必要があります。 このように:

CONFIG_SECURITY = n

kernel-packageパッケージをインストールします。これにより、パッチが適用されたカーネルを使用してパッケージを構築できます。
aptitude install kernel-package


新しいカーネルをビルドしてインストールします。

make-kpkg --append_to_version = -1-openvz --added_pa​​tches = openvz --revision = 1 kernel_image
cd ...
dpkg -i linux-image-2.6.18-1-openvz_1_i386.deb
update-initramfs -c -k 2.6.18-1-openvz
update-grub


/boot/grub/menu.lstを編集して、新しいカーネルをロードします。 再起動します。

すべてを正しく行った場合、再起動後に新しいvenetネットワークインターフェイスが作成されます。

仮想マシンの作成。



まず、カーネルパラメーターを変更します。
sysctl -w net.ipv4.conf.eth0.proxy_arp = 1
sysctl -w net.ipv4.ip_forward = 1


次に、少なくとも1つのOSテンプレートが必要です(テンプレートはOpenVZ Webサイトにあります)。

cd / var / lib / vz / template / cache
wget download.openvz.org/template/precreated/debian-4.0-i386-minimal.tar.gz


VEID 101を使用して新しいマシンを直接作成します。
vzctl create 101 --ostemplate debian-4.0-minimal --config vps.basic
vzctl set 101 --onboot yes --save
vzctl set 101 --hostname hostname1.example.com --save
vzctl set 101 --ipadd 192.168.5.1 --save
vzctl set 101 --numothersock 120 --save
vzctl set 101 --nameserver 192.168.0.1 --save
vzctl set 101 --privvmpages 500000:750,000 --save
vzctl start 101
vzctl exec 101 passwd


中に入る:

vzctl Enter 101


すべてが機能するかどうかを確認し、お楽しみください:)

その他のユーティリティ:



設定ファイルは/ etc / vz /にあります
vzctl startコマンド-仮想マシンを起動します。
vzctl stopコマンド-仮想マシンを停止します。
vzctl restartコマンド-仮想マシンを再起動します。

cat / proc / user_beancountersは、使用されているリソースとその不足を示します。

vzlistは実行中の仮想マシンを表示します
vzlist -aは、構成されたすべての仮想マシンを表示します
vzpid $ PIDプロセスのpidによって、プロセスが実行されているVEIDが表示されます。

Source: https://habr.com/ru/post/J30198/


All Articles