kvm虚拟化学习笔记(十三)之kvm虚拟机磁盘文件读取小结

简介:

kvm虚拟机磁盘挂载还真不是一帆风顺的。xen虚拟化默认就raw格式的磁盘,可以直接挂载,kvm如果采用raw也可以直接挂载,与xen磁盘挂载方式一致。

本文出自:http://koumm.blog.51cto.com

1.kvm虚拟化相比xen虚拟化来说,工具与方法众多,本文列举思路如下:

(1)raw格式的磁盘可以直接挂载,可以将qcow2磁盘转换成raw格式并挂载

转换示例:qemu-imgconvert-fraw-Oqcow2/data/raw.img/data/qcow2.img

raw格式磁盘挂载内容可以参考xen虚拟化实战系列(十一)之xen虚拟机磁盘文件挂载

(2)通过编译安装qemu-nbd工具挂载qcows格式的磁盘

qemu-nbd工具默认没有安装,需要编译安装,该内容待测试,如确实需要也可以参考思路1去解决。
(3)通过创建KVM环境创建kvm虚拟机配置文件挂载虚拟磁盘启动虚拟机

该内容可以参考kvm虚拟化学习笔记(七)之kvm虚拟机克隆

(4)通过libguestfs-tools工具直接修改与读取qcow2虚拟磁盘文件

本文主要测试libguestfs-tools工具来进行测试。

2.libguestfs-tools工具的使用示例

(1)确认libguestfs-tools工具的安装,没有安装可以yum进行安装。

安装完成后,会安装很多virt-开头的命令,下面将大概介绍使用这些命令。

1
2
3
4
5
6
7
8
[root@node1 ~]# vir
virsh                  virt-df                virt-inspector2        virt-p2v-server        virt-tar- in
virt-alignment-scan    virt-edit              virt-install           virt-pki-validate      virt-tar-out
virt-cat               virt-filesystems       virt-list-filesystems  virt-rescue            virt-v2v
virt-clone             virt-format            virt-list-partitions   virt-resize            virt-viewer
virt-convert           virt-host-validate     virt-ls                virt-sparsify          virt-what
virt-copy- in            virt-image             virt-make-fs           virt-sysprep           virt-win-reg
virt-copy-out          virt-inspector         virt-manager           virt-tar               virt-xml-validate

(2)命令使用参数格式

1
2
virt-df  [--options] -d domname
virt-df [--options] -a disk.img [-a disk.img ...]

通常两种方式:-d是采用域名称方式,-a是直接获取的磁盘文件方式。

3.virt-cat命令

直接查看虚拟机里面的/etc/passwd文件,类似于cat命令。

1
[root@node1 ~]# virt-cat -d oeltest01 /etc/passwd

185139521.jpg

4.virt-edit命令

直接编辑虚拟机里面的文件,类似于vi命令。

注:虚拟机必须处于关机状态,否则会出现如下提示:

1
2
3
4
5
libguestfs: error: error: domain  is  a live virtual machine.
Writing to the disks of a running virtual machine can cause disk corruption.
Either  use  read-only access, or  if  the guest  is  running the guestfsd daemon
specify live access.  In most libguestfs tools these options are --ro or
--live respectively.  Consult the documentation  for  further information.

185204453.jpg

1
[root@node1 ~]# virt-edit -d oeltest01 /etc/rc.local

可以通过vi命令进行编辑。

185227469.jpg

5.virt-df命令

直接查看虚拟机里面的磁盘使用情况,类似于df-h命令。

1
[root@node1 ~]# virt-df  -h oeltest01

185354721.jpg

virt-filesystems命令也与上面内容类似

1
2
3
[root@node1 ~]# virt-filesystems -d oeltest01
/dev/sda1
/dev/vg/root

6.virt-copy-out命令

直接复制虚拟机里面的磁盘文件到本地磁盘上,类似于cp命令。

(1)拷贝oeltest01虚拟机中的passwd文件到本地/root目录下

1
[root@node1 ~]# virt-copy-out -d oeltest01 /etc/passwd /root/

(2)拷贝oeltest01虚拟机中的/etc/到本地/root目录下

1
[root@node1 ~]# virt-copy-out -d oeltest01 /etc /root/

185413515.jpg

该命令很有用,也可以直接指定虚拟机磁盘文件进行命令。

#查看虚拟机所有磁盘文件

185431858.jpg

通过直接读取磁盘文件中的内容。

1
[root@node1 ~]# virt-copy-out -a /data/test01.qcow2 -a /data/test01_add01.qcow2 /etc/sysconfig/network-scripts/ifcfg-eth0 /root/

185451922.jpg

7.virt-copy-in命令

直接复制虚拟化平台上本地磁盘文件到虚拟机磁盘上,类似于cp命令。

拷贝本地/root/etc.tar.gz文件到虚拟机/root目录下

1
[root@node1 ~]# virt-copy- in  -d oeltest01 /root/etc.tar.gz /root/

