推广 热搜: page  考试  小红  红书  数据  论文  数据分析  关键词  哪些  搜索 

【KVM虚拟化】· virsh文件管理

   日期:2025-01-03     移动:https://sicmodule.kub2b.com/mobile/quote/18517.html

目录

🍁离线访问工具应用场景

🍁离线命令

🍂virt­-inspector

🍂virt-cat

🍂virt-edit

🍂virt-df

🍂virt-copy-out

🍂virt-copy-in

🍂guestfish

🍂guestmount

🍁管理虚拟磁盘

🍂虚拟磁盘类型

🍂KVM支持的虚拟磁盘类型

🍂qemu-img命令

🍂后备差异虚拟磁盘

🍂磁盘格式转换

🍂调整虚拟磁盘大小

🍁管理磁盘快照

🍂快照语法格式

🍂创建磁盘快照并查看

🍂恢复快照

🍂删除快照并查看


   🦐博客主页:大虾好吃吗的博客

   🦐专栏地址:KVM虚拟化专栏

       通过文件管理可以直接查看、修改、复制虚拟机的内部文件。例如,当系统因为配置文件无法启动时,可以直接修改虚拟机的文件。虚拟机磁盘文件主要有raw和qcow2格式。raw格式性能最好,速度最快,它的缺点就是不支持一些新的功能,如支持镜像,zlib磁盘压缩,AES加密等。要使用镜像功能,磁盘格式必须为qcow2。

        raw格式的话,速度稍微快点,在高版本的qemu-kvm中,几乎不比qcow2的格式快,而qcow2格式节省空间,可动态增长,在公有云中广泛使用,建议使用qcow2。所有有时候,我们需要将raw格式的磁盘转换成qcow2格式(qemu-img convert -f raw -O qcow2 /kvm/myvm01.img /kvm-/vmtest01.qcow2)。

  1. 观看或下载位于虚拟机磁盘中的文件

  2. 编辑或上传文件到虚拟机磁盘

  3. 读取或写入的虚拟机配置

  4. 准备新的磁盘映像,其中包含文件、目录、文件系统、分区、逻辑卷和其他选项

  5. 拯救和修复客户无法启动或需要更改启动配置的虚拟机

  6. 监控虚拟机的磁盘使用情况

  7. 根据组织安全标准审计虚拟机的合规性

  8. 通过克隆和修改模板来部署虚拟机

  9. 读取CD和DVD ISO和软盘映像

需要注意的是,确保虚拟机是关闭状态下,否则会报错

virt­-inspector

显示os版本、内核、驱动、挂载点、应用等等,但是很少使用,执行后需要等一会。

 

virt-cat

类似于cat命令,参数:-a 需要指定虚拟机储存文件;-d 需要指定虚拟机名称,用法相同。

 

virt-edit

        类似于vim,执行命令后在文本编辑器内修改文件内容。例如在下面修改主机名,原主机名为vm01,修改后主机名为myvm01,通过virt-cat命令查看主机名已经修改成功。

 

virt-df

类似于df -h用于查看虚拟机磁盘信息

 

virt-copy-out

        类似于scp命令,把虚拟机中的文件远程复制到宿主机中。例:把虚拟机中的passwd命令复制到当前路径,查看是否存在。

 

virt-copy-in

        类似于scp命令,把宿主机中的文件远程复制到虚拟机中。例:在宿主机中创建一个test文件,复制给虚拟机,通过virt-cat命令查看是否成功。

 

guestfish

        可以查看、编辑和删除镜像内的文件,但是局限性很大,ls,cd等命令不能使用,推荐使用挂载的方式。

语法格式

guestfish [--ro|--rw] -i -a 虚拟机磁盘文件

guestfish [--ro|--rw] -i -d 虚拟机名称

guestmount

        在一些使用场景中,直接把虚机镜像文件挂接在本地系统中,也是一个简便的办法。

guestmount -d 虚拟机名 -m 磁盘路径 --rw 挂载点

        如果事先不知道虚机内部分区的路径信息,则可以使用参数-i来让guestmount自己决定使用哪一个磁盘路径,挂载后,进入mnt目录下就是myvm01的根目录,可以进行正常操作。

 

将/mnt下的挂载进行卸载

 
 

虚拟化项目中存储的注意事项

  1. 存储的性能几乎总是虚拟化的瓶颈

  2. 通过多个磁盘驱动以分布磁盘I/O来实现存储解决方案

  3. 驱动器的速度越快越好,考虑SSD与机械磁盘的混合使用

  4. 考虑部署集中化的SAN/NFS来实现高可用性和实时迁移

虚拟磁盘类型

1. 固定 :Fixed

        在配置时,指定磁盘大小;不管在虚拟磁盘上实际存储多少数据,都将占用相同大小主机磁盘空间。

2. 动态 :Dynamic

        增长到最大容量,但是只根据需求使用更多的空间。

