GIT – multiple Virtual Private Servers (VPS) by the use of on the same hardware, similar to Xen and the Vserver projectThe kernel patch is licensed under the GPL license, and the user-level tools are under the QPL license

1 Installing OpenVZ

To of OpenVZ wwant to add OpenVZ repository to

cd /etc/yum.repos.d
wget http://.openvz.org/openvz.repo
rpm –import http://download.openvz.org/RPM-GPG-Key-OpenVZ
open openvz.repo
vi openvz.repo
[...]
[openvz-kernel-rhel6]
name=OpenVZ RHEL6-based kernel
#baseurl=http://download.openvz.org/kernel/branches/rhel6-2.6.32/current/
mirrorlist=http://download.openvz.org/kernel/mirrors-rhel6-2.6.32
enabled=1
gpgcheck=1
gpgkey=http://download.openvz.org/RPM-GPG-Key-OpenVZ

[openvz-kernel-rhel5]
name=OpenVZ RHEL5-based kernel
#baseurl=http://download.openvz.org/kernel/branches/rhel5-2.6.18/current/
mirrorlist=http://download.openvz.org/kernel/mirrors-rhel5-2.6.18
enabled=0
gpgcheck=1
gpgkey=http://download.openvz.org/RPM-GPG-Key-OpenVZ
[...]

few different OpenVZ kernels The used for that is

yum search vzkernel

The available kernels are

[@server1 yum.repos.d]# yum search vzkernel
[...]
vzkernel.i686 : The Linux kernel
vzkernel.x86_64 : The Linux kernel
vzkernel-devel.i686 : Development package for building kernel modules to match the kernel
vzkernel-devel.x86_64 : Development package for building kernel modules to match the kernel
vzkernel-firmware.noarch : Firmware files used by the Linux kernel
vzkernel-headers.i686 : Header files for the Linux kernel for use by glibc
vzkernel-headers.x86_64 : Header files for the Linux kernel for use by glibc
[...]
[@server1 yum.repos.d]#

Pick one and install

yum install vzkernel

automatically update the GRUB bootloader open /boot/grub/menu.lst; the first kernel stanza should now contain the new OpenVZ kernel the value of default is 0 the OpenVZ kernel is booted automatically instead of the default kernel.

vi /boot/grub/menu.lst
# 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_server1-lv_root
#          initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title OpenVZ (2.6.32-042stab057.1)
        root (hd0,0)
        kernel /vmlinuz-2.6.32-042stab057.1 ro root=/dev/mapper/vg_server1-lv_root rd_LVM_LV=vg_server1/lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto  KEYBOARDTYPE=pc KEYTABLE=de rd_LVM_LV=vg_server1/lv_swap rd_NO_DM rhgb quiet
        initrd /initramfs-2.6.32-042stab057.1.img
title CentOS (2.6.32-279.el6.x86_64)
        root (hd0,0)
        kernel /vmlinuz-2.6.32-279.el6.x86_64 ro root=/dev/mapper/vg_server1-lv_root rd_LVM_LV=vg_server1/lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto  KEYBOARDTYPE=pc KEYTABLE=de rd_LVM_LV=vg_server1/lv_swap rd_NO_DM rhgb quiet
        initrd /initramfs-2.6.32-279.el6.x86_64.img

install some OpenVZ user tools

yum install vzctl vzquota

Open /etc/sysctl.conf the following settings in it

vi /etc/sysctl.conf

[…]

net.ipv4.ip_forward = 1
net.ipv4.conf.default.proxy_arp = 0
net.ipv4.conf.all.rp_filter = 1
kernel.sysrq = 1
net.ipv4.conf.default.send_redirects = 1
net.ipv4.conf.all.send_redirects = 0
net.ipv4.icmp_echo_ignore_broadcasts=1
net.ipv4.conf.default.forwarding=1
[...]
to modify /etc/sysctl.conf, run

sysctl –p

afterwards.

The following step is important if the IP addresses of your virtual machines are from a different subnet than the host system’s IP address. If you don’t do this, networking will not work in the virtual machines!

