Using And Installing OpenVZ On CentOS 6.3

Thảo luận trong 'Góc Ảo Hóa' bắt đầu bởi hautp, Thg 1 8, 2013.

  1. hautp

    hautp Well-Known Member

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

    To Install of OpenVZ wwant to add OpenVZ repository to yum
    cd /etc/yum.repos.d
    wget http://download.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 command used for that is
    yum search vzkernel
    The available kernels are
    [root@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
    [...]
    [root@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 defaultCentOS 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
    [...]

    SELinux should be disabled if you want to use OpenVZ. Open /etc/sysconfig/selinux and set the value of SELINUXto 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 security 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 Security 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] cache]# vzlist -a
    CTID NPROC STATUS IP_ADDR HOSTNAME
    101 14 running 192.168.0.101 test.example.com
    [[email protected] cache]#

    To find out about the resources allocated to a vm, run
    vzctl exec 101 cat /proc/user_beancounters
    [[email protected] cache]# 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] cache]#

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

Chia sẻ trang này