KVM 管理 | 学习笔记

简介: 快速学习KVM 管理。

开发者学堂课程【KVM 虚拟化第三课时:KVM 管理】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/809/detail/13904


KVM 管理


管理 KVM 虚拟机的几个核心命令

virtsh —— 命令行下的虚拟机管理工具

virt-manager —— 可视化管理工具

virt-viewer —— 虚拟机查看工具

virt-instal —— 命令行下的虚拟机创建命令

 

虚拟机核心资源

虚拟机最为核心的便是将硬件资源放置在资源池内重新分配, libvirt 中,最为核心的便是对资源的虚拟化:CPU 、存储、网络

 

一、存储池

1.1存储池 Storage Pool

libvirt 中,最核心的是 Storage Pool

Storage Pool 将存储归纳整理成为一个个不同的Storage Pool

Storage Pool 可以跨越不同的硬件,如一个Storage Pool 可以由多个硬盘组成

1.2存储池管理

查看所有存储池: virsh pool-list -- all

定义一个新的存储池:virsh pool-defne-as poolname dir ----/ home / username /. local / libvirt / images

构建存储池:virsh pool-build  poolname

启用存储池:virsh pool-start poolname

自启动存储池:virsh pool-autostart poolname

删除存储池:virsh pool-undefne poolname

1.3操作存储池

演示virsh使用

image.png

输入virsh help,查看virsh所有命令

image.png

virsh每个命令有不同的分组

image.png

存储池就分在pool这个组

输入virsh help pool就只展示与存储池相关命令

image.png

输入virsh pool-list查看所有已经配置的存储池

image.png

输入virsh help pool-list 可以查看pool-list里所有参数

image.png

输入virsh pool-info iso可以查看pool具体信息

image.png

输入virsh pool-capabilities查看pool的能力 ,表示当前支持哪些配置

image.png

1.4创建存储池

使用define创建存储池:

使用virsh pool-define-as 输入要定义的名称比如vdisk格式dir

image.png

设定--target ./设置路径

image.png

实行pool-list--all查看所有

image.png

vdisk还未构建所以vdisk还未激活

virsh pool-build vdisk 对存储池进行构建

image.png

path'.' 为相对路径,应该修改为绝对路径

Pwd查看当前路径

image.png

使用viest pool-edit来修改vdisk

image.png

进入配置路径:

image.png

执行virsh pool-start 启动vdisk

image.png

执行virsh pool-autostart vdisk 开启池自动重启

image.png

完成创建

image.png

执行virsh pool-dumpxml vdisk 查看配置

image.png


二、存储卷

2.1存储卷Storage Volume

存储池被创建之后,就可以在存储池中创建存储卷。

存储卷是实际用来存储数据的单位。

存储卷有明确的大小的限制。

2.2存储卷管理

virsh vol-create-as poolname volumename 10GiB --format awbochsrawqcowqcowvmdk

virsh vol-upload --pool poolname volumename volumepath

virsh vol-list poolname

virsh vol-resize --pool poolname volumename 12GiBe

virsh vol-delete --pool poolname volumename

virsh vol-dumpxml --pool poolname volume #查看详情

2.3使用存储卷

virsh 控制存储卷

virsh help volume查看存储卷提供的命令

image.png

2.4创建存储卷

virsh help vol-create-as查看创建存储卷的信息

image.png

virsh pool-list查看池的名字

image.png

virsh vol-create-as 加上池的名字vdisk加上卷的名字datafile 容量10GiB --format

image.png

virsh vol-list vdisk 查看定义好的卷

image.png

virsh vol-list defult  查看之前存在的卷

image.png

virsh vol-info datafile --pool vdisk 查看卷的信息

image.png

resize 对磁盘进行扩容

image.png

容量修改到12GiB

image.png

查看容量修改后:

image.png


三、虚拟机

3.1虚拟机Domain

libvirt中,每一个虚拟机都被称为Domain,我们对于虚拟机的操作,实际上是对于Domain的操作。

3.2管理虚拟机

virsh list--all查看所有虚拟机
virt-install --name debian
(名字) --memory 1024(内存大小) --vcpus=2maxvcpus =4cpu数量) --cpu host --cdrom$HOME/iso/debian.iso(使用的镜像路径)--disk size=2(磁盘大小),format=raw (磁盘格式)--network user(使用的网络) --virt-type kvm (虚拟化类型)创建虚拟机

virt-install -- name demo --memory 512 -- disk /home/user/VMs/mydisk.img --import导入创建好的虚拟机

virsh start domain启动虚拟机

virsh shutdown domain关闭虚拟机

virsh edit domain编辑虚拟机

3.3虚拟机管理操作

Virsh help domain查看命令

image.png

通过list查看虚拟机基本信息

image.png

vcpuinfo查看cpu具体信息

image.png

使用install创建虚拟机

image.png

Virtual-install设置名字、内存、cpu大小、镜像路径、磁盘大小、磁盘格式使用网络以及虚拟化类型。

image.png

 

四、网络

4.1网络Network

libvirt默认会创建一个NAT网桥,用于虚拟机和外界进行沟通。

除了NATlibvirt还支持以下几种网络配置

