CentOS 上安裝和配置 OpenVZ
經常有人問到 OpenVZ 和 Xen 哪個好,事實上 OpenVZ 和 Xen 不是同一層面的技術,OpenVZ 是操作系統層面(Operating system-level virtualization)的虛擬產品,和 FreeBSD Jail, Solaris Zone, Linux-VServer 等類似;而 Xen 和 VMware, KVM, Hyper-V 等產品站在同一陣營。OpenVZ VPS 實際上提供的是一個虛擬環境(Virtual Environment/VE),也叫容器(Container);而 Xen VPS 提供的是基于 Hypervisor 的虛擬機(Virtual Machine),這是本質上的不同,現在大家已經習慣用 VPS 這個名字把這兩種不同的產品和技術混為一談了。比起 Xen 專注于企業虛擬化和云計算領域,OpenVZ 最大的應用可能就在低端 VPS 市場,有無數的 VPS 服務商都使用 OpenVZ 提供10美元以下的 VPS 產品。了解一下 OpenVZ 的安裝和配置也會對使用 OpenVZ VPS 有所幫助,以下的安裝和配置操作在 VPSee 的一臺空閑 PC 和 CentOS 5.5 上完成
安裝 OpenVZ
首先加入 openvz 源、升級系統、安裝 openvz 內核和 vzctl, vzquota 等工具:
# cd /etc/yum.repos.d # wget http://download.openvz.org/openvz.repo # rpm --import http://download.openvz.org/RPM-GPG-Key-OpenVZ # yum update # yum install ovzkernel # yum install vzctl vzquota
調整內核參數
為了能讓 VE/VPS 訪問外部網絡,我們必須啟動 ip forwarding;如果內核出錯或者運行很慢,我們希望能用特殊按鍵 dump 一些信息到控制臺并結合 log 排錯,所以建議打開 kernel.sysrq:
# vi /etc/sysctl.conf ... net.ipv4.ip_forward = 1 kernel.sysrq = 1 ...
為了減少麻煩最好關閉 selinux,selinux 帶來的麻煩往往比得到的好處多:
# vi /etc/sysconfig/selinux ... SELINUX=disabled ...
檢查 vz 服務是否自動啟動,并重啟機器進入 openvz 內核:
# chkconfig --list vz vz 0:off 1:off 2:on 3:on 4:on 5:on 6:off # reboot
創建和安裝 guest
Perl 語言之父 Larry Wall 說過真正優秀的程序員有三大優良品質:偷懶,沒有耐性和驕傲自大。所以能利用別人的勞動成果就不要自己重造輪子:)我們可以到 http://download.openvz.org/template/precreated/ 下載已經安裝好的模版,有 centos, debian, ubuntu, fedora, suse 等幾個模版可以選擇:
# cd /vz/template/cache # wget http://download.openvz.org/template/precreated/ubuntu-10.04-x86.tar.gz
有了 ubuntu 10.04 的模版以后就可以用這個模版來創建 guest 系統(VE/VPS)了,以剛下載的 ubuntu-10.04-x86 為模版創建一個 ID 為 1 的 Virtual Environment (VE),并指定 IP 地址、DNS 服務器地址、主機名、磁盤空間等,創建成功后啟動 ID 為 1 的 VE,最后修改 root 密碼:
# vzctl create 1 --ostemplate ubuntu-10.04-x86 # vzctl set 1 --onboot yes --save # vzctl set 1 --ipadd 172.16.39.110 --save # vzctl set 1 --nameserver 8.8.8.8 --save # vzctl set 1 --hostname vps01.vpsee.com --save # vzctl set 1 --diskspace 10G:10G --save # vzctl start 1 # vzctl exec 1 passwd
啟動、重啟、關閉和斷電關閉 ID 為 1 的 VE/VPS:
# vzctl start 1 # vzctl restart 1 # vzctl stop 1 # vzctl destroy 1
查看正在運行中的 VE/VPS:
# vzlist CTID NPROC STATUS IP_ADDR HOSTNAME 1 8 running 172.16.39.110 vps01.vpsee.com
計算 ID 為 1 的 VE/VPS 用到的資源:
# vzcalc -v 1 Resource Current(%) Promised(%) Max(%) Low Mem 0.06 1.44 1.44 Total RAM 0.19 n/a n/a Mem + Swap 0.08 1.30 n/a Alloc. Mem 0.11 1.62 3.09 Num. Proc 0.01 n/a 0.32 -------------------------------------------- Memory 0.19 1.62 3.09
進入 guest
VE 成功啟動后就可以進入系統了,相當于 xen 的 xm console,不過從 VE 退出來不需特殊按鍵直接 exit 就可以:
# vzctl enter 1 entered into CT 1 root@vps01:/# exit logout exited from CT 1
原文鏈接:http://www.vpsee.com/2011/01/install-openvz-on-centos/
【編輯推薦】