****************大家好,我是霸王卸甲,今天给大家带来的是安装KVM。。。
	
	
	
	kvm:Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM目前已成为学术界的主流VMM之一。

KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术)。是基于硬件的完全虚拟化。而Xen早期则是基于软件模拟的Para-Virtualization,新版本则是基于硬件支持的完全虚拟化。但Xen本身有自己的进程调度器,存储管理模块等,所以代码较为庞大。广为流传的商业系统虚拟化软件VMware ESX系列是基于软件模拟的Full-Virtualization。

查看CPU是否支持VT技术: #cat /proc/cpuinfo | egrep 'vmx|svm'    flags : fpu vme de pse tsc msr pae mce cx8 apicmtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl vmx tm2 ssse3 cx16 xtpr pdcm dca sse4_1 lahf_lm dts tpr_shadow vnmi flexpriority

需求内核(rhel6以上): # uname -r 2.6.32-358.el6.x86_64

安装软件: rhel6: # yum groupinstall "Virtualization" "Virtualization Client" "Virtualization Platform" "Virtualization Tools" -y

rhel7:
# yum install *virt*  *qemu* -y
# yum install  libvirt  qemu-kvm virt-manager -y

启动服务: rhel6: # /etc/init.d/libvirtd start

rhel7:
# systemctl start libvirtd 

查看kvm模块加载: # lsmod | grep kvm kvm_intel 53484 3 kvm 316506 1 kvm_intel

# 

图形模式安装guest os #virt-manager

存储池: 1.创建基于文件夹的存储池(目录) # mkdir -p /data/vmfs 2.定义存储池与其目录 # virsh pool-define-as vmdisk --type dir --target /data/vmfs 3.创建已定义的存储池 (1)创建已定义的存储池 # virsh pool-build vmdisk (2)查看已定义的存储池,存储池不激活无法使用。 #virsh pool-list --all 4.激活并自动启动已定义的存储池 # virsh pool-start vmdisk # virsh pool-autostart vmdisk
这里vmdisk存储池就已经创建好了,可以直接在这个存储池中创建虚拟磁盘文件了。 5.在存储池中创建虚拟机存储卷 (1)在存储池中创建虚拟机存储卷 # virsh vol-create-as vmdisk oeltest03.qcow2 20G --format qcow2 (2)根据创建的虚拟机存储卷安装虚拟机 #virt-install --name=oeltest03 --os-variant=RHEL6 --ram 1024 --vcpus=1 --disk path=/data/vmfs/oeltest03.qcow2,format=qcow2,size=20,bus=virtio --accelerate --cdrom /data/iso/oel63x64.iso --vnc --vncport=5910 --vnclisten=0.0.0.0 --network bridge=br0,model=virtio –noautoconsole

注1:KVM存储池主要是体现一种管理方式,可以通过挂载存储目录,lvm逻辑卷的方式创建存储池,虚拟机存储卷创建完成后,剩下的操作与无存储卷的方式无任何区别了。
注2:KVM存储池也要用于虚拟机迁移任务。

6.存储池相关管理命令 (1)在存储池中删除虚拟机存储卷 # virsh vol-delete --pool vmdisk oeltest03.qcow2 (2)取消激活存储池 # virsh pool-destroy vmdisk (3)删除存储池定义的目录/data/vmfs # virsh pool-delete vmdisk (4)取消定义存储池 # virsh pool-undefine vmdisk 到此kvm存储池配置与管理操作完毕。

命令方式安装虚拟机: 一般在创建虚拟机前,如果需要桥接虚拟机,就需要创建桥接网口,具体看自己的需求。创建一个虚拟机,可以通过virt-manager来完成,图形化界面,但是这个功能不全,不能随心所欲,例如,需要将虚拟机创建在不同的位置上,毕竟默认的存储是在/var/lib/libvirt/images下,无法进行存储的管理,所以,在创建虚拟机之前,需要先创建一个存储池。

存储池: 存储池(Storage pools)是放置虚拟机的存储位置,可以是本地的,也可以是网络存储,本实例放置在卷(Volume)上。

