Skip to content
 

Cài đặt và sử dụng OpenVZ trên CentOS 6

OpenVZ

OpenVZ là giải pháp ảo hóa dạng container-based trong Linux. Nó tạo ra mỗi container giống như một máy ảo có IP riêng, có tài khoản root riêng,..vv. Bài viết này sẽ hướng dẫn các bạn cài đặt và sử dụng OpenVZ trên CentOS 6. Tìm hiểu thêm về OpenVZ tại đây.

1. Cài đặt OpenVZ:
– Để cài OpenVZ chúng ta phải tải repo của OpenVZ:

wget http://download.openvz.org/openvz.repo -O /etc/yum.repos.d/openvz.repo

– Sau đó sử dụng yum để cài đặt OpenVZ kernel và 1 số tools để quản trị OpenVZ :

yum install vzkernel vzctl vzquota

– Để cho OpenVZ hoạt động tốt thì cần chỉnh sửa file /etc/sysctl.conf và thêm vào nội dung dưới đây:

# 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

– Bạn cần phải tắt SELINUX để OpenVZ hoạt động, chỉnh giá trị của “SELINUX” thành “disabled” trong file /etc/sysconfig/selinux như sau:

# 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

– Sử dụng lệnh reboot để khởi động lại hệ thống sử dụng OpenVZ kernel.
– Sau đó kiểm tra lại hệ thống xem đang chạy với OpenVZ kernel hay chưa ? :

[root@openvz ~]# uname -a
Linux openvz.hien.local 2.6.32-042stab049.6 #1 SMP Mon Feb 6 19:17:43 MSK 2012 x86_64 x86_64 x86_64 GNU/Linux

2. Sử dụng OpenVZ:
– Trước khi bạn có thể tạo container chạy dưới OpenVZ, thì bạn cần có template. Các container được tạo ra từ những template này. Thông thường các template này được lưu ở thư mục /vz/template/cache . Các template này có thể được tải từ đây về hoặc tìm hiểu cách tạo template trên trang chủ OpenVZ.
– Bây giờ ví dụ bạn muốn tạo 1 container chạy bản phân phối Linux Ubuntu 11.10, bạn phải có template OpenVZ dành cho Ubuntu 11.10. Nếu chưa có bạn tải template đó như sau:

cd /vz/template/cache/
wget http://download.openvz.org/template/precreated/ubuntu-11.10-x86.tar.gz

– Sau khi tải xong template, bạn có thể tạo container chạy Ubuntu 11.10 với câu lệnh như sau:

vzctl create 101 --ostemplate ubuntu-11.10-x86 --config basic

(Trong đó “101” là ID cho mỗi container, phải duy nhất)

– Để container chạy lúc máy thật khởi động :

vzctl set 101 --onboot yes --save

– Đặt hostname là ubuntu-vm.hien.local và IPv4 address là 192.168.255.113 cho container:

vzctl set 101 --hostname ubuntu-vm.hien.local --save
vzctl set 101 --ipadd 192.168.255.113 --save

– Thiết lặp DNS cho container:

vzctl set 101 --nameserver 8.8.8.8 --nameserver 4.2.2.1 --save

– Giới hạn số lượng process mà container 101 có thể tạo ra là 200 :

vzctl set 101 --numproc 200 --save

– Khởi chạy container 101:

vzctl start 101

– Đổi mật khẩu root cho container 101:

vzctl exec 101 passwd

– Bây giờ bạn có thể truy cập container 101 thông qua SSH hoặc bằng lệnh sau:

vzctl enter 101

– Để thoát khỏi container gõ exit hoặc bấm Ctrl+D
– Để dừng container 101 :

vzctl stop 101

– Để xóa máy ảo 101 (phải dừng container trước khi xóa):

vzctl destroy 101

– Dùng vzlist để liệt kê danh sách container hiện đang có trên hệ thống:

[root@openvz vz]# vzlist -a
CTID NPROC STATUS IP_ADDR HOSTNAME
101 17 running 192.168.255.113 ubuntu-vm.hien.local

– Để kiểm tra tài nguyên đã cấp phát cho container 101 :

vzctl exec 101 cat /proc/user_beancounters

– Để tìm hiểu thêm lệnh vzctl qua manpage:

man vzctl

This work, unless otherwise expressly stated, is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Vietnam License.