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

xen虚拟化实战系列(一)之xen虚拟化环境安装
xen虚拟化实战系列(二)之xen虚拟机安装
xen虚拟化实战系列(三)之xen虚拟机复制
xen虚拟化实战系列(四)之xen虚拟机扩展磁盘空间一法
xen虚拟化实战系列(五)之xen虚拟机扩展磁盘空间再一法
xen虚拟化实战系列(六)之xen虚拟机破解密码

xen虚拟化实战系列(七)之xen虚拟机VNC访问配置

xen虚拟化实战系列(八)之xen虚拟机开机自启动配置
xen虚拟化实战系列(九)之xen虚拟机时间配置
xen虚拟化实战系列(十)之xen虚拟机双网卡配置

xen虚拟化实战系列(十一)之xen虚拟机磁盘文件挂载

xen虚拟化实战系列(十二)之xen虚拟机高可用之在线迁移

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

 

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

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

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

(2) 还有一个情况就是前面发布的一篇破解密码的文章:http://koumm.blog.51cto.com/703525/1285969 后面提到另一种方式就是可以采用本文的方式进行密码破解。

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

xen虚拟化实战系列(十一)之xen虚拟机磁盘文件挂载_xen

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

xen虚拟化实战系列(十一)之xen虚拟机磁盘文件挂载_xen虚拟化_02

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

xen虚拟化实战系列(十一)之xen虚拟机磁盘文件挂载_虚拟化_03

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

4. 映射虚拟磁盘文件

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

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

xen虚拟化实战系列(十一)之xen虚拟机磁盘文件挂载_虚拟化_04

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

xen虚拟化实战系列(十一)之xen虚拟机磁盘文件挂载_xen虚拟化_05

(2) 开始映射

xen虚拟化实战系列(十一)之xen虚拟机磁盘文件挂载_xen_06

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

xen虚拟化实战系列(十一)之xen虚拟机磁盘文件挂载_虚拟化_07

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

5. 挂载普通磁盘文件

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

(1) 挂载设备文件

xen虚拟化实战系列(十一)之xen虚拟机磁盘文件挂载_xen_08

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

xen虚拟化实战系列(十一)之xen虚拟机磁盘文件挂载_xen_09

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

xen虚拟化实战系列(十一)之xen虚拟机磁盘文件挂载_xen虚拟化_10

(4) 取消mount删除映射

# umount /mnt

xen虚拟化实战系列(十一)之xen虚拟机磁盘文件挂载_xen虚拟化_11

(5) 开机测试

xen虚拟化实战系列(十一)之xen虚拟机磁盘文件挂载_xen_12

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

xen虚拟化实战系列(十一)之xen虚拟机磁盘文件挂载_xen虚拟化_13

还原grub.conf文件

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

xen虚拟化实战系列(十一)之xen虚拟机磁盘文件挂载_xen_14

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

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

6. 挂载LVM磁盘文件

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

xen虚拟化实战系列(十一)之xen虚拟机磁盘文件挂载_xen_15

(1) 扫描物理卷

xen虚拟化实战系列(十一)之xen虚拟机磁盘文件挂载_xen_16

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

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

xen虚拟化实战系列(十一)之xen虚拟机磁盘文件挂载_xen虚拟化_17

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

xen虚拟化实战系列(十一)之xen虚拟机磁盘文件挂载_xen虚拟化_18

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

xen虚拟化实战系列(十一)之xen虚拟机磁盘文件挂载_xen_19

# cd /mnt

成功读取网卡配置文件。

xen虚拟化实战系列(十一)之xen虚拟机磁盘文件挂载_虚拟化_20

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

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