注:虚拟化必须处于关机状态,可以开机验证。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[root@node1 ~]# virsh start oeltest01
域 oeltest01 已开始
[root@node1 ~]#
[root@node1 ~]#
[root@node1 ~]# virsh console oeltest01
连接到域 oeltest01
Escape character  is  ^]
Oracle Linux Server release  5.8
Kernel  2.6 . 18 - 308 .el5 on an x86_64
test01 login: root
Password:
Last login: Wed Sep  11  05 : 21 : 11  on ttyS0
[root@test01 ~]# ll
total  10828
-rw-------  1  root root      1225  Sep  11  03 : 54  anaconda-ks.cfg
drwxr-xr-x  2  root root      4096  Sep  11  04 : 17  Desktop
-rw-r--r--  1  root root  11006264  Sep  16   2013  etc.tar.gz
-rw-r--r--  1  root root     36587  Sep  11  03 : 54  install.log
-rw-r--r--  1  root root      3828  Sep  11  03 : 53  install.log.syslog
[root@test01 ~]#
[root@test01 ~]#

文读取虚拟机磁盘文件的内容到此,还有很多命令的命令,可以进行测试。







本文转自 koumm 51CTO博客,原文链接:http://blog.51cto.com/koumm/1298845,如需转载请自行联系原作者


相关文章
|
1月前
|
KVM 虚拟化
虚拟化技术概述及KVM环境安装
关于虚拟化技术概述及KVM环境安装的教程,涵盖了虚拟化的定义、分类、管理工具,以及KVM的系统需求、安装步骤和使用指南。
57 11
虚拟化技术概述及KVM环境安装
|
1月前
|
KVM 虚拟化
kvm虚拟机磁盘管理
文章详细介绍了KVM虚拟机磁盘管理,包括磁盘格式概述、创建虚拟机时如何指定磁盘格式、以及磁盘工具的常用命令,旨在帮助用户更好地理解和操作KVM虚拟机的磁盘管理。
49 1
kvm虚拟机磁盘管理
|
26天前
|
存储 SQL 数据挖掘
虚拟化数据恢复—VMware虚拟机vmdk文件被误删除的数据恢复案例
虚拟化数据恢复环境: 某品牌服务器(部署VMware EXSI虚拟机)+同品牌存储(存放虚拟机文件)。 虚拟化故障: 意外断电导致服务器上某台虚拟机无法正常启动。查看虚拟机配置文件发现这台故障虚拟机除了磁盘文件以外其他配置文件全部丢失,xxx-flat.vmdk磁盘文件和xxx-000001-delta.vmdk快照文件还在。管理员联系VMware工程师寻求帮助。VMware工程师尝试新建一个虚拟机来解决故障,但发现ESXi存储空间不足。于是将故障虚拟机下的xxx-flat.vmdk磁盘文件删除,然后重建一个虚拟机并且分配固定大小的虚拟磁盘。
|
1天前
|
Kubernetes Linux 容器
解决删除快照后启动虚拟机显示指定的文件不是虚拟磁盘 打不开磁盘“路径”或它所依赖的某个快照磁盘。 模块“disk”启动失败。 未能启动虚拟
解决删除快照后启动虚拟机显示指定的文件不是虚拟磁盘 打不开磁盘“路径”或它所依赖的某个快照磁盘。 模块“disk”启动失败。 未能启动虚拟
|
1月前
|
存储 SQL 数据挖掘
虚拟化数据恢复—EXSI虚拟机误还原快照的数据恢复案例
虚拟化技术原理是将硬件虚拟化供不同的虚拟机使用,一台物理机上可以有多台虚拟机。人为误操作或者物理机故障会导致上层虚拟机不可用,甚至虚拟机里的重要数据丢失。下面给大家分享一个vmware虚拟化误操作还原快照的数据恢复案例。 虚拟化数据恢复环境: 一台由物理机迁移到EXSI上面的虚拟机,迁移完成后做了一个快照。该虚拟机上运行SQL Server数据库,记录了几年的数据。 EXSI虚拟化平台上一共有数十台虚拟机,EXSI连接了一台EVA存储,所有的虚拟机(包括故障虚拟机)都放在EVA存储上。
|
1月前
|
存储 虚拟化
使用DiskGenius工具来实现物理机迁移虚拟机,实现虚拟化
【9月更文挑战第1天】使用 DiskGenius 工具可将物理机迁移到虚拟机,实现系统与数据的虚拟化。此过程包括:安装 DiskGenius 和准备虚拟化平台;备份物理机数据;使用 DiskGenius 备份磁盘;在虚拟化软件中创建新虚拟机并导入磁盘备份;配置及调整虚拟机设置;测试性能并优化资源分配。这有助于测试、开发及系统管理。
129 5
|
2月前
|
存储 Linux 调度
KVM 虚拟化的功能特性
【8月更文挑战第24天】虚拟化技术创建实体资源的虚拟版本,提升资源利用率。KVM(Kernel-based Virtual Machine)作为全虚拟化解决方案,借助Linux内核实现Hypervisor功能,通过模块化方式提供高效的虚拟化环境。
|
2月前
|
Linux KVM 虚拟化
在Linux中,KVM和Docker在Linux虚拟化中的区别是什么?
在Linux中,KVM和Docker在Linux虚拟化中的区别是什么?
|
2月前
|
存储 Linux 调度
OpenStack如何支持虚拟化技术?
【8月更文挑战第21天】
117 0
|
7天前
|
存储 分布式计算 分布式数据库
云计算和虚拟化技术
云计算是指把计算资源、存储资源、网络资源、应用软件等集合起来,采用虚拟化技术,将这些资源池化,组成资源共享池,共享池即是“云”。
110 64