鼎鼎大名的 OpenVZ 誰不知道?在主機行業被使用(濫用)很多年,依然在茁壯發展。作為一種操作系統級別的虛擬化技術,運行 OpenVZ 沒有硬性的硬件要求。OpenVZ 能夠創建被稱為容器(containers)的虛擬化環境。這些虛擬機沒有完全隔離(因語言習慣不同,還是將“容器”翻譯成“虛擬機”比較通俗易懂)。OpenVZ 其中的一項功能就是:它簡單並且幾乎沒有任何硬性開銷。有使用資源限制的虛擬機(如內存或硬盤),但這些限制都並不是死板的。所以,你可以分配更多的資源給實際可用的虛擬機。這也是 OpenVZ 的弱點之一,它很容易超售。
不管你喜歡與否,OpenVZ是一項很好的技術,它完美的創建了一種虛擬的環境,幾乎沒有任何硬性開銷。但是,你會用它做為 VPS 提供商嗎?
本教程就是安裝 OpenVZ 的指南:你需要在一台最小化安裝CentOS 64位(RedHat)操作系統的獨立服務器上來安裝 OpenVZ,至少2個IP地址(同一子網),還有一些時間。
1、安裝 OpenVZ
建議為虛擬機(默認是/vz目錄)分配一個單獨的分區上,並格式化為ext4文件系統。
下載 openvz.repo 文件到/etc/yum.repos.d/ 目錄下
wget -P /etc/yum.repos.d/ http://ftp.openvz.org/openvz.repo
導入 OpenVZ GPG key 用於簽名 RPM 包
rpm --import http://ftp.openvz.org/RPM-GPG-Key-OpenVZ
開始安裝
OpenVZ 現已支持 Linux 3.x內核,但目前仍在用着2.6.x的內核。
yum -y install vzkernel
至此,OpenVZ 就已經安裝完畢了。這時候,不能重啟機器。
確認 /etc/sysctl.conf 配置文件中的內容跟下列的一致:
# 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
同時,禁止SELinux,運行命令:
echo "SELINUX=disabled" > /etc/sysconfig/selinux
還需要安裝一些額外的軟件包:vzctl,用於管理虛擬機;vzquota,用於控制硬盤容量分配;ploop,用於 OpenVZ 的文件系統管理。
執行以下命令:
yum -y install vzctl vzquota ploop
到這一步完成后,重啟機器。系統會自動加載 OpenVZ 內核(默認選擇),啟動完成后,檢查是否正確安裝內核:
uname -a
會輸出類似以下結果:
Linux hostname 2.6.32-042stab081.8 #1 SMP Mon Nov 05 17:50:24 MSK 2013 x86_64 GNU/Linux
其中字符串“042stab081.8”代表着 OpenVZ 版本號,理應是 OpenVZ 官網上的最新版。
2、創建虛擬機(container)
創建一個虛擬機並不難,不過在這之前,需先下載 OpenVZ 官網上的一些操作系統的模版放在/vz/template/cache/下,請注意,下載回來的文件以tar.gz結尾,無需解壓。
OpenVZ 官網提供的模版下載地址:
http://openvz.org/Download/template/cache
這些模板包括:CentOS、Debian、Fedora、openSUSE、Ubuntu,都是常見的 Linux 發行版。
創建並啟動一個虛擬機,只需運行以下命令:
vzctl create CTID --ostemplate osname vzctl set CTID --ipadd a.b.c.d --save vzctl set CTID --nameserver a.b.c.d --save vzctl start CTID
這里的 CTID 是一個正整數ID,osname 是系統模版的名稱,a.b.c.d是分配的 IP 地址,nameserver 是域名服務器(通常用Google的公共DNS服務器8.8.8.8)。
舉例如下:
vzctl create 101 –ostemplate centos-6-x86 vzctl set 101 –ipadd 192.0.2.1 –save vzctl set 101 –nameserver 8.8.8.8 –save vzctl start 101
到這里,一個虛擬機(container)就創建好了。
刷新已創建的虛擬機,執行:
vzctl exec CTID ps ax
進入虛擬機,執行:
vzctl enter CTID
退出虛擬機,輸入exit即可。
停止虛擬機,執行:
vzctl stop CTID
刪除虛擬機,執行:
vzctl destroy CTID
對虛擬機的使用資源進行限制,則編輯/etc/vz/conf/CTID.conf即可。每個已創建的虛擬機都會有各自的配置文件。一般默認配置是256MB內存,512MB vSwap,2GB硬盤空間。
參考鏈接:
http://openvz.org/Quick_installation
http://wiki.openvz.org/Quick_Installation_CentOS_6
http://openvz.org/Basic_operations_in_OpenVZ_environment
http://lowendbox.com/blog/tutorial-getting-started-with-openvz/
轉載請注明:秋水逸冰 » OpenVZ安裝指南