GIT – Với , bạn có thể tạo ra nhiều máy chủ riêng ảo (VPS) trên cùng một phần cứng, tương tự như Xen và các dự án Vserver Linux. 

OpenVZ là chi nhánh mã nguồn mở của Virtuozzo, một giải pháp ảo hóa thương mại được sử dụng bởi nhiều nhà cung cấp cung cấp các máy chủ ảo. Các bản vá OpenVZ hạt nhân được cấp phép theo giấy phép GPL, và các công cụ người sử dụng cấp theo giấy phép qpl.

1.Cài openvz trên 5.5

Để cài đặt OpenVZ, chúng ta cần thêm các kho lưu trữ OpenVZ yum:

cd /etc/yum.repos.d
wget http://download.openvz.org/openvz.repo
rpm –import http://download.openvz.org/RPM-GPG-Key-OpenVZ

Kho chứa hạt nhân OpenVZ khác nhau (bạn có thể tìm thêm chi tiết về họ ở đây:http://wiki.openvz.org/Kernel_flavors). Lệnh là

# yum search ovzkernel

hiển thị các nhân có sẵn:

[@server1 yum.repos.d]# yum search ovzkernel
Loading ”fastestmirror” plugin
Loading mirror speeds from cached hostfile
* base: ftp.halifax.rwth-aachen.de
* openvz-kernel-rhel5: openvz.proserve.nl
* updates: ftp.halifax.rwth-aachen.de
* addons: ftp.halifax.rwth-aachen.de
* openvz-utils: openvz.proserve.nl
* extras: ftp.halifax.rwth-aachen.de
openvz-kernel-rhel5       100% |=========================|  951 B    00:00
primary.xml.gz            100% |=========================|  22 kB    00:00
openvz-ker: ################################################## 14/14
openvz-utils              100% |=========================|  951 B    00:00
primary.xml.gz            100% |=========================| 6.7 kB    00:00
openvz-uti: ################################################## 26/26
ovzkernel-ent.i686 : The Linux kernel compiled for huge mem capable machines.
ovzkernel-PAE.i686 : The Linux kernel compiled for PAE capable machines.
ovzkernel-ent-devel.i686 : Development package for building kernel modules to match the ent kernel.
ovzkernel-PAE-devel.i686 : Development package for building kernel modules to match the PAE kernel.
ovzkernel.i686 : Virtuozzo Linux kernel (the core of the Linux operating system)
ovzkernel-xen.i686 : The Linux kernel compiled for Xen VM operations
ovzkernel-xen-devel.i686 : Development package for building kernel modules to match the kernel.
ovzkernel-devel.i686 : Development package for building kernel modules to match the kernel.
[root@server1 yum.repos.d]#

Chọn một trong các phiên bản đó, rồi cài đặt như sau:

# yum ovzkernel

Điều này sẽ tự động cập nhật các bộ nạp khởi động GRUB. Dù sao, chúng ta nên mở / boot / grub / menu.lst , đoạn hạt nhân đầu tiên nên chứa các hạt nhân mới OpenVZ. Tiêu đề của hạt nhân mà chỉ cần đọc “CentOS”.Tôi nghĩ rằng đó là một ý tưởng tốt để thay đổi tiêu đề và thêm một cái gì đó với “OpenVZ” với nó để bạn biết rằng đó là kernel OpenVZ. Ngoài ra hãy chắc chắn rằng giá trị mặc định là 0 để hạt nhân đầu tiên (OpenVZ hạt nhân) được khởi động tự động thay vì hạt nhân mặc định CentOS.

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/VolGroup00/LogVol00
#          initrd /initrd-version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS OpenVZ (2.6.18-53.1.19.el5.028stab053.14)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-53.1.19.el5.028stab053.14 ro root=/dev/VolGroup00/LogVol00
        initrd /initrd-2.6.18-53.1.19.el5.028stab053.14.img
title CentOS (2.6.18-92.1.1.el5)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-92.1.1.el5 ro root=/dev/VolGroup00/LogVol00
        initrd /initrd-2.6.18-92.1.1.el5.img
title CentOS (2.6.18-92.el5)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-92.el5 ro root=/dev/VolGroup00/LogVol00
        initrd /initrd-2.6.18-92.el5.img

Bây giờ chúng ta sẽ cái đặt 1 số công cụ sử dung cho OpenVZ:

# yum install vzctl vzquota

Mở file /etc/.conf and sửa cấu hình như hình bên dưới

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
[...]

Nếu bạn sửa file /etc/sysctl.conf, thì bạn chạy lại sysctl bằng lệnh sau

# sysctl -p

Sau đó:

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!

Mở / etc / vz / vz.conf và các các bộ NEIGHBOUR_DEVS cho tất cả mọi người :

vi /etc/vz/vz.conf

[...]
NEIGHBOUR_DEVS=all
[...]

cần phải được vô hiệu hóa nếu bạn muốn sử dụng OpenVZ. Mở / etc / sysconfig /  và thiết lập giá trị của  là Disable

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 - SELinux is fully disabled.
SELINUX=disabled
# SELINUXTYPE= type of policy in use. Possible values are:
#       targeted - Only targeted network daemons are protected.
#       strict - Full SELinux protection.
SELINUXTYPE=targeted

Reboot lại hệ thống

# reboot

Nếu hệ thống reboot lại không có vấn đề gì thì openvz đã được cài đặt ok

Run

# uname -r

nhân mới se được hiện lên xem openvz dang version bao nhiêu

[root@server1 ~]# uname -r
2.6.18-53.1.19.el5.028stab053.14

2. Hướng dẫn cài đặt Openvz trên Centos 6

Để cài đặt OpenVZ, chúng ta cần thêm kho OpenVZ cho yum:

cd /etc/yum.repos.d
wget http://download.openvz.org/openvz.repo
rpm –import http://download.openvz.org/RPM-GPG-Key-OpenVZ

Bây giờ mở openvz.repo

vi openvz.repo

… và vô hiệu hóa kho lưu trữ [openvz-kernel-rhel5] (đặt enabled=0) và thay vào đó là kích hoạt kho [openvz-kernel-rhel6] (đặt enabled=1):

[...]
[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
[...]
[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
[...]

Nội dung kho lưu trữ các nhân (kernel) của OpenVZ sẽ có một vài sự khác biệt (bạn có thể xem chi tiết tại đây). Chạy dòng lệnh:

yum search vzkernel

Và đây là một số kernel có sẵn:

[root@server1 yum.repos.d]# yum search vzkernel
 [...]
 vzkernel.i686 : The Linux kernel
 vzkernel.x86_64 : The Linux kernel
 vzkernel-debug.i686 : The Linux kernel compiled with extra debugging enabled
 vzkernel-debug.x86_64 : The Linux kernel compiled with extra debugging enabled
 vzkernel-debug-devel.i686 : Development package for building kernel modules to match the debug kernel
 vzkernel-debug-devel.x86_64 : Development package for building kernel modules to match the debug 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

Chọn một trong số đó và tiến hành cài đặt:

yum install vzkernel

Điều này sẽ tự động update các bộ nạp khởi động GRUB tốt nhất. Chúng ta nên mở /boot/grub/menu.lst; đoạn kernel đầu tiên lúc nên chứa nội dung của kernel OpenVZ mới. Tiêu đề bạn có thể đặt là “CentOS Linux“. Ngoài ra hãy chắc chắn rằng giá trị default 0 để các kernel đầu tiên (OpenVZ kernel) sẽ tự động khởi động thay vì CentOS kernel như mặc định.

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 CentOS Linux OpenVZ (2.6.32-042stab020.1)
        root (hd0,0)
        kernel /vmlinuz-2.6.32-042stab020.1 ro root=/dev/mapper/vg_server1-lv_root rd_LVM_LV=vg_server1/lv_root rd_LVM_LV=vg_server1/lv_swap rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=de crashkernel=auto rhgb quiet
        initrd /initramfs-2.6.32-042stab020.1.img
title CentOS (2.6.32-71.el6.x86_64)
        root (hd0,0)
        kernel /vmlinuz-2.6.32-71.el6.x86_64 ro root=/dev/mapper/vg_server1-lv_root rd_LVM_LV=vg_server1/lv_root rd_LVM_LV=vg_server1/lv_swap rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=de crashkernel=auto rhgb quiet
        initrd /initramfs-2.6.32-71.el6.x86_64.img

Bầy giờ chúng ta tiến hành cài đặt OpenVZ sử dụng công cụ:

yum install vzctl vzquota

Mở /etc/sysctl.confvà chắc chắn rằng bạn có những thiết lập như dưới đây:

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

SELinux cần phải vô hiệu hóa nếu bạn muốn sử dụng OpenVZ. Mở /etc/sysconfig/selinux và thiết lập giá trị của SELINUX thành disabled:

vi /etc/sysconfig/selinux
[...]
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
[...]

Nếu bạn muốn chỉnh sửa /etc/sysctl.conf, chạy lệnh:

sysctl -p

Lưu ý: Các bước tiếp theo dưới đây rất quan trọng nếu địa chỉ IP của máy ảo là từ một Subnet khác với địa chỉ IP của hệ thống máy chủ. Nếu bạn không thực hiện chính xác theo những bước này, kết nối mạng sẽ không hoạt động trong máy ảo! Mở /etc/vz/vz.conf và thiết lập NEIGHBOUR_DEVS cho toàn bộ:

vi /etc/vz/vz.conf
# 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

Cuối cùng khởi động lại hệ thống:

reboot

Nếu hệ thống được reboot lại mà không gặp sự cố nào, chạy tiếp lệnh sau:

uname -a

Và kernel mới của OpenVZ sẽ hiển thị như sau:

[root@server1 ~]# uname -a
 Linux nl14 2.6.18-308.el5.028stab099.3 #1 SMP Wed Mar 7 15:56:00 MSK 2012 x86_64  x86_64 x86_64 GNU/Linux

Thảo luận bài viết tại forum : http://forum.gocit.vn/threads/cai-dat-openvz-tren-centos.609/

Print Friendly

Comments

comments

Bài viết liên quan