****************大家好,我是霸王卸甲,今天给大家带来的是安装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
转载于:https://blog.51cto.com/13575683/2106974