kvmwwwtl555888comKernel13094391112based

kvm是Kernel-based Virtual Machine的简称,是一个基于系统内核的虚拟化模块,可以对cpu和内存模拟操作。

针对kvm的学习,第一,要了解到kvm只是一个内核模块,可以模拟cpu和内存,但是整套操作系统还有网络和硬盘等I/O设备,所以还要借助于第三方工具,才能虚拟化一整套操作系统,比如qemu。qemu本身就是一套完整的虚拟化软件,qemu-kvm是融合了kvm模块的虚拟化管理工具,可以与内核模块的kvm进行高效的交互。

第二,服务器的cpu要支持虚拟化,才能使用kvm虚拟化,具体到cpu上就是Inter CPU 要具有VT功能,AMD CPU要具有AMD-V功能。如果在vmware虚拟机上运行kvm(虚拟机上创建虚拟机),要开启虚拟化功能,内存最小4GB。

kvm入门系列(准备工作)
第三,libvirt 是一个开源的虚拟化设备统一的管理接口(库),可通过libvirt库管理虚拟机,比如后面用到的命令 virsh,virt-install。按照我的理解qemu相关命令是做创建虚拟机之前的准备,比如准备硬盘。libvirt的相关命名是用来配置及管理虚拟机的。

第四, 使用kvm创建的虚拟机,只是宿主机上的一个进程

准备工作如下:

本机:win7 64

宿主机: win7 上装的centos7虚拟机,因为我们要在虚拟机上装虚拟机,所以centos7虚拟机,相对来说就是宿主机了

1.确认宿主机cpu支持虚拟化

grep -E 'vmx|svm' /proc/cpuinfo

kvm入门系列(准备工作)
cpu支持

如果是vmware的虚拟机当得宿主机,并且开启了cpu虚拟化,执行上述命令,都会出现vmx相关字样

2.安装 qemu相关,安装libvirt相关

yum install qemu-kvm qemu-kvm-tools virt-manager libvirt virt-install -y

3.查看内核是否加载kvm模块

lsmod |grep kvm

4.开启libvirt接口(库)

systemctl enable libvirtd

systemctl start libvirtd

5.使用qemu创建一个硬盘,格式为raw

qemu-img create -f raw /opt/centos7_64 10G

6.在主机(win7)上准备一个vnc客户端,用来登录创建的虚拟机,这个地方我开始绕了点弯路,以为vnc客户端要登录linux宿主机,所以在linux宿主机上又安装了桌面,开启了tigervnc服务端,结果怎么都连不上,其实这个vnc跟linux宿主机没有关系!就是用来登录创建的虚拟机的

7.准备一个镜像文件

CentOS-7-x86_64-DVD-1611.iso

8.创建一个简单的虚拟机

virt-install --name centos7 --virt-type kvm --ram 1024 --cdrom=/opt/CentOS-7-x86_64-DVD-1611.iso --disk path=/opt/centos7_64 --graphics vnc,listen=0.0.0.0 --noautoconsole

virt-install 创建虚拟机的命令

--name 虚拟机的名字

--virt-type 虚拟机类型

--ram 内存

--cdrom 镜像路径

--disk path 虚拟机所需的硬盘

--graphics vnc,listen=0.0.0.0 --noautoconsole 使用vnc连接,取消自动建立连接

kvm入门系列(准备工作)
9.在本机win7上打开vnc客户端,连接宿主机ip即可进入虚拟机的安装界面(因为端口是默认的)

猜你喜欢

转载自blog.51cto.com/14254839/2367890