3. 差异(差分盘:Differencing

        因为创建是差异磁盘,所以只保存变更的数据,类似于lvm的快照;例如,将操作系统安装在父盘,然后创建差异化磁盘来执行进一步配置,桌面虚拟化使用很多。

KVM支持的虚拟磁盘类型

        raw: 这并非是一种真正的磁盘格式,而是代表虚拟机所使用的原始镜像它并不存储元数据,因此可以作为保证虚拟机兼容性的候选方案。然而,也正因为它不存储元数据,因此不能支持某些高级特性,比如快照和压缩等格式简单,容易转化为其他的格式。需要文件系统的支持才能支持sparse file。

        qcow2:按需进行分配磁盘空间,不管文件系统是否支持;支持快照;支持zlib的磁盘压缩;支持AES的加密。

        vmdk(virtual machine disk:VMware环境当中默认使用的磁盘格式。

        vhdvhdx(virtual Hard Disk:微软默认采用的文件格式

还有很多磁盘类型,这里就不一一介绍,可以通过下面命令查看KVM所支持的磁盘类型。

 

qemu-img命令

它是QEMU的磁盘管理工具,在qemu-kvm源码编译后就会默认编译好qemu-img这个二进制文件。qemu-img也是QEMU/KVM使用过程中一个比较重要的工具,qemu-img工具的命令行基本用法如下

qemu-img command [command options]

qemu-img常用功能命令

命令作用check检查完整性create创建镜像commit提交更改compare比较convert转换info获取信息map映射snapshot快照管理rebase在已有镜像的基础上创建新的镜像resize调整大小amend修订镜像格式选项

创建虚拟磁盘,默认是创建raw格式的磁盘

 

创建qcow2格式磁盘

 

创建qcow2格式磁盘时,可以指定选项,通过-o参数,常用参数主要有

  1. backing_file 指定后端镜像文件

  2. backing_fmt 设置后端镜像的镜像格式

  3. encryption 设置加密

  4. cluster_size 设置簇大小,取值在512到2M之间,默认是64K

  5. preallocation 预分配模式 (allowed values: off, metadata, falloc,full)

(1)off 缺省策略,既不使用预分配策略

(2)metadata 分配元数据,预分配后的虚拟磁盘仍然属于稀疏模式类型磁盘

(3)full 分配所有磁盘空间并置零,预分配后的虚拟磁盘属于厚盘(非稀疏映像类型

(4)falloc 分配文件的块并标示它们的状态为未初始化,创建速度快

例如

 

后备差异虚拟磁盘

VMware中称之为链接克隆,节省空间。

存储与基础镜像(父)磁盘的变化

  1. 基础镜像(父)磁盘不会改变

  2. 差异磁盘隔离变化

  3. 多个差异磁盘可以使用相同的基础镜像(父)磁盘

优点:标准化基础镜像,节省空间

缺点:增加了开销,较差的性能 (尤其是vmware虚拟机中的试验环境,要等待很久才能启动

首选,需要拥有一个基础虚拟磁盘,可以通过安装一个全新的虚拟机得到,然后将各种使用的基本软件设置好。

一、创建差异虚拟磁盘

vm01.qcow2是父磁盘文件,vm01_ln.qcow2是链接文件名称。

 

查看

可以看到我上面没有设置磁盘大小,通过下面查看却定义了8G,而磁盘文件大小只有196K。

 

然后根据差异磁盘创建虚拟机 (强烈建议通过修改配置文件)如果修改配置文件的话,只需要修改主机名,uuid值,及mac地址即可。

下面两种方式都来一遍吧,先修改配置文件。

 

最后可以看到vm01主机已经创建出来了,但是能不能开机,能不能正常使用呢?下面来测试一下,先启动虚拟机,等待开机后尝试连接。

 

        经过等待,看来不是白等的,我尝试了一些操作,都没问题。链接克隆完成,下面再来一个安装方式克隆,这个就比较耗时间了,因为需要加载配置文件。

二、先创建一个父磁盘

 

创建虚拟机文件,等候加载配置文件,加载完毕登录即可。

 

        来查看一下都有哪些虚拟机吧,在宿主机命令行下执行;vm01是通过修改配置文件得到的克隆机,vm02是通过install得到的克隆机,myvm01和myvm02是正常创建的虚拟机,而myvm02_clong是完整克隆的到的虚拟机。

 

总结:两种方式可以使用相同的方式生成多个虚拟机,但是第二种较慢不推荐使用,而第一种只需要修改配置文件,从新定义虚拟机直接登录就可以启动。

磁盘格式转换

语法格式

convert [-c] [-p] [-q] [-n] [-f fmt] [-t cache] [-T src_cache] [-O output_fmt][-o options] [-s snapshot_name] [-S sparse_size] filename [filename2 [...]]output_filename

:转换test1.img原格式为raw修改后格式为qcow2。

 

调整虚拟磁盘大小

语法格式

resize [-q] filename [+ | -]size

  1. 操作之前一定要做好数据备份

  2. 增加文件大小后,需要在客户机中使用fdisk、parted等分区工具进行相应的操作才能真正让客户机使用到增加后的镜像空间

  3. 缩小镜像之前,要在客户机中保证里面的文件系统有空余空间,否则会数据丢失。

  4. qcow2不支持缩小镜像的操作。

 
 

磁盘快照

  1. 对磁盘数据进行快照

  2. 主要用于虚拟机备份等场合

内存快照

  1. 对虚拟机的内存/设备信息进行保存

  2. 该机制同时用于休眠恢复、迁移等场景

  3. 主要使用virsh save(qemu migrate to file)实现,只能对运行的虚拟机进行

检查点快照

  1. 同时保存虚拟机的磁盘快照和内存快照

  2. 用于将虚拟机恢复到某个时间点

  3. 可以保证数据的一致性

快照语法格式

snapshot [-q] [-l | -a snapshot | -c snapshot | -d snapshot] filename

'-a' 切换到某一指定快照点

'-c' 创建一个快照

'-d' 删除一个快照

'-l' 列出指定域的所有快照

创建磁盘快照并查看

 

恢复快照

 

删除快照并查看

本文地址:https://sicmodule.kub2b.com/quote/18517.html     企库往 https://sicmodule.kub2b.com/ , 查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


0相关评论
相关最新动态
推荐最新动态
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号