分享

virsh KVM文件管理_virsh 传文件_weixin

 jacklopy 2023-08-17 发布于河北

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

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

虚拟磁盘离线访问工具

离线访问工具应用场景
Ø 观看或下载位于虚拟机磁盘中的文件
Ø 编辑或上传文件到虚拟机磁盘
Ø 读取或写入的虚拟机配置
Ø 准备新的磁盘映像,其中包含文件、目录、文件系统、分区、逻辑卷和其他选项
Ø 拯救和修复客户无法启动或需要更改启动配置的虚拟机
Ø 监控虚拟机的磁盘使用情况
Ø 根据组织安全标准审计虚拟机的合规性
Ø 通过克隆和修改模板来部署虚拟机
Ø 读取CD和DVD ISO和软盘映像

1、查看关机状态下虚拟机的os版本、内核、驱动、挂载点、应用等信息(virt-inspector)(很少使用)

①第一种方式:

[root@localhost ~]# virt-inspector -d test-os1 > /tmp/test-os1.log
[root@localhost ~]# vim /tmp/test-os1.log 

②第二种方式(不常用,因为有时不确定硬盘文件对应的是哪一台虚拟机,但是查询到的信息和第一种方式是一样的,不过和第一种方式都是不常用的,内容太多):

[root@localhost ~]# virt-inspector -a /kvm-vm/vm1.qcow2 > /tmp/test-os1_log 
[root@localhost ~]# vim /tmp/test-os1_log 

2、查看关机状态下虚拟机的文件内容(virt-cat)

[root@localhost ~]# virt-cat -d test-os1 /root/test.txt
[root@localhost ~]# virt-cat -d test-os2 /root/test.txt

3、修改关机状态下虚拟机的文件内容(virt-edit)

[root@localhost ~]# virt-edit -d test-os2 /root/test.txt

4、查看关机状态下虚拟机的磁盘信息(virt-df)

[root@localhost ~]# virt-df -d test-os2
[root@localhost ~]# virt-df -h -d test-os2

5、将关机状态下虚拟机的文件拷贝到本地(virt-copy-out)

	[root@localhost ~]# virt-copy-out -d test-os2 /root/test.txt /tmp/

6、将本地文件拷贝到关机状态下的虚拟机中(virt-copy-in)

[root@localhost ~]# virt-copy-in -d test-os2 /root/hello.txt /root/

7、guestfish命令(不常用)

①以只读的方式进入到关机状态下虚拟机的文件系统中

[root@localhost ~]# guestfish --ro -i -d test-os2

②以读写的方式进入到关机状态下虚拟机的文件系统中

[root@localhost ~]# guestfish --rw -i -d test-os2

8、guestmount挂载命令与guestunmmount卸载命令

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

guestmount -a vm1.qcow2 -m /dev/vg_centosbase/lv_root --rw /mnt 

如果事先不知道虚机内部分区的路径信息,则可以使用参数-i来让guestmount自己决定使用哪一个挂接点:

guestmount -a vm1.qcow2 -i --rw /mnt

①将关机状态下虚拟机的文件系统挂载到本地目录下

[root@localhost ~]# mkdir /mnt/tmp
[root@localhost ~]# guestmount -d test-os2 -i --rw /mnt/tmp/

②将载到本地目录下的虚拟机文件系统卸载掉

[root@localhost ~]# guestunmount /mnt/tmp/

扩展(当不能以vnc方式和console方式登录虚拟机时,通过挂载关机状态下虚拟机的文件系统去修改grub.cfg配置文件):

[root@localhost ~]# guestmount -d test-os2 -i --rw /mnt/tmp/
[root@localhost ~]# vim /mnt/tmp/boot/grub2/grub.cfg 
[root@localhost ~]# guestunmount /mnt/tmp/

管理虚拟磁盘

虚拟化项目中存储的注意事项:
Ø 存储的性能几乎总是虚拟化的瓶颈
Ø 通过多个磁盘驱动以分布磁盘I/O来实现存储解决方案
Ø 驱动器的速度越快越好,考虑SSD与机械磁盘的混合使用
Ø 考虑部署集中化的SAN/NFS来实现高可用性和实时迁移

虚拟磁盘类型:
Ø 固定 Fixed
ü 在配置时,指定磁盘大小
ü 不管在虚拟磁盘上实际存储多少数据,都将占用相同大小主机磁盘空间
Ø 动态 Dynamic
ü 增长到最大容量,但是只根据需求使用更多的空间
Ø 差异(差分盘) Differencing
ü 因为创建是差异磁盘,所以只保存变更的数据,类似于lvm的快照
ü 例如,将操作系统安装在父盘,然后创建差异化磁盘来执行进一步配置,桌面虚拟化使用很多。

KVM支持的虚拟磁盘类型:
Ø raw
ü 这并非是一种真正的磁盘格式,而是代表虚拟机所使用的原始镜像
ü 它并不存储元数据,因此可以作为保证虚拟机兼容性的候选方案。然而,也正因为它不存储元数据,因此不能支持某些高级特性,比如快照和压缩等
ü 格式简单,容易转化为其他的格式。需要文件系统的支持才能支持sparse file
Ø cow: copy-on-wirte格式,昙花一现
Ø qcow: QEMU早期的copy-on-write格式,过渡性方案
Ø qcow2:
ü 按需进行分配磁盘空间,不管文件系统是否支持
ü 支持快照
ü 支持zlib的磁盘压缩
ü 支持AES的加密
Ø vmdk(virtual machine disk)
ü VMware环境当中默认使用的磁盘格式
Ø vhd\vhdx(virtual Hard Disk)
ü 微软默认采用的文件格式
Ø vdi(virtual Box)
可以通过qemu-img --help | grep Supported命令查看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 修订镜像格式选项

后备差异虚拟磁盘(VMware中称作链接克隆)
Ø 存储与基础镜像(父)磁盘的变化
ü 基础镜像(父)磁盘不会改变
ü 差异磁盘隔离变化
ü 多个差异磁盘可以使用相同的基础镜像(父)磁盘
Ø 优点:标准化基础镜像,节省空间
Ø 缺点:增加了开销,较差的性能 (尤其是vmware虚拟机中的试验环境,要等待很久才能启动)

1.创建差异虚拟磁盘:

[root@localhost ~]# qemu-img create -f qcow2 -o backing_file=/kvm-vm/vm2.qcow2 /kvm-vm/vm5.qcow2

2.拷贝一个新的虚拟机配置文件并编辑:

[root@localhost ~]# cp /etc/libvirt/qemu/test-os2.xml /etc/libvirt/qemu/test-os2_5.xml
[root@localhost ~]# vim /etc/libvirt/qemu/test-os2_5.xml 

1)进入配置文件用:%s/test-os2/test-os2_5/g (把文件里面test-os2 替换为 test-os2_5)
2)修改虚拟机的uuid 将一个数字改为16机制的一位数即可
在这里插入图片描述

3)将虚拟机指向的硬盘文件修改为vm5.qcow2
在这里插入图片描述

4)修改mac地址,也是16进制数才可以
在这里插入图片描述

通过虚拟机的配置文件与硬盘文件恢复虚拟机:

[root@localhost ~]# virsh define /etc/libvirt/qemu/test-os2_5.xml

在这里插入图片描述

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多