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'
 
  
posted @ 2017-04-28 16:28  pzczyy  阅读(499)  评论(0编辑  收藏  举报