Obridge——birdge创建一个虚拟设备,它通过一个物理接口直接共享数据。使用场景为:宿主机有静态网络、不需与其它域连接、要占用全部进出流量,并且域运行于系统层级。

Network——这是一个虚拟网络,它可以与其它虚拟机共用。使用场景为:宿生机有动态网络(例如: NetworkManager) 或使用无线

4.2网络

Macvtap——直接连接到宿主机的一个物理网络接口

User——本地网络,仅用于用户会话。

4.3创建custom

查看网络命令

image.png

查看已有网络

image.png

查看已有网络信息

image.png

查看配置文件

image.png

修改为自己的文件

image.png

创建 vi network.xml,粘贴上修改好的文件,保存退出

查看net-create帮助

image.png

创建custom

image.png


五、快照

5.1快照Snapshot

虚拟机快照保存了虚拟机在某个指定时间点的状态(包括操作系统和所有的程序),利用快照,我们可以恢复虚拟机到某个以前的状态,比如测试软件的时候经常需要回滚系统。

5.2管理快照

virsh snapshot-create-as domain snapshot1 -- -disk- -only --atomic创建快照

virsh snapshot-list domain查看快照

5.3创建快照

查看快照命令:snapshot

image.png

创建快照

image.png

查看配置好的快照

image.png

 

六、libvirt编程控制

libvirt提供编程语言的SDK,你可以通过编程来控制虚拟机

image.png

实际编程中的操作

Gitlab——libvirt

image.png

使用交互式方式了解libvirt的使用

image.png

libvirt官方给出教程,可查看教程进行学习。

image.png

相关文章
|
4月前
|
存储 Kubernetes API
在Kubernetes(k8s)环境中无法删除持久卷(PV)和持久卷声明(PVC)的解决方案
最后,应该记住,直接编辑Kubernetes对象是一个破坏性的操作,应该只在必要时、并在充分了解后果的情况下采取,理想情况下在有经验的操作员指导下进行。
379 10
|
前端开发 Unix Linux
KVM 架构概述
【10月更文挑战第12天】KVM是基于硬件辅助虚拟化技术的虚拟机监控器,核心依赖于CPU的虚拟化支持如Intel VT和AMD-V。
|
10月前
|
SQL 数据挖掘 关系型数据库
阿里云百炼|析言GBI全新发布:联合云上数据库,助力企业轻松实现ChatBI
析言GBI是阿里云推出的一款基于AI的智能数据分析产品,通过自然语言处理实现对话式数据分析。用户无需编写代码,即可轻松进行数据查询、分析和可视化。该产品支持多种数据库连接方式(如MySQL、PostgreSQL等),并提供多版本选择以适应不同业务需求。即将发布的动态规划BI分析功能将进一步提升复杂问题的拆解与综合分析能力。欢迎访问阿里云百炼应用广场体验析言GBI,并享受200次免费问题额度。
|
存储 安全 数据中心
【Docker 专栏】Docker 容器与宿主机的资源隔离机制
【5月更文挑战第8天】Docker容器利用Namespace和Cgroups实现资源隔离,保证CPU、内存、网络和存储的独立,提升资源利用率和系统安全性。资源隔离有助于简化应用部署与管理,但也带来资源竞争、监控管理及安全挑战。理解并善用资源隔离机制能实现更高效、安全的容器运行。随着技术进步,Docker容器资源隔离将持续优化。
1228 2
【Docker 专栏】Docker 容器与宿主机的资源隔离机制
|
11月前
|
机器学习/深度学习 人工智能 编解码
阿里云GPU云服务器优惠收费标准,GPU服务器优缺点与适用场景详解
随着人工智能、大数据分析和高性能计算的发展,对计算资源的需求不断增加。GPU凭借强大的并行计算能力和高效的浮点运算性能,逐渐成为处理复杂计算任务的首选工具。阿里云提供了从入门级到旗舰级的多种GPU服务器,涵盖GN5、GN6、GN7、GN8和GN9系列,分别适用于图形渲染、视频编码、深度学习推理、训练和高性能计算等场景。本文详细介绍各系列的规格、价格和适用场景,帮助用户根据实际需求选择最合适的GPU实例。
|
机器学习/深度学习 人工智能 自然语言处理
【AI大模型】Transformers大模型库(二):AutoModelForCausalLM
【AI大模型】Transformers大模型库(二):AutoModelForCausalLM
587 1
|
机器学习/深度学习 算法
【MATLAB】基于EMD-PCA-LSTM的回归预测模型
【MATLAB】基于EMD-PCA-LSTM的回归预测模型
566 0
【MATLAB】基于EMD-PCA-LSTM的回归预测模型
|
运维 Linux KVM
KVM详解(七)——KVM常用命令详解
KVM详解(七)——KVM常用命令详解
491 5
|
存储 Linux KVM
虚拟化技术之KVM安装与使用
虚拟化技术之KVM安装与使用
|
前端开发 关系型数据库 MySQL
OceanBase数据库常见问题之bootstrap时报错如何解决
OceanBase 是一款由阿里巴巴集团研发的企业级分布式关系型数据库,它具有高可用、高性能、可水平扩展等特点。以下是OceanBase 数据库使用过程中可能遇到的一些常见问题及其解答的汇总,以帮助用户更好地理解和使用这款数据库产品。