KVM虚拟化技术学习-KVM管理

article/2025/10/14 14:01:24

二,KVM管理

1.升级配置

1.创建一个空磁盘卷

[root@localhost ~]# qemu-img create -f qcow2 /kvm/images/disk2.qcow2 5G
Formatting 'disk2.qcow2', fmt=qcow2 size=5368709120 encryption=off cluster_size=65536 lazy_refcounts=off

2.修改配置文件

<disk type='file' device='disk'><driver name='qemu' type='qcow2'/><source file='/kvm/images/disk2.qcow2'/><target dev='vda' bus='virtio'/><address type='pci' domain='0x0000' bus='0x00' slot='0x16' function='0x0'/></disk>

3.重启定义

[root@localhost ~]# virsh define /etc/libvirt/qemu/centos7.0.xml

图像化添加

 

2.KVM存储

KVM必须要配置⼀个⽬录当作他存储磁盘镜像(存储卷)的⽬录,我们称这个⽬录为存储池

1.存储池管理

1.创建基于文件夹的存储池

[root@localhost ~]# mkdir -p /data/vmfs

2.定义存储池与其目录

[root@localhost ~]# virsh pool-define-as vmdisk --type dir --target /data/vmfs
定义池 vmdisk

3.创建已定义的存储池

    创建已定义的存储池
[root@localhost ~]# virsh pool-build vmdisk
构建池 vmdisk
•   查看已定义的存储池,存储池不激活无法使用
[root@localhost ~]# virsh pool-list --all
​名称               状态     自动开始
​default              活动     是image                活动     是iso                  活动     是vmdisk               不活跃  否

4.激活并自动启动已定义的存储池

[root@localhost ~]# virsh pool-start vmdisk
池 vmdisk 已启动
[root@localhost ~]# virsh pool-autostart vmdisk
池 vmdisk 标记为自动启动

5.在存储池中创建虚拟机存储卷

[root@localhost ~]# virsh vol-create-as vmdisk oeltest03.qcow2 3G --format qcow2
创建卷 oeltest03.qcow2
#注1:KVM存储池主要是体现⼀种管理⽅式,可以通过挂载存储⽬录,lvm逻辑卷的⽅式创建存储池,虚拟机存储卷创建完成后,剩下的操作与⽆存储卷的⽅式⽆任何区别了。
#注2:KVM存储池也要⽤于虚拟机迁移任务。

6.删除存储卷和池

    1.在存储池中删除虚拟机存储卷
[root@localhost ~]# virsh vol-delete --pool vmdisk oeltest03.qcow2
卷 oeltest03.qcow2 被删除2.取消激活存储池
[root@localhost ~]# virsh pool-destroy vmdisk
销毁池 vmdisk3.删除存储定义的目录
[root@localhost ~]# virsh pool-delete vmdisk
池 vmdisk 被删除4.取消定义存储池
[root@localhost ~]# virsh pool-undefine vmdisk

2.磁盘格式

1.磁盘镜像文件格式

raw原始格式,性能最好
qcow性能远不能和raw相比,所以很快被淘汰,出现qcow2
qcow2性能上还是不如raw,但是raw不能支持快照,qcow2支持快照
注:现在默认安装好的用的是raw格式,所有做快照要把他们转为qcow2格式

2.什么叫写时的拷贝?

raw立刻分配空间,不管你有没有用到那么多空间

qcow2只是承若给你分配空间,但是只有当你需要用空间的时候,才会给你空间,最多只给你承若空间的大小,避免空间浪费

3.工作当中用那个?

工作中虚拟机会有多个备份,一个坏了,再起一个就行了,所有没必要用快照。当然也不一定。数据绝对不会存储到本地。

3.挂载磁盘

作为虚拟化环境管理员,你肯定遇到过虚拟机⽆法启动的情况。实施排错时,你需要对虚拟机的内部进 ⾏检查。⽽Libguestfs Linux⼯具集可以在这种情况下为你提供帮助。

