Home | 简体中文 | 繁体中文 | 杂文 | 知乎专栏 | 51CTO学院 | CSDN程序员研修院 | Github | OSChina 博客 | 腾讯云社区 | 阿里云栖社区 | Facebook | Linkedin | Youtube | 打赏(Donations) | About
知乎专栏多维度架构

4.3. OpenVZ

4.3.1. 安装OpenVZ

过程 4.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
    				

4.3.2. 使用OpenVZ & 建立VPS

由于VZ是半虚拟化的,所以VZ和VM不同的是VZ需要系统模板,而不是VM那样只需要一个ISO文件就可以安装

4.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
    						

4.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
    					

4.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"