作者:mobiledu2502858253 | 来源:互联网 | 2014-05-27 21:18
1.安装cd/etc/yum.repos.dwgethttp://download.openvz.org/openvz.reporpm--importhttp://download.openvz.org/RPM-GPG-Key-OpenVZyumupdateyuminstallvzctl安装vzyuminstallvz
1. 安装
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 vzctl
安装vz
yum install vzctl vzquota
安装完成后查询安装软件包
[root]# rpm -qa |grep vz
vzkernel-2.6.32-042stab062.2.x86_64
vzkernel-firmware-2.6.32-042stab062.2.noarch
vzquota-3.1-1.x86_64
vzctl-4.0-1.x86_64
vzctl-core-4.0-1.x86_64
2. 创建虚拟机
cd /vz/template/cache
wget
http://download.openvz.org/template/precreated/centos-6-x86_64.tar.gz
wget
http://download.openvz.org/template/precreated/centos-5-x86.tar.gz
重启系统是必须的一步,重启之后OpenVZ的kernel才会生效
1). 修改2G内存模板,使用该模板的参数创建。
2G内存 4Gswap 20G softdisk ,30G harddisk
cd /etc/sysconfig/vz-scripts/
vi ve-vswap-2g.conf-sample
---------------------sample-----------------
RAM
PHYSPAGES="0:2G"
Swap
SWAPPAGES="0:4G"
Disk quota parameters (in form of softlimit:hardlimit)
#DISKSPACE="2G:2.2G"
#DISKINODES="200000:220000"
DISKSPACE="20G:30G"
DISKINODES="2000000:3000000"
QUOTATIME="0"
---------------------sample-----------------
2). 创建
vzctl create 666 --ostemplate centos-6-x86_64 --config
vswap-2g
vzctl set 666 --onboot yes --save
vzctl set 666 --ipadd 12.10.100.151 --save
vzctl set 666 --nameserver 12.145.121.49 --save
vzctl set 666 --hostname redhat6 --save
vzctl set 666 --userpasswd root:123456 --save
设置硬盘空间
vzctl set 666 --diskspace 5G:6G --save
vzctl set 666 --disabled yes --save
#vzctl set 666 --diskspace 20G:30G --save
#vzctl set 666 --cpuunits 1000 --cpulimit 4 --save
vzctl exec 666 chkconfig --level 345 sendmail off
vzctl exec 666 chkconfig --level 345 httpd off
3. 一些安装包补充
yum -y install bind-utils lrzsz ntpdate
yum -y install cyrus-sasl-lib.i686
rm -rf /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
启动VE
[root@centos6 ~]# vzctl start 666
Starting container ...
Container is mounted
Adding IP address(es): 192.168.0.10
Setting CPU units: 1000
Container start in progress...
进入VE
[root@centos6 ~]# vzctl enter 666
entered into CT 101
[root@centos /]#
退出VE
[root@centos /]# exit
logout
exited from CT 101
[root@centos6 ~]#
停止VE
[root@centos6 ~]# vzctl stop 666
Stopping container ...
Container was stopped
Container is unmounted
销毁VE
[root@centos6 ~]# vzctl destroy 666
Destroying container private area: /vz/private/101
Container private area was destroyed
查看正在宿主机上正在运行的VE
[root@centos6 ~]# vzlist
CTID NPROC
STATUS
IP_ADDR
HOSTNAME
101
17 running
192.168.0.10 centos.ve1
查看进程状态:
vzctl exec 666 ps aux
你可能还想查看某个VE的资源消耗情况,我们可以使用vzcalc -v 命令来查看一个VE使用了多少内存:
vzcalc -v 666
缺省情况下,VE不会随系统启动而启动,如果你希望随系统启动,那可以使用下面的命令:
vzctl set 104 --onboot yes --save
[root@ etc]# chkconfig --list |grep 3:on
crond
0:off 1:off
2:on
3:on
4:on
5:on 6:off
httpd
0:off 1:off
2:off 3:on
4:off 5:off 6:off
iptables
0:off 1:off
2:on
3:on
4:on
5:on 6:off
modules_dep
0:off 1:off
2:on
3:on
4:on
5:on 6:off
network
0:off 1:off
2:on
3:on
4:on
5:on 6:off
rsyslog
0:off 1:off
2:on
3:on
4:on
5:on 6:off
saslauthd
0:off 1:off
2:off 3:on
4:off 5:off 6:off
sendmail
0:off 1:off
2:on
3:on
4:on
5:on 6:off
sshd
0:off 1:off
2:on
3:on
4:on
5:on 6:off
xinetd
0:off 1:off
2:off 3:on
4:on
5:on 6:off
[root@ etc]# chkconfig --level 345 sendmail off
[root@ etc]# chkconfig --level 345 httpd off
[root@ etc]# chkconfig --level 345 iptables off
openvz虚拟机存储目录 /vz/private/666 执行文件目录 /vz/root/666
挂载在host下mount例如:mount 10.88.17.98:/home/yubing /mnt/yubing
然后将mount的目录mount 到ve
mount -o bind,ro /mnt/yubing /vz/root/$VEID/mnt/yubing
umount 命令:
umount /vz/root/$VEID/home/ftp
如果busy,采用 umount -l
/vz/root/$VEID/home/ftp
umount的小技巧
umount如果提示设备忙,可以用 umount -l
会立刻卸载了,但是只是df上看不到,设备还是在占用,但此时你可以挂载新设备上来了
新文件读写应该都可以在新设备,要使用旧设备,可以用fuser找到占用的进程,kill掉就可以了
当Umount一个目录时,提示device is
busy,umount加参数f,是强制执行umount,但是许多时候均不会成功。
原理上要想umount,首先要kill正在使用这个目录的进程。*假设无法卸载的设备为/dev/sdb1
1)运行下面命令看一下哪个用户哪个进程占用着此设备
fuser -m -v /dev/sdb1
2)运行下面命令杀掉占用此设备的进程
fuser -m -v -k /dev/sdb1
或者fuser -m -v -k
-i /dev/sdb1(每杀掉一下进程会让你确认)
3)再umount
*杀掉所有以任何形式访问文件系统 /dev/sdb1的进程:
$fuser -km /dev/sdb1
这个办法是一个比较粗鲁的办法,通常适用于在测试等非正式环境。比较正规的要配合ps等命令,查出使用的用户、进程、命令等,然后做出综合判断,必要时先通知(signal或口头等)用户,确认安全时才可以强制kill此进程。