利⽤Libguestfs找出损坏的虚拟机⽂件

Libguestfs允许在虚拟机上挂载任何类型的⽂件系统,以便修复启动故障。

使⽤Libguestfs,⾸先需要使⽤Libvirt。Libvirt是⼀个管理接⼝,可以和KVM、Xen和其他⼀些基于 Liunx的虚拟机相互连接。Libguestfs的功能更加强⼤,可以打开Windows虚拟机上的⽂件。但是⾸先你 需要将虚拟机迁移到libguestfs可⽤的环境当中,也就是Linux环境

查看磁盘镜像分区信息:
[root@qfedu.com ~]# virt-df -h -d vm1Filesystem Size Used Available Use%vm1:/dev/sda1 484M 32M 428M 7%vm1:/dev/sdb1 3.5G 3.5G 0 100%vm1:/dev/VolGroup/lv_root 6.1G 1.1G 4.7G 18%
[root@qfedu.com ~]# virt-filesystems -d vm1/dev/sda1/dev/sdb1/dev/VolGroup/lv_root
挂载磁盘镜像分区:
[root@qfedu.com ~]# guestmount -d vm1 -m /dev/vda1 --rw /mnt

3.KVM管理

1.查看开启的虚拟机

[root@localhost yum.repos.d]# virsh list
​Id    名称                         状态
----------------------------------------------------

2.查看所有虚拟机

[root@localhost yum.repos.d]# virsh list --all
​Id    名称                         状态
----------------------------------------------------
​-     centos7.0                      关闭-     centos7.0-2                    关闭

3.KVM虚拟机的配置文件

1.查看KVM虚拟机的配置文件
[root@localhost yum.repos.d]# virsh dumpxml centos7.0
2.修改centos7.0的配置文件
注:与vi的区别,可以免libvirtd重启
[root@localhost yum.repos.d]# virsh edit centos7.0

4.虚拟机管理

1.开启虚拟机

[root@localhost qemu]# virsh start centos7.0

2.虚拟机暂停和恢复

[root@localhost qemu]# virsh suspend centos7.0  #暂停
​
​
[root@localhost qemu]# virsh resume centos7.0   #恢复

3.关闭虚拟机

[root@localhost qemu]# virsh shutdown centos7.0
​
[root@localhost qemu]# virsh destory centos7.0

4.重启

[root@localhost qemu]# virsh reboot centso7.0
​
​
[root@localhost qemu]# virsh reset centos7.0    #去电重启,速度快,但是不安全

5.删除虚拟机

[root@localhost qemu]# virsh undefine centos7.0
#注意:虚拟机在开启的情况下undefine是⽆法删除的,但是如果再destroy会直接被删除掉

6.虚拟机开机自启动

[root@localhost qemu]# virsh autostart centos7.0
​
[root@localhost qemu]# virsh autostart --disable centos7.0  #取消自启动

7.查看所有开机自启的虚拟机

[root@localhost qemu]# virsh list --all --autostart

5.虚拟机克隆

1.图形界面

applications---》system tools----》virtual machine manager

关闭要克隆的虚拟机,右键点击虚拟机选择clone

 

2.字符终端,命令克隆

1.命令克隆虚拟机

[root@localhost qemu]# virt-clone -o centos7.0 -n centos7.0-2 --auto-clone
正在分配 'disk-clone.qcow2'                                                                                                     | 9.0 GB  00:00:02
​
成功克隆 'centos7.0-2'。
选项:-o:要克隆的虚拟机名称-n:新虚拟机的名称-f:指定存储池

2.增量镜像

原理: 以基本镜像⽂件node.img为基础,创建⼀个镜像⽂件node4.img,以此创建⼀个虚拟机 node4,虚拟机node4的改变将存储于node4.img中。

1.创建增量镜像文件

qemu-img create -b node.img -f qcow2 node4.img

2.创建虚拟机node4的XML配置文件

