分类: 服务器与存储
2013-12-13 13:38:17
#系统环境
CentOS 5.8 64位
#组件安装
Base
Development Libraries
Development Tools
Editors
Text-based Internet
#update yum
cd /etc/yum.repos.d
mv CentOS-Base.repo CentOS-Base.repo.bak
cat >>/etc/yum.repos.d/CentOS-Base.repo<
name=CentOS-$releasever - Base
baseurl=
gpgcheck=1
gpgkey=
#released updates
[updates]
name=CentOS-$releasever - Updates
baseurl=
gpgcheck=1
gpgkey=
#packages used/produced in the build but not released
[addons]
name=CentOS-$releasever - Addons
baseurl=
gpgcheck=1
gpgkey=
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
baseurl=
gpgcheck=1
gpgkey=
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
baseurl=
gpgcheck=1
enabled=0
gpgkey=
EOF
#set ntp
yum -y install ntp
echo "* 3 * * * /usr/sbin/ntpdate 210.72.145.44 > /dev/null 2>&1" >> /etc/crontab
service crond restart
#set ulimit
echo "ulimit -SHn 65535" >> /etc/rc.local
#如果看到输出中有 pae,那么cpu就支持半虚拟化,如果输出中同时有pae和vmx/svm(注:vmx为intel,svm为amd),那么cpu支持全虚拟化
cat /proc/cpuinfo |egrep '(flags|vmx)'
#安装支持Xen的Linux内核和 Xen
yum -y install xen kernel-xen xen-libs virt-manager python-virtinst
kernel-xen:修改的 Linux 核心,使可以跑 Xen 的环境
xen:主要的 xen 套件,包括配置文件、启动脚本和一些函数库
xen-libs:Xen 所需要的函数库
python-virtinst:提供终端安装的软件
virt-manager:用于图形界面管理xen
#修改默认以支持xen的内核启动
vi /boot/grub/grub.conf
default=0
#重启系统
reboot
#检查内核
uname -r
2.6.18-238.9.1.el5xen
#查看xen是否启动
#============================= 安装xen虚拟机 ==========================
#制作安装源
#挂载系统光盘
mkdir -p /mnt/cdrom
mount /dev/cdrom /mnt/cdrom
#安装httpd
yum -y install httpd
#修改httpd默认目录
vi /etc/httpd/conf/httpd.conf
将DocumentRoot "/var/www/html"修改为DocumentRoot "/mnt/cdrom"
将
sed -i 's#DocumentRoot "/var/www/html"#DocumentRoot "/mnt/cdrom"#' /etc/httpd/conf/httpd.conf
sed -i 's#
#重启httpd
service httpd restart
#制作客户机主要磁盘
mkdir -p /data/vm
dd if=/dev/zero of=/data/vm/web_001.img bs=2k seek=4096k count=1
#制作客户机交换磁盘
#dd if=/dev/zero of=/data/vm/swap.img bs=2k seek=512k count=1
virt-install -n web_001 -r 512 --vcpus=1 --nographic -f /data/vm/web_001.img -l -x "ip=192.168.9.221 netmask=255.255.255.0 gateway=192.168.9.1"
# -n :后面接虚拟机名称,配置 /etc/xen 底下
# -r :后面接分配的内存大小,至少需要 256MB 才能夠執行
# --vcpus : 分配多少个cpu
# -f :后面接新建的磁盘文件!
# --nographics :不使用图形化安装;
# -p : 半虚拟化
# -s : 虚拟机的硬盘空间
# -l :后面接安装源。写法为:
# NFS : nfs:主机IP:目录
# WWW : http://主机IP/目录
# FTP : ftp://主机IP/目录
#然后根据系统提示安装系统,使用文本模式安装,安装过程跟真实机一样,虚拟机的配置文件存放在 /etc/xen 下面
#安装完成后,查看真实机上的虚拟机列表
xm list
#附相关操作命令:
ls /etc/xen #xen配置文件目录
xm list #查看各个域状态
xm shutdown web_001 #关闭web_001这个虚拟机
xm console web_001 连接web_001控制台,连接到虚拟机上面可以用组合键 ctrl + ] 键切换到物理机
#如果配置了IP,可以用ssh -l username IP 来连接
xm create web_001 启动web_001
#真实机开机如何自动启动虚拟机
ln -s /etc/xen/web_001 /etc/xen/auto/web_001
#也可以直接把配置文件拷贝到/etc/xen/auto/
cp -r /etc/xen/web_001 /etc/xen/auto/
XM命令:
xm create vm1 #其中vm1 为虚拟机的配置文件,位于/etc/xen/vm/vm1
xm create -c vm1 #如果需要启动控制台,则可以运行命令
xm list #可以列出所有的虚拟机
xm console
xm reboot|shutdown
xm destroy
xm console fc5 #从终端或控制台登录正在运行的虚拟操作系统
xm save
xm restore
xm pause
xm unpause
xm mem-set
xm shutdown 虚拟操作系统的Name或DomID #关闭被虚拟的系统
xm destroy
xm vcpu-set
xm top 或 xentop # 查看虚拟系统运行的状态
xm save VM1 VM1.chk # stop the domain and save its current state into a file called VM1.chk
xm restore VM1.chk #resume execution of this domain
#如果觉得手动安装虚拟机比较麻烦,可以手动到 去下载已经装好的镜像文件
#=============================== XEN虚拟机复制 ==============================
#关闭运行中的虚拟机
xm shutdown web_001
#复制虚拟机的镜像文件和配置文件
cp /data/vm/web_001.img /data/vm/web_002.img
cp /etc/xen/web_001 /etc/xen/web_002
#修改新复制虚拟机的配置文件
vi /etc/xen/web_002
#原内容为:
name = "web_001"
uuid = "21e3bccf-4778-747e-c3b7-a87cadfa29fa"
maxmem = 512
memory = 512
vcpus = 1
bootloader = "/usr/bin/pygrub"
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
disk = [ "tap:aio:/data/vm/web_001.img,xvda,w" ]
vif = [ "mac=00:16:36:64:98:f1,bridge=xenbr0,script=vif-bridge" ]
#修改后的内容为:
name = "web_002"
uuid = "21e3bccf-4778-747e-c3b7-a87cadfa29fd"
maxmem = 512
memory = 512
vcpus = 1
bootloader = "/usr/bin/pygrub"
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
disk = [ "tap:aio:/data/vm/web_002.img,xvda,w" ]
vif = [ "mac=00:16:36:64:98:f5,bridge=xenbr0,script=vif-bridge" ]
#保证name、uuid、mac的唯一性,还有就是disk路径
#启动并进入新复制的虚拟机
xm create -c web_002
#修改主机名
vi /etc/hosts
将web_001修改为web_002
vi /etc/sysconfig/network
将web_001修改为web_002
#修改IP
vi /etc/sysconfig/network-scripts/ifcfg-eth0
# Xen Virtual Ethernet
DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.9.255
HWADDR=00:16:36:64:98:f5
IPADDR=192.168.9.222
NETMASK=255.255.255.0
NETWORK=192.168.9.0
ONBOOT=yes
#查看虚拟机列表及各虚拟机网络测试
xm list