一、vmware workstation 12 创建centos7虚拟机并将网络设置为桥连。
二、更换yum源
1.步骤:
[1] 首先备份/etc/yum.repos.d/CentOS-Base.repo
#mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
[2] 进入yum源配置文件所在文件夹
#cd /etc/yum.repos.d/
[3] 下载163或者阿里云的yum源配置文件,放入/etc/yum.repos.d/(操作前请做好相应备份)
centos5:
#wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS5-Base-163.repo
centos6:
#wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS6-Base-163.repo
centos7:
#wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
[4] 运行yum makecache生成缓存
#yum makecache
三、安装Xen搭建虚拟化环境
1.安装xen
[1]下载安装xen源
#yum -y install centos-release-xen
[2]添加xen的源
#sed -i -e "s/enabled=1/enabled=0/g" /etc/yum.repos.d/CentOS-Xen.repo
[3]更新centos内核
#yum --enablerepo=centos-virt-xen -y update kernel
[4]安装xen
#yum --enablerepo=centos-virt-xen -y install xen
[5]编辑Domain0的配置文件,如同下面code,我配置Domain0的内存是4Gb,如果你安装xen的虚拟机或实体机的内存也为4Gb的话,当安装完xen后重启进入不了系统,注意:虚拟机或实体机的内存一定要大于Domain0设置的内存。
#vi /etc/default/grub
GRUB_CMDLINE_XEN_DEFAULT="dom0_mem=4096M,max:4096M cpuinfo com1=115200,8n1 .....
[6]我使用Libvirt装的虚拟机,安装Libvirt
#yum --enablerepo=centos-virt-xen -y install libvirt libvirt-daemon-xen virt-install virt-manager
[7]运行grub-bootxen.sh脚本,将xen添加到开机启动项中
#/bin/grub-bootxen.sh
[8]重启进入xen系统
#reboot
[9]查看xen的信息,检查是否安装成功
#xl info
2.配置网桥
[1]添加网桥“br0”,添加成功会提示successfully added。
#nmcli c add type bridge autoconnect yes con-name br0 ifname br0
Connection 'br0' (0f4b7bc8-8c7a-461a-bff1-d516b941a6ec) successfully added.
[2]为“br0”创建ip地址
#nmcli c modify br0 ipv4.addresses 192.168.19.196/24 ipv4.method manual
[3]为“br0”创建网关(此处网关设置与主机的网关相同,避免主机与虚拟机之间ping不通等问题)
#nmcli c modify br0 ipv4.gateway 192.168.19.1
[4]为“br0”创建DNS
#nmcli c modify br0 ipv4.dns 8.8.8.8
[5]删除原有网卡,添加新的网卡与br0连通
#nmcli c delete eno16777736
#nmcli c add type bridge-slave autoconnect yes con-name eno16777736 ifname eno16777736 master br0
[6]重启NetworkManager服务
#systemctl stop NetworkManager; systemctl start NetworkManager
[7]查看ip信息
#ip addr
3.virt-install命令创建虚拟机
[1]启动Libvirt服务
#systemctl start libvirtd
#systemctl enable libvirtd
[2]安装系统安装镜像,实体机的话可以挂载安装,找到挂载目录就行。
创建虚拟机镜像目录
#mkdir -p /var/xen/images
[3]将CentOS7.iso 文件上传到home/iso 目录下
通过sftp等。
[4]安装Apache并且挂载(CentOS7.iso)ISO镜像文件
# yum -y install httpd
# service httpd start
# chkconfig httpd on
# cd /var/www/html/
# mkdir iso
# mount -o loop /home/iso/CentOS7.iso /var/www/html/iso/
[5]开始安装虚拟机,需要注意的是size大小,不要弄太大,要小于机身存储减去Domain0的存储后的存储,否则会报错,提示存储空间不够。
#virt-install --connect xen:/// --paravirt --name centos7 --ram 4096 --disk path=/var/xen/images/centos7.img,size=10 --vcpus 2 --os-type linux --os-variant rhel7 --network bridge=br0 --graphics none --location 'http://localhost/iso' --extra-args 'text console=com1 utf8 console=hvc0'
4.xl命令创建虚拟机(xen4.1中引入,xen4.5以后只有xl没有xm/xend)
[1]创建虚拟磁盘映像文件
# mkdir /xen
# cd /xen
# dd if=/dev/zero of=centos.img oflag=direct seek=102399 bs=1M count=1
[2]用sftp插件将CentOS-6.5-x86_64-minimal.iso 文件上传到xen 的/source 目录下
[3]安装Apache并且挂载(CentOS-6.5-x86_64-minimal.iso)ISO镜像文件
# yum -y install httpd
# service httpd start
# chkconfig httpd on
# cd /var/www/html/
# mkdir iso
# mount -o loop /xen/source/CentOS-6.5-x86_64-minimal.iso /var/www/html/iso/
[4]为虚拟机提供内核和内核模块文件
# cp /var/www/html/iso/isolinux/{vmlinuz,initrd.img} /xen/source
[5]修改xlexample.pvlinux文件
# cd /etc/xen
# vim xlexample.pvlinux
name = "centos"
kernel = "/source/vmlinuz"
ramdisk = "/source/initrd.img"
memory = 850
vcpus = 1
vif = [ 'bridge=br0' ]
disk = [ 'file:/xen/centos.img,xvda,w' ]
on_reboot = "destroy"
[6]创建虚拟机
# xl create -c xlexample.pvlinux
[7]重启虚拟机
在重启之前需要先修改配置文件xlexample.pvlinux
# vim /etc/xen/xlexample.pvlinux
name = "centos"
#kernel = "/source/vmlinuz"
#ramdisk = "/source/initrd.img"
bootloader = "/usr/bin/pygrub"
memory = 850
vcpus = 1
vif = [ 'bridge=br0' ]
disk = [ 'file:/xen/centos.img,xvda,w' ]
重启虚拟机
# xl reboot 3 (centos 的ID)
5.virt-manager创建虚拟机
[1]创建xen虚拟机
[2]选择xen类型全虚拟化或半虚拟化,这里我选择全虚拟化。点击Forward进入下一个页面
[3]选择镜像文件。点击Forward进入下一个页面
[4]设置内存大小和cpu个数(注:内存不能大于等于Domain0的内存,cpu个数不能大于Domain0的cpu个数,否则无法安装成功)
[5]创建存储卷,可自动也可自己创建。
[6]选择网络。点击Finish完成进入安装页面安装。
ok安装完成。
四、曾遇到的问题
1.创建虚拟机时提示"ERROR (cli:306) internal error: libxenlight failed to create new domain 'XXX'"或在/var/log/xen/qemu-dm-XXX.log文件中出现"/usr/lib64/xen/bin/qemu-system-i386: symbol lookup error: /usr/lib64/xen/bin/qemu-system-i386: undefined symbol: libusb_free_ss_endpoint_companion_descriptor"
这个是我安装时报的错。
解决方案:
# yum update qemu-img
设置虚拟机的内存大于等于Domain0的内存或cpu个数大于Domain0的cpu个数,也可能造成这个问题。具体问题具体分析。
2.如果打开virt-managr出现如图下图情况
临时解决方法为:
#LANG="en_US.UTF-8"
重新打开virt-manager问题解决。
若想彻底解决这个问题修改你的系统语言文件重启系统。