centos6.5_64bit-kvm安装部署
kvm部署安装
目录
文档更新记录
完成日期
|
版本
|
描述
|
作者
|
审批
|
2016-04-28
|
V1.0
|
生成文档
|
殷超
|
|
|
|
|
|
|
一、kvm部署
1、关闭selinux和防火墙
#vi /etc/selinux/config
SELINUX=disabled
#service iptables stop
2、查看主机是否支持虚拟化
#cat /proc/cpuinfo |egrep --color 'vmx|svm' ##查找CPU flags是否包括vmx 或者svm 关键字。intel cpu支持会有vmx,AMD cpu支持会有svm
3、安装kvm和其他虚拟化软件包
#yum -y install kvm ##kvm内核模块,linux内核中提供kvm管理程序
# yum -y install virt* ##创建、克隆虚拟机命令,以及图形化管理工具
# yum -y install libvirt ##安装虚拟机管理工具,使用virsh等命令管理和控制虚拟机
#yum -y install qemu-img ##安装qemu组件,使用qemu命令来创建磁盘等
#yum -y install bridge-utils ##设置网络网卡桥接
# yum -y install vnc ##安装vnc,用于远程桌面连接
# yum -y install vnc-server
#yum -y install tigervnc-server
4、确认kvm是否安装成功
# lsmod |grep kvm ##检查KVM模块是否加载
kvm_intel 54285 6
kvm 333172 1 kvm_intel
##如果没有加载,需要执行
# modprobe kvm-intel
#virt-install --version ##查看virt版本
# virsh --version
5、修改vnc配置文件并启动vnc服务
#vi /etc/sysconfig/vncservers
修改成
VNCSERVERS="1:root”
VNCSERVERARGS[1]="-geometry 800x600 "
#vncpasswd #设置登录密码
#chkconfig vncserver on
#service vncserver start
6、配置网卡
# cd /etc/sysconfig/network-scripts/
# cp ifcfg-eth0 ifcfg-br0
编辑ifcfg-eth0网卡
#vi ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
UUID=a839ab55-edf4-4f3d-a400-84091117932c
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
HWADDR=bc:30:5b:cd:7c:fa
BRIDGE=br0
编辑ifcfg-br0网卡
#vi ifcfg-br0
DEVICE=br0
TYPE=Bridge
#UUID=a839ab55-edf4-4f3d-a400-84091117932c
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
#HWADDR=bc:30:5b:cd:7c:fa
IPADDR=192.168.32.16
PREFIX=23
GATEWAY=192.168.32.1
NETMASK=255.255.254.0
DNS2=8.8.8.8
DNS1=114.114.114.114
# service network restart
7、启动libvirtd和messagebus服务
# service libvirtd start
问题:启动不了,报错Starting libvirtd daemon: libvirtd: relocation error: libvirtd: symbol dm_task_get_info_with_deferred_remove, version Base not defined in file libdevmapper.so.1.02 with link time reference
[FAILED]
解决:yum upgrade device-mapper-libs -y
# service messagebus start
# brctl show ##查看网络接口列表
二、虚拟机安装
图形界面安装和命令行方式安装
第一种,先介绍命令行方式安装(推荐)centos6.5_x86-64虚拟机系统
1、创建存放虚拟机的目录和镜像文件
#mkdir /home/kvm
#qemu-img create -f qcow2 -o preallocation=metadata /home/kvm/original.img 10G
##preallocation=metadata预分配元数据,硬盘空间不会立即占用
2、查看镜像信息
#stat /home/kvm/centos6.5_v2.img #stat输出磁盘镜像信息
#qemu-img check /home/kvm/centos6.5_v2.img #check检测image是否有问题
#qemu-img info /home/kvm/centos6.5_v2.img #info查看磁盘镜像的大小信息
3、安装虚拟机
#virt-install \
--name centos6.5_v2 \ #虚拟机名
--ram 512 \ #内存大小以MB为单位(好像512才能成功)
--disk path=/home/kvm/centos6.5_v2.img,format=qcow2,size=10,bus=virtio \ #虚拟机所用磁盘或镜像文件,以G为单位
--vcpus 1 \ #配置虚拟机的vcpu个数
--os-type linux \
--os-variant rhel6 \
--network bridge=br0 \ #指定网络,采用网桥(如果不加这个参数默认为NET模式)*******重点!!!!*******)
--hvm \ ##hvm全虚拟客户端,paravirt半虚拟客户端
--location=/home/centos_6.5_64.iso \ ##光盘挂载方式--location=/dev/sr0 \
--console pty,target_type=serial \ ## pty伪终端,ttyS0串行端口终端
--extra-args 'console=ttyS0,115200n8 serial' ##extra-args 设定内核参数
接下去安装步骤和图形界面差不多,这里不作描述。
第二种,图形界面安装centos6.5_x86-64虚拟机系统
1、vnc登录宿主机
下载vnc-viewer客户端登陆,输入IP和连接端口号及登录密码
需了解:端口默认是从5900
开始,再加上你的桌面号。
比如你的桌面号为1(前面vnc的配置文件),则vnc的连接端口号为5900+1=5901
2、虚拟管理系统安装虚拟机
#virt-manager ##进入虚拟管理系统
点击创建虚拟机,如下:
去掉“立即分配整个磁盘”勾,同时注意windows server2008 r2完整安装版磁盘空间需要10G
选择re-initialize all 完全初始化
三、kvm及虚拟机使用说明
1、使用virsh命令管理虚拟机
#virsh list --all ##查看虚拟机列表
#virsh start domain ##启动虚拟机
#virsh console ##进入虚拟机
#virsh shutdown domain ##关闭虚拟机,需要在虚拟机中安装acpid服务并启动
#virsh destroy domain ##强制关闭电源
#virsh undefine domain # #删除虚拟机(只删除配置文件,不删除虚拟磁盘文件)
#virsh define domain.xml ##添加虚拟机,添加该虚拟机配置文件(注意重命名虚拟机时要先备份配置文件)
#virsh suspend domain ##挂起一个运行的虚拟机
#virsh resume domain ##重新恢复一个以前被挂起的虚拟机
#ctrl+] ##退出虚拟机返回kvm主机
注意:kvm中,把物理机host称之为node。把虚拟机称之为domain
2、克隆虚拟机
1.先关闭虚拟机virsh destroy vm-name
2.开始克隆#virt-clone -o centos6.5_v2 -n centos6.5_v3 -f /home/kvm/centos6.5_v3.img
3.开启虚拟机virsh start vm-name
4.进入新克隆好的虚拟机 virsh console vm-name
5.进入 vi /etc/udev/rules.d/70-persistent-net.rules
1)注释或去掉原虚拟机eth0所在的行信息
2)将新生成的eth1所在的行信息中的eth1改为eth0,将此行的新mac地址写入
6. eth1的mac地址 ifconfig –a 并且复制mac地址
7. 进入cd /etc/sysconfig/network-scripts/
然后 vi ifcfg-eth0 把复制的mac地址替换eth0的mac地址 , 保存
8. Start_udev
Service network restart
如果不行就reboot 重启系统
9. Inconfig –a 确认网络信息 看是否获取到IP地址
3、克隆虚拟机后无法获取IP地址,是因为没有更改mac地址
1. vi /etc/udev/rules.d/70-persistent-net.rules
1)注释或去掉原虚拟机eth0所在的行信息
2)将新生成的eth1所在的行信息中的eth1改为eth0,将此行的新mac地址写入ifcfg-eth0文件对应的mac地址处
Start_udev
Service network restart
Inconfig –a 确认网络信息
获取不到IP。
常用virsh指令:
1)virsh list 列出当前虚拟机列表,不包括未启动的
2)virsh list --all 列出所有虚拟机,包括所有已经定义的虚拟机
3)virsh destroy vm-name 关闭虚拟机
4)virsh start vm-name 启动虚拟机
5)virsh edit vm-name 编辑虚拟机xml文件
6)virsh undefine vm-name 删除虚拟机
7)virsh shutdown vm-name 停止虚拟机
8)virsh reboot vm-name 重启虚拟机
9)virsh autostart vm-name 虚拟机随宿主机启动
10) ctrl+] ##退出虚拟机返回kvm主机
11) virsh console ##进入虚拟机
#virsh console domain ##进入虚拟机
#ctrl+] ##退出虚拟机返回kvm主机
错误:不能删除 :error: Refusing to undefine while domain managed save image exists
解决:virsh undefine win7 --managed-sav
virt-install \
--name centos6.5_v2 \
--ram 2048 \
--disk path=/opt/kvm/centos6.5_v2.img,format=qcow2,size=20,bus=virtio \
--vcpus 1 \
--os-type linux \
--os-variant rhel6 \
--network bridge=br0 \
--hvm \
--location=/home/zhengping/CentOS-6.5-x86_64-bin-DVD1.iso \
--console pty,target_type=serial \--extra-args 'console=ttyS0,115200n8 serial'