【小品】xen虚拟化–快速搭建多台服务器环境

【前言】

xen比kvm更为古老,虽然工具没有kvm多,但是kvm脱胎于此,了解和使用xen还是比较重要的。本文是简单的快速搭建xen虚拟机的一个文章小品。

xen虚拟化

单个物理机上跑>128个虚拟机,性能损失最大低于硬件8%

https://wiki.xenproject.org/wiki/Main_Page

【本文没做PXE和kickstart的解释,有需要请留言】

~~~~~~~~~~~~~~~~~~~~~~~

一、确定你的cpu是否支持虚拟化技术

# cat /proc/cpuinfo |grep flags |egrep -o ‘pae|vmx|svm’

二、安装Xen

1.安装Xen的基本程序

# yum install -y xen*

2.安装Xen的内核

# yum install -y kernel-xen*

3.安装Xen的虚拟管理程序

# yum install -y virt-manager

# yum install -y libvirt

以上安装完毕,就来配置Xen的环境了。

/usr/bin/grub-bootxen.sh

libvirtd –d //如果不启动,libvirtd则不能使用,virt等等也不能使用

如果查看/boot/grub/grub.conf,default=1,则将default=0默认支持xen的内核启动

三、重启系统,重启完成后,查看当前内核

uname -r

yum install python-virtinst

执行xl info 查看相关信息。

四、开始用命令行创建虚拟机

#cd /home/vm

# mkdir iso

# mount -o loop /home/src/linx//CentOS-6.5-x86_64-minimal.iso /home/vm/iso/

#virt-install -n xenfive -f /home/vm/xenfive.img -s 10 -r 1024 –nographics -l /home/src/linux/CentOS-6.8-x86_64-minimal.iso

安装过程中的URL源输入http://118.186.221.107/src/linux/centos68_mini_iso/

[root@localhost ~]# virt-install -nxentest -f /data/xentest.img -s 3 -r 782 –nographics -l http://192.168.1.147/tree/

-n 指定创建虚拟机的名称

-f 作为磁盘映像使用的文件

-s 磁盘映像的大小,单位为G

-r 指定内存的大小,单位为M

–nographics 表示不安装图形控制台

-l 安装的源

xen虚拟状态:

r:

b: 阻塞

p: 暂停

s: 停止

c: 崩溃

d: dying, 正在关闭的过程中

[root@localhost ~]# xm console xentest //进入虚拟机

修改主机名:

1、vi /etc/sysconfig/network,然后将HOSTNAME后面的值localhost.localdomain改为想要设置的主机名。

2、vi /etc/hosts 然后将localhost.localdomain改为想要设置的主机名。

3、reboot

关闭iptables

service iptables stop

chkconfig iptables off

chkconfig –list iptables

禁止selinux

vi /etc/selinux/config //SELINUX=disabled

setenforce 0 //临时生效。sestatus -v 查看selinux状态

reboot //重启生效

# 设置网络、网卡

配置br0

# cd /etc/sysconfig/network-scripts/

# cp ifcfg-eth0 ifcfg-br0

# vim ifcfg-br0

DEVICE=br0

TYPE=Bridge

ONBOOT=yes

BOOTPROTO=none

NM_CONTROLLED=no

IPADDR=192.168.1.118

NETMASK=255.255.255.0

GATEWAY=192.168.1.1

DNS1=192.168.1.1

USERCTL=no

IPV6INIT=no

# vim ifcfg-eth0

DEVICE=eth0

TYPE=Ethernet

ONBOOT=yes

BOOTPROTO=none

NM_CONTROLLED=no

BRIDGE=br0

USERCTL=no

IPV6INIT=no

# service network restart

# ifconfig

# brctl show

# brctl stp br0 on

~~~~~~~~~~~~~~~~~~~~~~

xl常用参数:

xm console <域ID> # 从宿主机进入虚拟机的终端,退出时按 ctrl + ]

xm reboot <域ID> # 重新启动虚拟机

xm pause <域ID> #暂停虚拟机

xm resume <域ID> # 恢复被暂停的虚拟机

xm shutdown <域ID> # 关闭 domain

可以使用xm 命令来启动停止虚拟机启动虚拟机命令如下:

xm create vm1 #其中vm1 为虚拟机的配置文件,位于/etc/xen/vm/vm1

xm create -c vm1 #如果需要启动控制台,则可以运行命令

xm list #可以列出所有的虚拟机

xm console <domid> #可以显示某虚拟机的控制台

xm reboot <domid> #可以重起id 为domid 的虚拟机

xm shutdown <domid> #可以关闭id 为domid 的虚拟机

xm destroy <domid> #可以销毁id 为domid 的虚拟机

xm console fc5 #从终端或控制台登录正在运行的虚拟操作系统

xm save <DomId> <File> # 存储正在运行的虚拟操作系统的状态

xm restore <File> # 唤醒虚拟操作系统

xm pause <DomId> #停止正在运行的虚拟操作系统

xm unpause <DomId> #激活停止的虚拟操作系统

xm mem-set <DomId> <Mem> #调整虚拟平台/虚拟操作系统的占用内存

xm shutdown 虚拟操作系统的Name或DomID #关闭被虚拟的系统

xm destroy <DomId> #立即停止虚拟的系统 (重要);

xm vcpu-set <DomId> <VCPUs> #调整虚拟平台及虚拟操作系统的虚拟CPU个数

xm top 或 xentop # 查看虚拟系统运行的状态

#启动虚机客户端,进入

virsh console node001

#开启虚机

virsh start node001

#关闭虚机

virsh shutdown node001

#克隆虚机 -o原虚拟机,-n克隆的虚拟机,-f存放位置

virt-clone -o node001 -n node002 -f /vm/node002.img

#列出所有虚拟机

virsh list

手动把Domain0内存设置大点,他就能争用关闭后domainU的内存。

xm mem-set Domain-0 13312M

  1. #删除一个域
  2. virsh destroy node001
  3. #取消定义一个非活跃的域
  4. virsh undefine node001
  5. #删除虚拟机文件
  6. rm /vm/node001

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

报错信息为:

ERROR (cli:605) Guest name ‘test’ is already in use

解决方法:

(1)kill掉这个实例 ps aux|grep “test” 查看pid

kill -9 pid

(2)virsh undefine test

(3) 再重新启动,无问题

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`

ERROR    Guest name ‘convirt’ is already in use.

[root@test-R410-4disk qemu]# virsh undefine convirt

Domain convirt has been undefined

发表评论

电子邮件地址不会被公开。 必填项已用*标注