知乎專欄 | 多維度架構 | 微信號 netkiller-ebook | QQ群:128659835 請註明“讀者” |
過程 3.1. OpenVZ 安裝步驟
獲得OpenVZ yum安裝源
# cd /etc/yum.repos.d # wget http://download.openvz.org/openvz.repo # rpm --import http://download.openvz.org/RPM-GPG-Key-OpenVZ
安裝OpenVZ核心以及標頭檔
# yum install ovzkernel[-flavor]
修改啟動所使用的內核為OpenVZ內核,使OpenVZ內核為預設啟動內核
# vim /etc/grub.conf
將類似下面的內容
title Fedora Core (2.6.8-022stab029.1) root (hd0,0) kernel /vmlinuz-2.6.8-022stab029.1 ro root=/dev/sda5 quiet rhgb vga=0x31B initrd /initrd-2.6.8-022stab029.1.img
修改為類似這樣
title OpenVZ (2.6.8-022stab029.1) root (hd0,0) kernel /vmlinuz-2.6.8-022stab029.1 ro root=/dev/sda5 initrd /initrd-2.6.8-022stab029.1.img
或直接在裡面尋找類似開頭為
title CentOS (2.6.18-194.3.1.el5.028stab069.6)
的項目,並且把default改為他的下標,下標從0開始
修改LINUX網絡配置檔案
/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
# lokkit --selinux=disabled
SELINUX=disabled
重啟LINUX
# reboot
安裝OpenVZ管理工具
# yum install vzctl # yum install vzquota # yum install vzyum
用到什麼工具就安裝什麼工具,具體可以使用# yum search vz*搜索一下
啟動OpenVZ服務
# /sbin/service vz start
由於VZ是半虛擬化的,所以VZ和VM不同的是VZ需要系統模板,而不是VM那樣只需要一個ISO檔案就可以安裝
搜索系統模板
# yum search vztmpl
在搜索出來的結果中選用你想安裝的操作系統
# yum install vztmpl-centos-4 -y
為操作系統模板建立緩存
在我裝的最小化CENTOS中,此步要下載很多包,需要很長時間完成
# vzpkgcache
該命令將建立centos-4-i386-minimal.tar.gz和centos-4-i386-default.tar.gz檔案 或
# vzpkgcache centos-4-i386-minimal
建立 centos-4-i386-minimal.tar.gz
# vzpkgcache centos-4-i386-default
建立 centos-4-i386-default.tar.gz
出現Cache file centos-4-i386-default.tar.gz [120M] created.表示創建成功
注意:本次步驟可能會出現如下錯誤 | |
---|---|
cp: cannot stat `/etc/sysconfig/vz-scripts//ve-vps.basic.conf-sample': No such file or directory ERROR: Can't copy VPS config 解決方法:進入/etc/sysconfig/vz-scripts/目錄,將ve.basic.conf-sample 拷貝一份重命名為ve-vps.basic.conf-sample 查看系統中已經存在的操作系統緩存 # vzpkgls |
準備配置檔案
平分主機系統資源(當然,如果你對配置檔案的修改很熟悉也可以自己定製)
cd /etc/sysconfig/vz-scripts/ vzsplit -n 3 -f vps.zenw.org
這樣,系統資源就被平均分成了3分,並且產生了一個配置檔案示例
驗證配置檔案有效性
vzcfgvalidate ve-vps.zenw.org.conf-sample
創建VPS節點
vzctl create 100 --ostemplate centos-4-i386-minimal --config vps.zenw.org
其中100是該節點的編號,可以自己定義
配置該VPS
設置VPS的hostname vzctl set 100 --hostname zenw.org --save 設置VPS的ip vzctl set 100 --ipadd 192.168.xxx.xxx --save 設置VPS的管理員帳號和密碼 vzctl set 100 --userpasswd root:xxxxxxxxx 設置VPS的DNS伺服器 vzctl set 100 --nameserver 8.8.8.8 --save 設置VPS自啟動 vzctl set 100 --onboot yes --save 啟動VPS節點 vzctl start 100 執行VPS內部的命令(這裡是開啟VPS的ssh服務) vzctl exec 100 service sshd start 加入VPS節點 vzctl enter 100 停止VPS節點 vzctl stop 100
修改VPS節點的配置檔案
vim /etc/sysconfig/vz-scripts/100.conf 在檔案中添加或修改 DISK_QUOTA=no 重啟VPS節點 vzctl restart 100 查看當前磁碟大小 vzctl exec 100 df 設置磁碟大小 vzctl set 100 --diskinodes 75000000:79000000 --save vzctl set 100 --quotatime 600 --save 查看修改後的磁碟大小 vzctl exec 100 df vzctl exec 100 stat -f / vzctl set 100 --quotaugidlimit 100 --save vzctl restart 100 vzctl exec 100 rpm -q quota vzyum 100 install quota vzquota stat 100 -t
為VPS節點安裝yum工具或其他工具
vzyum 100 install <軟件名稱> vzyum 100 install yum
另外,如果vzctl enter進入節點時出現錯誤,或無法ssh節點,需要運行以下命令: vzctl exec 112 "cd /dev; /sbin/MAKEDEV pty; /sbin/MAKEDEV tty; /sbin/MAKEDEV generic"