Home | 簡體中文 | 繁體中文 | 雜文 | 知乎專欄 | Github | OSChina 博客 | 雲社區 | 雲棲社區 | Facebook | Linkedin | 視頻教程 | 打賞(Donations) | About
知乎專欄多維度架構 微信號 netkiller-ebook | QQ群:128659835 請註明“讀者”

165.3. OpenVZ

165.3.1. 安裝OpenVZ

過程 165.1. OpenVZ 安裝步驟

  1. 獲得OpenVZ yum安裝源

    # cd /etc/yum.repos.d
    # wget http://download.openvz.org/openvz.repo
    # rpm --import  http://download.openvz.org/RPM-GPG-Key-OpenVZ
    				
  2. 安裝OpenVZ核心以及標頭檔

    # yum install ovzkernel[-flavor]
    				
  3. 修改啟動所使用的內核為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開始

  4. 修改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 #添加
    				
  5. 關閉SELinux

    # lokkit --selinux=disabled
    				
    SELINUX=disabled
    				
  6. 重啟LINUX

    # reboot
    				
  7. 安裝OpenVZ管理工具

    # yum install vzctl
    # yum install vzquota
    # yum install vzyum
    				

    用到什麼工具就安裝什麼工具,具體可以使用# yum search vz*搜索一下

  8. 啟動OpenVZ服務

    # /sbin/service vz start
    				

165.3.2. 使用OpenVZ & 建立VPS

由於VZ是半虛擬化的,所以VZ和VM不同的是VZ需要系統模板,而不是VM那樣只需要一個ISO檔案就可以安裝

165.3.2.1. 安裝操作系統模板

  1. 搜索系統模板

    # yum search vztmpl
    					
  2. 在搜索出來的結果中選用你想安裝的操作系統

    # yum install vztmpl-centos-4 -y
    					
  3. 為操作系統模板建立緩存

    在我裝的最小化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
    						

165.3.2.2. 創建OpenVZ操作系統節點(VPS)

  1. 準備配置檔案

    平分主機系統資源(當然,如果你對配置檔案的修改很熟悉也可以自己定製)

    cd /etc/sysconfig/vz-scripts/
    vzsplit -n 3 -f vps.zenw.org
    					

    這樣,系統資源就被平均分成了3分,並且產生了一個配置檔案示例

  2. 驗證配置檔案有效性

    vzcfgvalidate ve-vps.zenw.org.conf-sample
    					
  3. 創建VPS節點

    vzctl create 100 --ostemplate centos-4-i386-minimal --config vps.zenw.org
    					

    其中100是該節點的編號,可以自己定義

  4. 配置該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
    					

165.3.3. 設置VPS參數

  1. 修改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
    				
  2. 為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"