博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
xen虚拟化实战系列(十一)之xen虚拟机磁盘文件挂载
阅读量:6824 次
发布时间:2019-06-26

本文共 1564 字,大约阅读时间需要 5 分钟。

xen虚拟化实战系列文章列表

xen虚拟化实战系列(十三)之xen虚拟机集中管理之convirt

 

大家知道xen虚拟机使用最多的是虚拟磁盘文件来充当虚拟机磁盘,本文实战xen虚拟机文件的挂载,从而读取,修改里面的文件,满足维护要求。

通常有如下场景,本文出自:http://koumm.blog.51cto.com

(1)在一个没有xen虚拟化环境的服务器上拿到了一个很重要的xen虚拟机的磁盘,需要拷贝到里面一个很重要的文件,那么就可以采用本文方式拿到重要文件。

(2) 还有一个情况就是前面发布的一篇破解密码的文章: 后面提到另一种方式就是可以采用本文的方式进行密码破解。

1.  现有虚拟机与磁盘文件查看

2. 查看虚拟机磁盘文件位置

3.  简单查看磁盘分区情况

通过fdisk命令可以查看虚拟机磁盘文件的分区情况,本文虚拟机是先分一个/boot分区,剩下的空间创建一个LVM卷,然后在LVM卷中创建了swap与/ 根分区。这里可以看到一个普通分区就是/boot分区,一个LVM卷就是lvm逻辑,分区情况也就了解清楚了。

4. 映射虚拟磁盘文件

挂载虚拟磁盘文件需要用到一个kpartx命令,kpartx命令也可以查看虚拟磁盘文件分区结构,与fdisk命令一致。

kpartx命令原理就是将虚拟磁盘文件与本地系统上的loop设备文件进行映射,然后映射的loop设备文件进行分区挂载访问与数据的处理。

(1)  模拟查看映射,非真实映射

(2) 开始映射

映射设备文件位置在/dev/mapper/loop0p1,/dev/mapper/loop0p2

这两个文件,第一个/dev/mapper/loop0p1是一个普通linux分区,/dev/mapper/loop0p2是一个LVM逻辑卷,需要通过不同方式进行处理。下面分别根据场景进行处理。

5. 挂载普通磁盘文件

根据前面的分析,第一个/dev/mapper/loop0p1是一个普通linux分区,也就是/boot分区,该分区存有grub启动配置文件。我们可以通过修改/boot/grub/grub.conf文件中的参数,使用虚拟机进行单用户模式,修改密码。

(1) 挂载设备文件

(2) 成功挂载,可以成功查看到内容

(3) 修改grub/grub.conf文件,修改如下内容,使用系统启动时进入单用户模式。

(4) 取消mount删除映射

# umount /mnt

(5) 开机测试

控制台进入虚拟机,成功进入单用户模式,并修改密码。

还原grub.conf文件

sh-3.2# vi /boot/grub/grub.conf 

取消单用户进行配置,重启。

至时挂载普通分区文件,读取,修改文件示例成功。

6. 挂载LVM磁盘文件

根据前面的分析,第一个/dev/mapper/loop0p1是一个普通linux分区,也就是/boot分区,第二个是一个包括LVM的逻辑卷,那么下面就采用lvm的方式进行处理。

(1) 扫描物理卷

可以看到vg卷组,执行成功。

(2) 激活扫描到的vg卷组,激活后就可以使用了。

(3) 激活后lvm逻辑卷的位置在/dev/mapper/下,如下图标标所示。vg-swap是swap,vg-root是根分区。

(4) 挂载根分区到/mnt。

# cd /mnt

成功读取网卡配置文件。

到此xen虚拟机磁盘文件挂载整个内容完毕。在实际生产与测试环境中可以通过以上方式完成一些任务。

说明:linux技术博大精深,挂载虚拟磁盘文件分区也只是以上方式,还有方法,这里就不多介绍了。over…

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

你可能感兴趣的文章
c读写文件
查看>>
pytorch怎么抽取中间的特征或者梯度
查看>>
iOS自动布局(autolayout)下图片编辑器的实现
查看>>
yii2配置邮件发送总是提示授权不正确的解决方案?
查看>>
hdu1081 DP类最大子段和(二维压缩+前缀和数组/树状数组计数)
查看>>
CLR 无法从 COM 上下文 0x208f68 转换为 COM 上下文 0x2090d8,这种状态已持续 60 秒。...
查看>>
Django初步完成:登录、注册、退出
查看>>
2018 MAC下安装Redis和Redis可视化工具RDM并连接Redis
查看>>
visual studio用"查找替换"来删掉源代码中所有//方式的纯注释和空行
查看>>
PHP数据类型
查看>>
第184天:js创建对象的几种方式总结
查看>>
第201天:js---实现继承的5种方式
查看>>
mysql 中varchar(50)最多能存多少个汉字
查看>>
TCP可靠传输及流量控制实现原理
查看>>
页面通过ajax传值到后台,后台返回值展示在页面输入框
查看>>
poi3.8 word
查看>>
react-router-dom实现全局路由登陆拦截
查看>>
STL基础3:map
查看>>
个人作业4——alpha阶段个人总结
查看>>
Oracle11g 新功能
查看>>