KVM虚拟化笔记(十二)------kvm虚拟机磁盘文件的读取

简介:

kvm挂载磁盘的方法和工具很多,具体如下:

 (1)raw格式的磁盘可以直接挂载,也可以将qcow2格式的磁盘转换成raw格式的并挂载。eg:转换的命令为:

1
[root@KVM ~] # qemu-img convert -f raw -O qcow2 yz3_add.qcow2 yz3_add.img

具体的可以参考上节内容。

 (2)通过编译安装qemu-nbd工具挂载qcow2格式的磁盘。 qemu-nbd工具默认没有安装,需要编译进行安装。

 (3)通过创建kvm环境创建kvm虚拟机配置文件挂载虚拟机磁盘启动虚拟机。该内容课参考六的内容(KVM虚拟化笔记(六)------kvm虚拟机的克隆

 (4)通过libguestfs-tools工具进行测试。


本文主要测试的是libguest-tools工具进行测试,步骤如下:

1,首先确认libguestfs-tools工具是否安装,没有的话可进行yum安装。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[root@KVM  ~] #install libguestfs-tools
[root@KVM ~] # rpm -qa|grep libguestfs-tools
libguestfs-tools-1.20.11-14.el6.x86_64
libguestfs-tools-c-1.20.11-14.el6.x86_64
[root@KVM ~] # vir
virsh                  virt-image             virt-resize
virt-alignment-scan    virt-inspector         virt-sparsify
virt- cat                virt-inspector2        virt-sysprep
virt-clone             virt- install            virt- tar
virt-convert           virt-list-filesystems  virt- tar - in
virt-copy- in            virt-list-partitions   virt- tar -out
virt-copy-out          virt- ls                 virt- top
virt- df                 virt- make -fs           virt-v2v
virt-edit              virt-manager           virt-viewer
virt-filesystems       virt-p2v-server        virt-win-reg
virt- format             virt-pki-validate      virt-xml-validate
virt-host-validate     virt-rescue

命令格式:-d采用域名的方式,-a是直接获取磁盘文件方式

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


2,virt-cat命令,可直接查看虚拟机的文件,类似于cat,(开关机都可以)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[root@KVM ~] # virt-cat -d hadoop1 /etc/passwd
root:x:0:0:root: /root : /bin/bash
bin:x:1:1:bin: /bin : /sbin/nologin
daemon:x:2:2:daemon: /sbin : /sbin/nologin
adm:x:3:4:adm: /var/adm : /sbin/nologin
lp:x:4:7:lp: /var/spool/lpd : /sbin/nologin
sync :x:5:0: sync : /sbin : /bin/sync
shutdown :x:6:0: shutdown : /sbin : /sbin/shutdown
halt:x:7:0:halt: /sbin : /sbin/halt
mail:x:8:12:mail: /var/spool/mail : /sbin/nologin
uucp:x:10:14:uucp: /var/spool/uucp : /sbin/nologin
operator:x:11:0:operator: /root : /sbin/nologin
games:x:12:100:games: /usr/games : /sbin/nologin
gopher:x:13:30:gopher: /var/gopher : /sbin/nologin
ftp :x:14:50:FTP User: /var/ftp : /sbin/nologin
nobody:x:99:99:Nobody:/: /sbin/nologin
vcsa:x:69:69:virtual console memory owner: /dev : /sbin/nologin
saslauth:x:499:76: "Saslauthd user" : /var/empty/saslauth : /sbin/nologin
postfix:x:89:89:: /var/spool/postfix : /sbin/nologin
sshd:x:74:74:Privilege-separated SSH: /var/empty/sshd : /sbin/nologin
[root@KVM ~] #

3,virt-edit命令,可直接编辑虚拟机里面的文件,类似于vi编辑器(注意:该虚拟机必须处于关机状态)


wKiom1a1YsuRG22hAACC-8M8WCI275.png

1
2
3
4
5
6
7
8
9
10
11
[root@KVM ~] # virt-edit -d hadoop3 /etc/sysconfig/selinux 
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted


4,virt-df命令,可直接查看虚拟机里边的磁盘使用情况,类似于df -h命令,(开关机都可以)。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@KVM ~] # virt-df -h hadoop1
Filesystem                                Size       Used  Available  Use%
hadoop1: /dev/sda1                          484M        32M       427M    7%
hadoop1: /dev/VolGroup/lv_root               18G       733M        17G    4%
[root@KVM ~] # virt-df -h hadoop4
Filesystem                                Size       Used  Available  Use%
hadoop4: /dev/sda1                          484M        32M       427M    7%
hadoop4: /dev/VolGroup/lv_root               12G       731M        11G    6%
[root@KVM ~] # virsh list --all
  Id    Name                           State
----------------------------------------------------
  1     win7                           running
  17    hadoop1                        running
  18    hadoop4                        running
  20    hadoop2                        running
  -     hadoop3                        shut off

wKioL1a1Y_mjVCD0AACBq829jrA248.png


5,virt-filesystems命令,也是查看磁盘的使用情况,和virt-df命令类似(开关机都可以)wKioL1a1ZP_g4EyOAABlBKeAhWY373.png

6,virt-copy-out命令,直接复制虚拟机里面的磁盘文件到本地磁盘上,类似于cp命令,分为两种情况如下:

 (1)拷贝虚拟机hadoop1中的磁盘文件到本地目录/tmp/install下(拷贝文件)

1
[root@KVM ~] # virt-copy-out -d hadoop1 /etc/passwd /tmp/install

 (2)拷贝虚拟机hadoop1中的目录/etc/init.d/到本地/tmp/install/下(拷贝目录)

1
[root@KVM ~] # virt-copy-out -d hadoop1 /etc/init.d/ /tmp/install

结果如下图:

wKiom1a1ZkqS53fnAABut6vdbok503.png7,查看虚拟机所有的磁盘文件。

1
2
3
4
5
6
[root@KVM ~] # virsh domblklist hadoop1
Target     Source
------------------------------------------------
vda         /images/test/hadoop1 .qcow2
vdb         /images/test/hadoop1_add01 .qcow2
hdc        -

wKioL1a1Z3_ymfxXAACBdVODVPE212.png8,直接读取磁盘文件中的内容

1
[root@KVM ~] # virt-copy-out -a /images/test/hadoop2.img -a /images/test/hadoop1_add01.qcow2 /etc/sysconfig/network-scripts/ifcfg-eth0 /root/

wKioL1a1bKjBLcqoAADarYCP07k339.png9,virt-copy-in命令,直接虚拟化平台上本地磁盘到虚拟机磁盘上,类似于cp (虚拟机必须处于关机状态,开机验证)

1
2
3
[root@KVM  install ] # virt-copy-in -d hadoop1 /tmp/install/nginx.tar.gz /tmp/
[root@KVM  install ] # virsh start hadoop1
Domain hadoop1 started

wKiom1a1ca7w7MCgAAAvka8n5uQ971.png


如果出现报错:错误:root@ubuntu:/usr/bin# virt-copy-in -d yz /tmp/install/jdk-8u51-linux-x64.rpm /root

/usr/bin/virt-copy-in: line 19: exec: guestfish: not found”原因是没有安装guestfish造成的,可以先安装执行此命令yum install guestfish -y 自动安装就可以查看了。



本文转自 lqbyz 51CTO博客,原文链接:http://blog.51cto.com/liqingbiao/1741306



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