在创建卷之前,先要创建存储池,存储池可以建立在好几种方式的存储上,现在主要建立一个基于目录的存储池。

首先创建了一个LVM,步骤如下: 1.使用lvcreate命令,创建一个名为lv_kvm,大小为250G的逻辑卷,卷组名为VolGroup(VolGroup是已经创建好的卷组,创建方法在上一篇文章中) #lvcreate -L 250G -n lv_kvm VolGroup 2.使用mkfs.ext4命令在逻辑卷lvdata1上创建ext4文件系统. #mkfs.ext4 /dev/VolGroup/lv_kvm 3.将创建好的文件系统/lv_kvm挂载到/kvm上.(创建好之后,会在/dev/mapper/生成一个软连接名字为"卷组-逻辑卷") #mount /dev/VolGroup/lv_kvm /kvm 4.建立存储池的目录 #mkdir /kvm/images 5.配置SELinux文件上下文,这个主要是打开SELinux设定,不然虚拟机无法访问存储文件(没有深究原因) #semanage fcontext -a -t virt_image_t /kvm/images 6.创建基于文件夹(目录)的存储池 #virsh pool-define-as kvm_images --type dir --target /kvm/images 7.查看创建的存储池信息 # virsh pool-list --all Name State Autostart ----------------------------------------- default inactive yes kvm_images inactive no

停止默认存储池:
    # virsh pool-destroy  default
    Pool default destroyed

8.启动存储池 # virsh pool-start kvm_images # virsh pool-list --all Name State Autostart ----------------------------------------- default inactive yes
kvm_images active no

9.创建了存储池后,就可以创建一个卷,这个卷是用来做虚拟机的硬盘 #virsh vol-create-as --pool kvm_images --name TAF05.img --capacity 10G --format qcow2 10.在存储卷上安装虚拟主机 10.1 配置bridge方式: 创建桥接器 # cat /etc/sysconfig/network-scripts/ifcfg-br0 DEVICE=br0 NM_CONTROLLED=no TYPE=Bridge BOOTPROTO=static IPADDR=192.168.0.230 PREFIX=24 GATEWAY=192.168.1.254 DNS1=8.8.8.8 ONBOOT=yes USERCTL=no DELAY=0

	将物理接口桥接到桥接器
	# cat /etc/sysconfig/network-scripts/ifcfg-eth0
	DEVICE=eth0
	NM_CONTROLLED=no
	TYPE=Ethernet
	BOOTPROTO=static
	ONBOOT=yes
	USERCTL=no
	BRIDGE=br0

	重启加载网络服务
	# service network restart

	查看当前桥接情况 
	# brctl show 
 10.2 安装
    # virt-install --connect qemu:///system -n vm3 -r 512 -f /virhost/vmware/vm2.img -s 7 --vnc --os-type=linux --os-variant=rhel6 --vcpus=1 --network bridge=br0 -c /var/ftp/soft/rhel6u4.iso

完全文本方式安装:

#virt-install --connect qemu:///system -n vm7 -r 2024 --disk path=/var/lib/libvirt/images/vm7.qcow2,size=10 --os-type=linux --os-variant=centos7.0 --vcpus=1 --location=ftp://10.18.42.251/centos7u4 -x console=ttyS0 --nographics

-n 虚拟机名字 -r 内存 必须2个G以上

1.取消安装ctrl+] 然后在ctrl+c 2.取消安装之后,虚拟机名字必须改,镜像名字必须改 3.磁盘镜像名字不需要手动图形创建了,直接指定名字就可以 4.宿主机剩余内存必须要大一点 yum -y update 排错: 安装过程中: 手动配置IP地址 到url位置找不到路径,要返回去手动选择url,重新配置url为ftp://192.168.100.230/rhel6u4,这里的ip不要写127.0.0.1而是br0的ip

================== 根据配置文件创建虚拟机: 1.需要有磁盘文件:

cp vm1.img vm2.img

2.需要有配置文件:配置文件需要修改必要的东西

cp vm1.xml vm2.xml

3.创建虚拟机:

virsh define /etc/libvirt/qemu/vm2.xml