KVM虚拟化
一、kvm简介
(1)简介
KVM:就是Keyboard Video Mouse的缩写。KVM 交换机通过直接连接键盘、视频和鼠标 (KVM) 端口,让您能够访问和控制计算机。KVM 技术无需目标服务器修改软件。这就意味着可以在 Windows 的 BIOS 环境下,随时访问目标计算机。KVM 提供真正的主板级别访问,并支持多平台服务器和串行设备。
KVM 技术已经从最初的基础SOHO办公型,发展成为企业 IT 基础机房设施管理系统。可以从kvm 客户端管理软件轻松的直接访问位于多个远程位置的服务器和设备。KVM over IP 解决方案具备完善的多地点故障转移功能、符合新服务器管理标准 (IPMI) 的直接界面,以及将本地存储媒体映射至远程位置的功能。
KVM 是个"怪胎",原本是类型2 的主机虚拟化;但一旦在OS 上加载了kvm.ko 模块,就会"感染"OS,使其变为hypervisor(kvm),原本的软件空间作为控制台,转化成类型1 模式的主机虚拟化
(2)KVM的组件
① kvm.ko:模块
API 应用程序编程接口
② qemu-kvm:用户空间的工具程序;
qemu-KVM是一种开源虚拟器,它为KVM管理程序提供硬件仿真。
运行中的一个kvm虚拟机就是一个qemu-kvm进程,运行qemu-kvm程序并传递给它合适的选项及参数即能完成虚拟机启动,终止此进程即能关闭虚拟机;
③ libvirt 虚拟化库:Libvirt是一个C工具包,可以与最近版本的Linux(以及其他操作系统)的虚拟化功能进行交互。主包包含了导出虚拟化支持的libvirtd服务器。
C/S:
Client:
libvirt-client
virt-manager
Daemon:
libvirt-daemon
(3)KVM模块load进内存之后,系统的运行模式:
内核模式:GuestOS执行IO类的操作时,或其它的特殊指令操作时的模式;它也被称为"Guest-Kernel"模式;
用户模式:Host OS的用户空间,用于代为GuestOS发出IO请求;
来宾模式:GuestOS的用户模式;所有的非IO类请求
二、安装
(1)前提:
① 必须跑在x86 系统的架构上
② 必须支持硬件级虚拟化
vmx:Intel VT-x
svm:AMD AMD-vt
③ 在虚拟机上再虚拟化,需开启虚拟化 Intel VT-x/EP
1.配置主机支持虚拟化
2.查看是否支持
1 # grep -i -E '(vmx|svm|lm)' /proc/cpuinfo 2 3 注意:vmx 或 svm或lm 必须出现一个,表示是支持的
3.装载KVM 模块
1 # yum -y install kvm python-virtinst libvirt bridge-utils virt-manager qemu-kvm-tools virt-viewer virt-v2v 2 # yum update 3 # yum upgrade 4 # modprobe kvm
4.查看模块
1 # lsmod |grep kvm
5.安装用户端工具 qemu-kvm
1 # yum install libvirt-daemon-kvm qemu-kvm virt-manager -y
6.启动kvm守护程序并创建虚拟桥
1 # systemctl start libvirtd.service 2 # virsh iface-bridge eth0(ens33) br0 //centos6是eth0,7是ens33 3 # systemctl restart netowrk
7.打virt-manager 窗口,创建虚拟机
#查看虚拟机
1 # virt-manager
8.上传镜像用于创建系统
9.创建虚拟机
(1)选择本地镜像安装
(2)选取镜像
(3)配置cpu、内存
(4)配置硬盘大小
(5)核对配置信息,勾选安装前配置,注意网络选网桥br0
(6)选取键盘和图形界面VNC,方便鼠标键盘操作
(7)开始安装
(8)最小化安装
(9)配置网络
(10)配置密码开始安装
(11)安装完成,测试连接
三、Virsh常用命令
1 virsh list #显示本地活动虚拟机 2 virsh list –all #显示本地所有的虚拟机(活动的+不活动的) 3 virsh define ubuntu.xml #通过配置文件定义一个虚拟机(这个虚拟机还不是活动的) 4 virsh start ubuntu #启动名字为ubuntu的非活动虚拟机 5 virsh create ubuntu.xml # 创建虚拟机(创建后,虚拟机立即执行,成为活动主机) 6 virsh suspend ubuntu # 暂停虚拟机 7 virsh resume ubuntu # 启动暂停的虚拟机 8 virsh shutdown ubuntu # 正常关闭虚拟机 9 virsh destroy ubuntu # 强制关闭虚拟机 10 virsh dominfo ubuntu #显示虚拟机的基本信息 11 virsh domname 2 # 显示id号为2的虚拟机名 12 virsh domid ubuntu # 显示虚拟机id号 13 virsh domuuid ubuntu # 显示虚拟机的uuid 14 virsh domstate ubuntu # 显示虚拟机的当前状态 15 virsh dumpxml ubuntu # 显示虚拟机的当前配置文件(可能和定义虚拟机时的配置不同,因为当虚拟机启动时,需要给虚拟机分配id号、uuid、vnc端口号等等) 16 virsh setmem ubuntu 512000 # 给不活动虚拟机设置内存大小 17 virsh setvcpus ubuntu 4 # 给不活动虚拟机设置cpu个数 18 virsh edit ubuntu # 编辑配置文件(一般是在刚定义完虚拟机之后)
四、Qemu-kvm安装
1.创建虚拟网桥
1 # yum -y install bridge-utils 2 # brctl addbr br-int0 3 # brctl show
1 # ifconfig -a
2.激活网桥
1 # ip link set br-int0 up
3.删除网桥
1 # ip link set br-int0 down 2 # brctl delbr br-int0 3 # ifconfig -a 4 # brctl show
4.手动创建物理网桥
1 # cd /etc/sysconfig/network-scripts 2 # cp ifcfg-eth1/ens33 ifcfg-br0 3 # vim ifcfg-br0 4 TYPE=Bridge 5 NAME=br0 6 UUID=395fbf3c-07ef-4f58-a6a6-049c646a3d2b 7 DEVICE=br0 8 ONBOOT=yes 9 IPADDR=192.168.11.199 10 NETMASK=255.255.255.0 11 GATEWAY=192.168.11.254 12 DNS1=114.114.114.114 13 ZONE=public
5.把主机的网卡连接到网桥上
1 # vim ifcfg-eth1/ens33 2 DEVICE=eth1/ens33 3 ONBOOT=yes 4 BRIDGE=br0
6.重启网卡
1 # systemctl restart network 2 # brctl show
7.安装qemu-kvm
1 # yum install qemu-kvm libvirt-daemon-kvm virt-manager 2 # modprobe kvm 3 # lsmod |grep kvm
8.创建软链接,把qemu写入PATH变量
1 # ln -sv /usr/libexec/qemu-kvm /usr/bin/ 2 # qemu-kvm -h
9.安装VNC图形工具
1 # yum install vnc-server tigervnc -y 2 # vncpasswd 3 # vncserver
10.创建虚拟机所需要的iso镜像和磁盘
1 # mkdir /kvm/images -pv 2 # qemu-img create -o preallocation=metadata -f qcow2 /kvm/images/centos.qcow2 60G
11.创建虚拟机
1 # qemu-kvm -cpu host -smp 1 -name centos -m 512 -drive file=/kvm/images/centos.qcow2,if=ide,media=disk,format=qcow2 -drive file=/var/lib/libvirt/images/CentOS-7-x86_64-DVD-1804.iso,media=cdrom -boot dc -usbdevice tablet 2 3 -cpu :指定CPU的模式 4 5 -smp :指定CPU的个数 6 7 -name :指定虚拟机的名字 8 9 -m :指定虚拟机内存大小 10 11 -drive file :指定硬盘设备文件 12 13 if=ide :指定硬盘设备连接的借口类型 14 15 media=disk :指定硬盘设备为磁盘 16 17 format=qcow2 :指定映像文件的格式 18 19 -boot :定义启动引导次序
12.另开终端打开安装
1 # vncviewer :5900
13.开始安装
您的资助是我最大的动力!
金额随意,欢迎来赏!