cp /etc/libvirt/qemu/node.xml /etc/libvirt/qemu/node4.xml
vim /etc/libvirt/qemu/node4.xml
[root@localhost ~]# vi /etc/libvirt/qemu/centos7.0-2.xml
#修改一下内容
<name>centos7.0-2</name>    #虚拟机名字<uuid>cac95646-ab50-4c0a-9770-e97f0723e19f</uuid> #UUID 修改一位即可<memory unit='KiB'>1048576</memory>   #内存<currentMemory unit='KiB'>1048576</currentMemory> #实际内存<vcpu placement='static'>1</vcpu> #CPU核数<mac address='52:54:00:98:d9:79'/> #MAC地址 修改后三位其中一个即可

3.根据XML配置定义虚拟机node4

virsh define /etc/libvirt/qemu/node4.xml
virsh start node4

4.测试

[root@qfedu.com ~]# du -h node.img
6.3G node.img
[root@qfedu.com ~]# du -h node4.img
33M node4.img
[root@qfedu.com ~]# dd if=/dev/zero of=test bs=1M count=200 #在虚拟机node4
上增量200M⼤⼩⽂件
200+0 records in
200+0 records out
209715200 bytes (210 MB) copied, 1.00361 seconds, 209 MB/s
[root@qfedu.com ~]# du -h node.img #基本镜像⽂件node.img⼤⼩未变
6.3G node.img
[root@qfedu.com ~]# du -h node4.img #增量镜像⽂件node4.img增加200M了
234M node4.img

6.虚拟机快照

1.快照管理

1.创建快照

[root@localhost ~]# virsh snapshot-create-as centos7.0 centos7.0-init
已生成域快照 centos7.0-init

2.查看快照

[root@localhost ~]# virsh snapshot-list centos7.0名称               生成时间              状态
------------------------------------------------------------centos7.0-init       2023-05-27 22:34:14 +0800 shutoff

3.恢复快照

[root@localhost ~]# virsh snapshot-revert centos7.0 centos7.0-init

4.删除快照

[root@localhost ~]# virsh snapshot-delete --snapshotname centos7.0-init centos7.0
已删除域快照 centos7.0-init

2.格式转换

qcow2 现在⽐较主流的⼀种虚拟化镜像格式,经过⼀代的优化,⽬前qcow2的性能上接近raw裸格式的性能, 这个也算是redhat的官⽅渠道了

对于qcow2的格式,⼏点还是⽐较突出的,qcow2的snapshot,可以在镜像上做N多个快照:

•更⼩的存储空间

•Copy-on-write support

•⽀持多个snapshot,对历史snapshot进⾏管理

•⽀持zlib的磁盘压缩

•⽀持AES的加密

1.查看镜像文件格式:

[root@qfedu.com ~]# qemu-img info /var/lib/libvirt/images/vm8.img
image: /var/lib/libvirt/images/vm8.img
file format: raw
virtual size: 10G (10737418240 bytes)
disk size: 10G

2.格式转换

把raw格式转换成qcow2格式

[root@qfedu.com ~]# qemu-img convert -f raw -O qcow2
/var/lib/libvirt/images/vm8.img /var/lib/libvirt/images/vm8_qcow2.img

3.再次根据上面所示即可


http://chatgpt.dhexx.cn/article/ybGxtI6L.shtml

相关文章

KVM虚拟化技术原理简介

KVM KVM架构概述KVM运行时的三种模式KVM工作原理 硬件虚拟化技术1、CPU虚拟化2、内存虚拟化3、I/O虚拟化 KVM虚拟化平台部署1.虚拟机资源2.安装KVM3.设置KVM网络4.KVM部署与管理 KVM架构概述 KVM架构很简单&#xff0c;就是内核的一个模块KVM是集成到内核的hypervisorI&#x…

KVM虚拟化技术实践

