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



相关文章
|
23天前
|
安全 Linux KVM
Linux虚拟化技术:从Xen到KVM
Xen和KVM是Linux平台上两种主要的虚拟化技术,各有优缺点和适用场景。通过对比两者的架构、性能、安全性、管理复杂性和硬件依赖性,可以更好地理解它们的适用场景和选择依据。无论是高性能计算、企业虚拟化还是云计算平台,合理选择和配置虚拟化技术是实现高效、稳定和安全IT环境的关键。
81 8
|
22天前
|
存储 数据挖掘 数据库
虚拟化数据恢复—VMFS简介&误删除虚拟机的数据恢复案例
物理区:物理上连续的磁盘空间,即通常意义上的分区。 本地区:VMFS管理的物理区分为保留区和本地区,前面一部分是保留区,后面部分是本地区。本地区又分为元文件区和数据区。 元文件:与NTFS的元文件类似,属于FS的管理用数据。VMFS有6个元文件:.VH.SF/.FBB.SF/.FDC.SF/.SBC.SF/.PBC.SF/.PB2.SF。 元文件区:6个元文件占用的所有空间,在本地区的前面部分。 数据区:用于存放文件数据。 datastore:在ESX服务器上看到的VMFS存储空间。 LV:logical volume,所指的范围其实和本地区一样,即虚拟化卷。 LVM逻辑卷组:用来管理跨dis
|
2月前
|
存储 SQL 数据库
虚拟化数据恢复—Vmware虚拟机误还原快照的数据恢复案例
虚拟化数据恢复环境: 一台虚拟机从物理机迁移到ESXI虚拟化平台,迁移完成后做了一个快照。虚拟机上运行了一个SQL Server数据库,记录了数年的数据。 ESXI虚拟化平台上有数十台虚拟机,EXSI虚拟化平台连接了一台EVA存储,所有的虚拟机都存放在EVA存储上。 虚拟化故障: 工组人员误操作将数年前迁移完成后做的快照还原了,也就意味着虚拟机状态还原到数年前,近几年数据都被删除了。 还原快照相当于删除数据,意味着部分存储空间会被释放。为了不让这部分释放的空间被重用,需要将连接到这台存储的所有虚拟机都关掉,需要将不能长时间宕机的虚拟机迁移到别的EXSI虚拟化平台上。
122 50
|
2月前
|
存储 持续交付 虚拟化
|
2月前
|
存储 安全 虚拟化
虚拟化技术:实现资源高效利用和灵活管理的利器
虚拟化技术作为实现资源高效利用和灵活管理的重要手段,在数字化时代背景下,正逐步改变传统IT架构模式。本文概述了虚拟化技术的概念、原理及其在数据中心管理、云计算平台、企业信息化建设、科研教育及医疗行业的应用,并探讨了其面临的挑战与未来发展趋势。
214 3
|
5月前
|
存储 Linux 调度
OpenStack如何支持虚拟化技术?
【8月更文挑战第21天】
327 0
|
3月前
|
存储 分布式计算 分布式数据库
云计算和虚拟化技术
云计算是指把计算资源、存储资源、网络资源、应用软件等集合起来,采用虚拟化技术,将这些资源池化,组成资源共享池,共享池即是“云”。
192 64
|
4月前
|
KVM 虚拟化
虚拟化技术概述及KVM环境安装
关于虚拟化技术概述及KVM环境安装的教程,涵盖了虚拟化的定义、分类、管理工具,以及KVM的系统需求、安装步骤和使用指南。
129 11
虚拟化技术概述及KVM环境安装
|
5月前
|
存储 运维 虚拟化
Docker技术概论(1):Docker与虚拟化技术比较
Docker技术概论(1):Docker与虚拟化技术比较
244 17
Docker技术概论(1):Docker与虚拟化技术比较
|
5月前
|
Devops 虚拟化 Docker
DevOps 中的标准虚拟化技术
【8月更文挑战第27天】
70 5