Centos6にOpenVZインストールしてsshログインするまで

Lpic304の勉強がてら試したのでメモ 第2段

これはCentos7の例。 https://thegeeksalive.com/how-to-setup-openvz-7-on-centos-7/

ただ、Centos7ではライブラリの依存関係が面倒だったので、Centos6で試す https://www.kwonline.org/memo2/2020/03/09/install-openvz-on-centos-6_5/ https://www.unixmen.com/install-and-configure-openvz-on-centos/

OpenVZインストール

wget -P /etc/yum.repos.d/ http://ftp.openvz.org/openvz.repo

rpm --import http://ftp.openvz.org/RPM-GPG-Key-OpenVZ

yum install vzkernel

追記
[root@mukkun ~]# cat sysctl.conf
# On Hardware Node we generally need
# packet forwarding enabled and proxy arp disabled
net.ipv4.ip_forward = 1
net.ipv6.conf.default.forwarding = 1
net.ipv6.conf.all.forwarding = 1
net.ipv4.conf.default.proxy_arp = 0

# Enables source route verification
net.ipv4.conf.all.rp_filter = 1

# Enables the magic-sysrq key
kernel.sysrq = 1

# We do not want all our interfaces to send redirects
net.ipv4.conf.default.send_redirects = 1
net.ipv4.conf.all.send_redirects = 0

[root@mukkun ~]# cat /etc/sysconfig/selinux | grep disable
#     disabled - No SELinux policy is loaded.
SELINUX=disabled

yum install vzctl vzquota ploop

grubでOpenVZのカーネルがデフォルトになっていることを確認してからreboot
[root@mukkun ~]# cat /etc/grub.conf
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/mapper/vg_mukkun-lv_root
#          initrd /initrd-[generic-]version.img
#boot=/dev/md127
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title OpenVZ (2.6.32-042stab145.3) ★
        root (hd0,0)
        kernel /vmlinuz-2.6.32-042stab145.3 ro root=/dev/mapper/vg_mukkun-lv_root rd_MD_UUID=7f9c0939:7a3803d8:68d9f945:65819100 rd_LVM_LV=vg_mukkun/lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_LVM_LV=vg_mukkun/lv_swap rd_MD_UUID=f7305389:dd025f17:6fc81a4e:ba4602f8 SYSFONT=latarcyrheb-sun16 crashkernel=auto  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
        initrd /initramfs-2.6.32-042stab145.3.img
title CentOS (2.6.32-754.30.2.el6.x86_64)
        root (hd0,0)
        kernel /vmlinuz-2.6.32-754.30.2.el6.x86_64 ro root=/dev/mapper/vg_mukkun-lv_root rd_MD_UUID=7f9c0939:7a3803d8:68d9f945:65819100 rd_LVM_LV=vg_mukkun/lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_LVM_LV=vg_mukkun/lv_swap rd_MD_UUID=f7305389:dd025f17:6fc81a4e:ba4602f8 SYSFONT=latarcyrheb-sun16 crashkernel=auto  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
        initrd /initramfs-2.6.32-754.30.2.el6.x86_64.img

コンテナを作成してみる

cd /vz/template/cache/

テンプレートダウンロード
wget http://download.openvz.org/template/precreated/centos-7-x86_64-minimal.tar.gz

コンテナ作成
vzctl create 101 --ostemplate centos-7-x86_64-minimal

IP・ホスト名の設定

IPの設定

[root@mukkun cache]# vzctl set 100 --ipadd 10.0.20.50 --save
CT configuration saved to /etc/vz/conf/100.conf

ホスト名変える

[root@mukkun cache]# vzctl set 100 --hostname con100  --save
UB limits were set successfully

起動・コンソールログイン・SSHログイン

起動

[root@mukkun cache]# vzctl start 100
Starting container...
Opening delta /vz/private/100/root.hdd/root.hdd
Adding delta dev=/dev/ploop32913 img=/vz/private/100/root.hdd/root.hdd (rw)
Mounting /dev/ploop32913p1 at /vz/root/100 fstype=ext4 data='balloon_ino=12,'
Container is mounted
Adding IP address(es): 10.101.20.50
Setting CPU units: 1000
Container start in progress...

入ってみる

[root@mukkun cache]# vzctl enter 100
entered into CT 100
[root@con100 /]#
[root@con100 /]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
[root@con100 /]# passwd
Changing password for user root.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

コンソールで入る

[root@mukkun cache]# vzctl console 100
Attached to CT 100 (ESC . to detach)

Password:
Login incorrect

con100 login: root
Password:
Last login: Sun Jul 12 10:59:32 on console
[root@con100 ~]#

Esc+.(ドット)で抜ける

sshしてみる

[root@mukkun cache]# ssh root@10.0.20.50
root@10.0.20.50's password:
Last login: Sun Jul 12 11:00:02 2020
[root@con100 ~]#

サーバー側からコマンドを実行してみる

[root@mukkun cache]# vzctl exec 100 /sbin/ip -4 a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    inet 127.0.0.1/8 scope host lo
2: venet0: <BROADCAST,POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
    inet 127.0.0.1/32 scope host venet0
    inet 10.101.20.50/32 brd 10.101.20.50 scope global venet0:0