热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

redhat6.5系统中安装使用OpenVZ虚拟机

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此进程。


推荐阅读
author-avatar
mobiledu2502858253
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有