kvm虚拟机磁盘文件读取小结
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虚拟机磁盘文件读取小结的更多相关文章
- kvm虚拟化学习笔记(四)之kvm虚拟机日常管理与配置
KVM虚拟化学习笔记系列文章列表----------------------------------------kvm虚拟化学习笔记(一)之kvm虚拟化环境安装http://koumm.blog.51 ...
- kvm虚拟化学习笔记(二)之linux kvm虚拟机安装
KVM虚拟化学习笔记系列文章列表----------------------------------------kvm虚拟化学习笔记(一)之kvm虚拟化环境安装http://koumm.blog.51 ...
- kvm虚拟化之kvm虚拟机克隆
kvm虚拟机的克隆分为两种情况,本文也就通过以下两种情况进行克隆,克隆虚拟机为OEL5.8X64. (1) KVM主机本机虚拟机直接克隆. (2) 通过复制配置文件与磁盘文件的虚拟机复制克隆(适用于异 ...
- CentOS 6.9下KVM虚拟机通过virt-clone克隆虚拟机(转)
一.virt-clone概述 1.virt-clone作用简介 virt-clone主要是用来克隆kvm虚拟机,并且通过Options.General Option.Storage Configura ...
- kvm虚拟机的克隆
kvm虚拟机的克隆分为两种情况 (1) KVM主机本机虚拟机直接克隆. (2) 通过复制配置文件与磁盘文件的虚拟机复制克隆(适用于异机的静态迁移). 1. 本机虚拟机直接克隆 (1) 查看虚拟机配置 ...
- kvm虚拟机静态和动态迁移
一.kvm虚拟机静态迁移 1.静态迁移就是虚拟机在关机状态下,拷贝虚拟机虚拟磁盘文件与配置文件到目标虚拟主机中,实现的迁移. (1)虚拟主机各自使用本地存储存放虚拟机磁盘文件 本文实现基于本地磁盘存储 ...
- kvm虚拟机日常管理和配置操作命令梳理
KVM虚拟机的管理主要是通过virsh命令对虚拟机进行管理.1)查看KVM虚拟机配置文件及运行状态KVM虚拟机默认配置文件位置: /etc/libvirt/qemu/autostart目录是配置kvm ...
- 在centos7中限制kvm虚拟机可访问的资源
最近通过艰苦卓绝的度娘(我很想用谷歌,可是,你懂的),终于搞明白如何在centos7中限制kvm虚拟机可访问的资源了.度娘给出的结果中,大部分都说的很对,然而,却很难照着做,主要原因有两点:1.网上的 ...
- 实现将VirtualBox 虚拟机转换为KVM虚拟机的步骤
原来在桌面上一直使用virtualbox虚拟机管理程序(VMM)构建虚拟机安装不同的操作系统,现在 研究linux下的KVM,能否将已经建立的virtualBox虚拟客户机(guest)转换为KVM虚 ...
随机推荐
- Linux实战教学笔记30:Nginx反向代理与负载均衡应用实践
1.1 集群简介 简单地说,集群就是指一组(若干个)相互独立的计算机,利用高速通信网络组成的一个较大的计算机服务系统,每个集群节点(即集群中的每台计算机)都是运行各自服务的独立服务器.这些服务器之间可 ...
- 文件后缀与mime类型对应表
//文档文件类型的 .ai application/postscript .eps application/postscript .exe application/octet-stream ...
- 前向渲染路径细节 Forward Rendering Path Details
正向渲染路径细节 Forward Rendering Path Details Forward Rendering path renders each object in one or more pa ...
- 关于HDFS默认block块大小
这是有疑惑的一个问题,因为在董西成的<Hadoop技术内幕--深入解析MapReduce架构设计与实现原理>中提到这个值是64M,而<Hadoop权威指南>中却说是128M,到 ...
- CTE 中字符串拼接
1>cte语法 1.1>基础语句和递归语句中必须有字段 1.2>最后只能跟一条查询语句 1.3>字符串拼接,要将拼接的字段转成字符串类型,cast(fieldName as n ...
- 访问tomcat出现java.lang.IllegalStateException No output folder错误解决方法
访问tomcat出现java.lang.IllegalStateException: No output folder错误解决方法 问题:tomcat分为安装版和解压缩版,解压缩版如果解压到安装盘,在 ...
- Ext.data.association.hasMany一对多模型使用示例
来自<sencha touch权威指南>第11章,323页开始 --------------------------------------------------- index.html ...
- 读取mysq数据库l数据,并使用dataview显示
来自<sencha touch权威指南>,约198页开始 通过php脚本,可以将mysql数据库的数据作为json数据格式进行读取. (1)php代码(bookinfo.php): < ...
- linux进入单用户方法-乾颐堂
RedHat7.2 在使用GRUB引导程序的时候如何进入单用户 1.在出现GURB引导画面时,按字母e,进入GRUB编辑状态 2在引导菜单后添加“1”或single,选定它,然后按字母b,就可引导到单 ...
- [Training Video - 3] [Groovy in Detail] Non-static and Static functions, initializing log inside class
log.info "starting" // we use class to create objects of a class Planet p1 = new Planet() ...