[版权申明&#xff1a;本文系作者原创&#xff0c;转载请注明出处] 文章出处&#xff1a;http://blog.csdn.net/sdksdk0/article/details/54809159 作者&#xff1a;朱培 ID&#xff1a;sdksdk0 今天分享的文章是关于云计算中的kvm&#xff08;虚拟化技术&#xff09;&…

详解KVM虚拟化原理

详解KVM虚拟化原理 KVM架构 KVM&#xff08;Kernel-based Virtual Machine&#xff09;包含一个为处理器提供底层虚拟化、可加载的核心 模块kvm.ko&#xff08;kvm-intel.ko或kvm-amd.ko&#xff09;&#xff0c;使用QEMU&#xff08;QEMU-KVM&#xff09;作为虚拟机上层 控制…

KVM虚拟化技术介绍以及相关操作

一、KVM架构 KVM功能&#xff0c;是以扩展虚拟化CPU为硬件基础&#xff08;如Intel-VT,AMD-V&#xff09;&#xff0c;利用CPU虚拟化技术。 KVM作为内核的一个模块&#xff0c;来提供虚拟化功能。如果系统需要虚拟化功能&#xff0c;则KVM模块可以被linux内核按需动态加载到内…

KVM(虚拟化平台)概念及部署

KVM&#xff08;虚拟化平台&#xff09;概念及部署 一、虚拟化技术二、虚拟化技术发展三、虚拟化特性优势&#xff1a;劣势&#xff1a; 四、KVM架构及原理&#xff08;一&#xff09;KVM虚拟化架构/三种模式&#xff08;二&#xff09;KVM原理总结&#xff1a;&#xff08;三&…

KVM 虚拟化

kvm虚拟化 Kvm的安装、KVM下的虚拟机安装和相互访问约束 推荐下载TightVNC 也可以使用 VNCSever 一、虚拟化产品介绍 linux类的虚拟化软件: qemu&#xff0c;软件纯模拟全虚拟化软件&#xff0c;特别慢!xen(半)&#xff0c;性能特别好&#xff0c;需要使用专门修改之后的内…

Linux KVM 虚拟化技术

一 、 KVM 介绍 &#xff1b; KVM 全称是 基于内核的虚拟机&#xff08;Kernel-based Virtual Machine&#xff09;&#xff0c;它是Linux 的一个内核模块&#xff0c;该内核模块使得 Linux 变成了一个 Hypervisor&#xff1a; ① 、它由 Quramnet 开发&#xff0c;该公司于…

KVM 虚拟化详解

服务器虚拟化是云计算最核心的技术&#xff0c;而KVM是当前最主流的开源的服务器虚拟化技术。从Linux2.6.20起&#xff0c;KVM作为内核的一个模块 集成到Linux主要发行版本中。从技术架构&#xff08;代码量、功能特性、调度管理、性能等&#xff09;、社区活跃度&#xff0c;以…

KVM 虚拟化技术(理论详解+实战)

文章目录 前言什么是虚拟化为什么要用虚拟化虚拟化技术的优势KVM简介关于KVM关于Virtual Machine Manager其他虚拟化软件 KVM虚拟化平台部署 前言 什么是虚拟化 在计算机技术中&#xff0c;虚拟化&#xff08;技术&#xff09;或虚拟技术&#xff08;英语&#xff1a;Virtual…

虚拟化技术之KVM,搭建KVM(详细)

首先说一下&#xff0c;KVM是基于硬件辅助的开源全虚拟化解决方案 一、KVM&#xff08;基于内核的虚拟机&#xff09;【刚开始是一家以色列的公司开发的&#xff0c;后来红帽觉得KVM很有前景&#xff0c;就把KVM收购了】。 二、KVM包含了一个内核加载模块&#xff0c;是一个.…

KVM虚拟化

文章目录 虚拟化介绍kvm简介Qemu-KVM虚拟化部署kvmKVM管理界面安装 虚拟化介绍 虚拟化&#xff1a;在一台计算机上虚拟出多个逻辑的计算机&#xff0c;而且每个逻辑计算机 它可以是不同操作系统 虚拟化技术&#xff1a;可以扩大硬件容量&#xff0c;单个cpu模拟出多个cpu并行…

虚拟化技术KVM入门学习

目录 一、虚拟化技术概述二、主流虚拟化介绍1、虚拟化技术主要分类2、平台虚拟化技术分类 三、KVM虚拟化技术简介1、KVM架构及解析 四、KVM软件安装1、环境准备2、查看CPU是否支持VT技术3、清理环境&#xff0c;卸载原有KVM4、安装软件5、启动服务6、查看kvm模块加载 五、Guest…

KVM虚拟化技术

KVM虚拟化技术 Qemu-kvm kvm virt-manager VNC Qemu-kvm创建和管理虚拟机 一.KVM简介 KVM&#xff08;名称来自英语&#xff1a;Kernel-basedVirtual Machine的缩写&#xff0c;即基于内核的虚拟机&#xff09;&#xff0c;是一种用于Linux内核中的虚拟化基础设施&#xff0c;可…

KVM虚拟化(一)

一、KVM虚拟化架构 1、主流虚拟机架构 图中对比了几种主流虚拟化技术架构&#xff1a;ESXi、Xen与KVM&#xff0c;其主要差别在与各组件&#xff08;CPU、内存、磁盘与网络IO&#xff09;的虚拟化与调度管理实现组件有所不同。在ESXi中&#xff0c;所有虚拟化功能都在内核实现…

虚拟化技术-KVM详解

一、 KVM概述 1.1 KVM 即 Kernel-based Virtual Machine 基于内核的虚拟机。 KVM&#xff0c;是一个开源的系统虚拟化模块&#xff0c;自 Linux 2.6.20 之后集成在 Linux 的各个主要发行版本中。它使用 Linux 自身的调度器进行管理&#xff0c;所以相对于Xen&#xff0c;其核心…

盘点腾讯后台开发各级工程师(T1-T9)需要具备哪些能力

作为一个程序员&#xff0c;不管是初入职场的菜鸟还是做开发多年的老鸟&#xff0c;都希望有机会能进大厂&#xff0c;最近有不少小伙伴问腾讯好不好进&#xff1f;需要的技术栈是怎么样的&#xff1f;本文就给大家普及一下腾讯后台开发各级工程师&#xff08;T1-T9&#xff09…

大华热成像摄像头整合web 后台开发

大华热成像摄像头整合web 后台开发 项目背景&#xff1a;需要web后台主动抓拍/自动监控上报到web后台&#xff0c;通过百度智能云人脸识别。并推送到微信公众号 涉及平台&#xff1a;web后台&#xff0c;大华ndk&#xff0c;百度人脸识别 1、大华热成像ndk 包及 demo解析说明本…

微信公众号后台开发总结

微信公众号后台开发总结 一、项目简介 当前需要做一个公众号后台&#xff0c;前期需要实现的功能有&#xff1a; &#xff08;1&#xff09; 在用户关注公众号时便获取用户的信息同时还要将用户信息存入数据库。 &#xff08;2&#xff09; 在用户给公众号发送消…

c/c++后台开发前景到底如何?该如何提升?

最近听到很多人都在讲&#xff1a;在这个Java热火朝天&#xff0c;人工智能高能吹捧的市场&#xff0c;c/c开发人员还有人要&#xff1f; 小编想说的是&#xff1a;有&#xff0c;而且很多企业都是有在招c/c开发人才。 只是IT这个行业&#xff1a;普遍高端稀缺&#xff0c;中端…

程序员告诉你:C/C++后台开发需要学习哪些技能书

前言&#xff1a;后台开发工程师主流使用的编程语言有C、Java、PHP以及目前慢慢流行的Golang等。小编就将以C的角度&#xff0c;讲讲如何学习和准备后台开发的岗位。 一、语言基础 无论是C开发还是Java开发&#xff0c;对于一个码农而言&#xff0c;最重要的就是对于编程语言的…