Open /etc/vz/vz.conf and set NEIGHBOUR_DEVS to all:

vi /etc/vz/vz.conf
[...]
NEIGHBOUR_DEVS=all
[...]

should be disabled if you want to use OpenVZ. Open /etc/sysconfig/ and set the value of to disabled

vi /etc/sysconfig/selinux
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux  policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     mls - Multi Level  protection.
SELINUXTYPE=targeted

Atlast reboot the system

Reboot

System reboots without problems nothing is wrong

Run
uname –r

and your new OpenVZ kernel should show up:

[[email protected] ~]# uname -r
2.6.32-042stab057.1
[[email protected] ~]#

2 Using OpenVZ

Before creating virtual machines with OpenVZ must to have a template for the distribution that we want to use in the virtual machines in the /vz/template/cache directory. from that template virtual machines will be created.

To use CentOS 6 in my virtual machines want to download a CentOS 6 template

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

The basic commands for using OpenVZ

set up a VPS from the CentOS 6 template, run:

vzctl create 101 -–ostemplate centos-6-x86_64 -–config basic

uniqe ID must be 101 each virtual machine must have own unique ID. if the virtual machine’s IP address is 192.168.0.101, you use 101 as the ID

To have the vm started at boot, run

vzctl set 101 -–onboot yes -–save

Set a hostname and IP address for the vm, run

vzctl set 101 --hostname test.example.com --save
vzctl set 101 --ipadd 192.168.0.101 -–save

Set the number of sockets to 120 and assign a few nameservers to the vm

vzctl set 101 --numothersock 120 --save
vzctl set 101 --nameserver 8.8.8.8 --nameserver 8.8.4.4 -–save

You can as well directly edit the vm’s configuration file which is stored in the /etc/vz/conf directory. If the ID of the vm is 101, then the configuration file is /etc/vz/conf/101.conf

To start the vm, run

vzctl start 101

Set a root password for the vm

vzctl exec 101 passwd

Connect to the vm via SSH

vzctl enter 101

Leave the vm’s console

Exit

Stop a vm, run

vzctl stop 101

Restart a vm, run

vzctl restart 101

Delete a vm from the hard drive

vzctl destroy 101

Get a list of your vms and their statuses, run

vzlist –a
[email protected]]# vzlist -a
CTID      NPROC STATUS    IP_ADDR         HOSTNAME
101         14 running   192.168.0.101   test.example.com
[[email protected]]#

To find out about the resources allocated to a vm, run

vzctl exec 101 cat /proc/user_beancounters
[[email protected]]# vzctl exec 101 cat /proc/user_beancounters
Version: 2.5
uid  resource           held    maxheld    barrier      limit    failcnt
101:  kmemsize        1508202    1661695   11055923   11377049          0
lockedpages           0          0        256        256          0
privvmpages        5430       7102      65536      69632          0
shmpages            381        381      21504      21504          0
dummy                 0          0          0          0          0
numproc              19         21        240        240          0
physpages          2489       2775          0 2147483647          0
vmguarpages           0          0      33792 2147483647          0
oomguarpages       2489       2775      26112 2147483647          0
numtcpsock            5          5        360        360          0
numflock              3          4        188        206          0
numpty                0          1         16         16          0
numsiginfo            0          2        256        256          0
tcpsndbuf         44720          0    1720320    2703360          0
tcprcvbuf         81920          0    1720320    2703360          0
othersockbuf      13144      14356    1126080    2097152          0
dgramrcvbuf           0       8380     262144     262144          0
numothersock         11         13        120        120          0
dcachesize            0          0    3409920    3624960          0
numfile             503        531       9312       9312          0
dummy                 0          0          0          0          0
dummy                 0          0          0          0          0
dummy                 0          0          0          0          0
numiptent            10         10        128        128          0
[[email protected]]#

The failcnt column is very important find out more about the vzctl command, run

Man vzctl

Print Friendly

Comments

comments

Bài viết liên quan