ubuntu下使用KVM

        简介:KVM(kernel-based virtual machine,基于内核的虚拟主机),KVM自身是一个Linux内核模块,当安装有Linux系统的物理机装载了KVM这个内核模块后,可以在用户空间创建虚拟机,但是每个虚拟机运行在Linux内核上的一个系统进程,可用kill命令杀死。

        特性:嵌入到linux正式kenel(提高兼容性)

                   代码级调用(提高性能)

                   创建的虚拟机为一个进程(便于管理)

                    开源模式,RedHat收购后提供商业支持

        qumu+kvm--------》虚拟机:QEMU为一个开源的硬件模拟器项目,支持模拟支持的设备,缺点速度较慢;KVM为内核模块,提供CPU和内存资源。

      

                    

 

部署使用:

qumu-kvm:为KVM管理程序提供硬件模拟的软件程序

libvirt-bin:管理虚拟化平台的软件

bridge-utils:配置网络桥接的命令行工具

virtinst:创建虚拟机的命令行工具

virt-manager:提供图形界面,通过libvirt支持管理虚拟机的命令行工具

root@test:~# apt install qemu-kvm libvirt-bin bridge-utils virtinst virt-manager  ##安装完成后libvirtd自动启动

创建虚拟磁盘:root@test:/data# qemu-img create -f qcow2 /data/Centos1.qcow2 20G

                           -f  [raw/qcow2]:raw为全镜像格式,特点是一次性分配预设空间,写入速度快,方便转换为其他格式,性能最优,但是占用空间大。

                                                      qcow2为稀疏格式,支持压缩、快照、镜像,更小的存储空间(用多少占多少)

查看虚拟磁盘信息:root@test:/data# qemu-img info /data/Centos1.qcow2

创建虚拟机:root@test:/data# virt-install --name test-li --virt-type kvm --ram 1024 --cdrom /data/CentOS-7-x86_64-Minimal-1810.iso --disk path=/data/Centos1.qcow2 --network default --graphics vnc,listen=0.0.0.0 --noautoconsole

                       --name:虚拟机名称

           --noautoconsole:禁止自动连接至虚拟机的控制台;

                      --virt-type:虚拟机类型(kvm,xen,exsi)

执行完该命令后,qemu会开启一个5900端口,使用VNC软件连接,便可正常安装虚拟机。

 

 安装完成后,因为使用默认网络,所以虚拟机无法通过dhcp获取IP地址,可自己手动配置:

在宿主机中安装完成bridge-utils工具时已经默认生成一张虚拟网桥,在虚拟机配置一个与该IP在同一局域网的IP即可:

 

 

[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0    ##主要修改以下几项配置

BOOTPROTO=static
IPADDR=192.168.122.2
NETMASK=255.255.255.0
GATEWAY=192.168.122.1
ONBOOT=yes  

修改完成后重启网络,便可上网

克隆虚拟机:

查看被克隆虚拟机磁盘位置:root@test:/data# cat /etc/libvirt/qemu/test-li.xml | grep source

虚拟机需要处于关闭状态:root@test:/data# virsh shutdown k8s-master

克隆虚拟机:root@test:/data# virt-clone -o k8s-master -n k8s1 -f /data/k8s1.qcow2

Virsh常用命令:

查看kvm虚拟机:root@test:/data# virsh list      ##创建的虚拟机相关配置文件存放在/etc/libvirt/qemu下。

查看网络列表:root@test:/data# virsh net-list

启动虚拟机:root@test:~# virsh start test-li

正常关闭虚拟机:root@test:~# virsh shutdown test-li

强制关机:root@test:~# virsh destroy test-li

查看虚拟机配置信息:root@test:~# virsh dumpxml test-li

彻底删除虚拟机:root@test:~# virsh undefine test-li

 

           

   

 

posted @ 2020-08-18 09:42  树运维  阅读(1125)  评论(0编辑  收藏  举报