在 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 上完成。对Xen 和KVM 感兴趣的童鞋请看:在CentOS 上安装和配置Xen 和在CentOS 上安装和配置KVM.
     
    安装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:off1:off2:on3:on4:on5:on6: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

     

  • 点这里复制本页地址发送给您QQ/MSN上的好友
  • 300*300广告