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

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

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

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

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

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

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

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

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

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

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

[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-p_w_picpath virt-make-fs virt-sysprep virt-win-reg
virt-copy-out virt-inspector virt-manager virt-tar virt-xml-validate

(2)命令使用参数格式

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

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

3.virt-cat命令

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

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

4.virt-edit命令

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

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

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.

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

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

5.virt-df命令

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

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

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

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

6.virt-copy-out命令

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

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

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

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

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

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

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

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

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

7.virt-copy-in命令

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

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

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

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

[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.-.el5 on an x86_64
test01 login: root
Password:
Last login: Wed Sep :: on ttyS0
[root@test01 ~]# ll
total
-rw------- root root Sep : anaconda-ks.cfg
drwxr-xr-x root root Sep : Desktop
-rw-r--r-- root root Sep etc.tar.gz
-rw-r--r-- root root Sep : install.log
-rw-r--r-- root root Sep : install.log.syslog

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

kvm虚拟机磁盘文件读取小结的更多相关文章

  1. kvm虚拟化学习笔记(四)之kvm虚拟机日常管理与配置

    KVM虚拟化学习笔记系列文章列表----------------------------------------kvm虚拟化学习笔记(一)之kvm虚拟化环境安装http://koumm.blog.51 ...

  2. kvm虚拟化学习笔记(二)之linux kvm虚拟机安装

    KVM虚拟化学习笔记系列文章列表----------------------------------------kvm虚拟化学习笔记(一)之kvm虚拟化环境安装http://koumm.blog.51 ...

  3. kvm虚拟化之kvm虚拟机克隆

    kvm虚拟机的克隆分为两种情况,本文也就通过以下两种情况进行克隆,克隆虚拟机为OEL5.8X64. (1) KVM主机本机虚拟机直接克隆. (2) 通过复制配置文件与磁盘文件的虚拟机复制克隆(适用于异 ...

  4. CentOS 6.9下KVM虚拟机通过virt-clone克隆虚拟机(转)

    一.virt-clone概述 1.virt-clone作用简介 virt-clone主要是用来克隆kvm虚拟机,并且通过Options.General Option.Storage Configura ...

  5. kvm虚拟机的克隆

    kvm虚拟机的克隆分为两种情况 (1) KVM主机本机虚拟机直接克隆. (2) 通过复制配置文件与磁盘文件的虚拟机复制克隆(适用于异机的静态迁移). 1.  本机虚拟机直接克隆 (1) 查看虚拟机配置 ...

  6. kvm虚拟机静态和动态迁移

    一.kvm虚拟机静态迁移 1.静态迁移就是虚拟机在关机状态下,拷贝虚拟机虚拟磁盘文件与配置文件到目标虚拟主机中,实现的迁移. (1)虚拟主机各自使用本地存储存放虚拟机磁盘文件 本文实现基于本地磁盘存储 ...

  7. kvm虚拟机日常管理和配置操作命令梳理

    KVM虚拟机的管理主要是通过virsh命令对虚拟机进行管理.1)查看KVM虚拟机配置文件及运行状态KVM虚拟机默认配置文件位置: /etc/libvirt/qemu/autostart目录是配置kvm ...

  8. 在centos7中限制kvm虚拟机可访问的资源

    最近通过艰苦卓绝的度娘(我很想用谷歌,可是,你懂的),终于搞明白如何在centos7中限制kvm虚拟机可访问的资源了.度娘给出的结果中,大部分都说的很对,然而,却很难照着做,主要原因有两点:1.网上的 ...

  9. 实现将VirtualBox 虚拟机转换为KVM虚拟机的步骤

    原来在桌面上一直使用virtualbox虚拟机管理程序(VMM)构建虚拟机安装不同的操作系统,现在 研究linux下的KVM,能否将已经建立的virtualBox虚拟客户机(guest)转换为KVM虚 ...

随机推荐

  1. SPI protocol驱动编写实例

    内核版本:3.9.5 Linux中SPI驱动有俩个部分组成:controller驱动,直接和底层硬件打交道,protocol驱动,针对特定的设备,也是我们要做的. 这里只考虑SPI protocol驱 ...

  2. split files test

    python split_upload.py   /root/github/python/s3_test/test.txt    dbelt      dumps python download_to ...

  3. 两个不同vim之间复制内容

    常规想法是打开两个vim,然后进行yy和p操作,但是实践证明根本是不行的.此时,我们需要分割窗口,然后就可以复制粘贴了.步骤如下: 假设我要把srv.c文件的readline函数整体复制到cli.c文 ...

  4. Render Texture

    [Render Texture] Render Textures are special types of Textures that are created and updated at runti ...

  5. PythonScripter2.7报错ascii codec can't encode characters in position 0-1:ordinal not in range(128)

    1. 这是Python 2 mimetypes的bug2. 需要将Python2.7\lib\mimetypes.py文件中如下片段注释或删除:try: ctype = ctype.encode(de ...

  6. Python binascii

    Python binascii模块 Python binascii模块 用处 包含的函数 相关内置函数 code使用示例 转载请标明出处(http://blog.csdn.net/lis_12/art ...

  7. tyvj P3737 逐个击破

    http://tyvj.cn/p/3737 时间: 1000ms / 空间: 131072KiB / Java类名: Main 描述 秉承伟大军事家的战略思想,作为一个有智慧的军长你,遇到了一个类似的 ...

  8. java网站如何集成facebook第三方登录

    第一次接触Facebook第三方登录,可能有些地方做的并不全面,只是尝试着做了一个小demo,因为国内接入Facebook的项目并不多,并且多数都是Android或iOS的实现,所以资料也特别少,在此 ...

  9. [GO]结构体的值传递和地址传递

    package main import "fmt" type student struct { id int name string sex byte age int addr s ...

  10. CodeForces 690D1 The Wall (easy) (判断连通块的数量)

    题意:给定一个图,问你有几个连通块. 析:不用说了,最简单的DFS. 代码如下: #include <bits/stdc++.h> using namespace std; const i ...