xen虛拟化實戰系列文章清單
<a href="http://koumm.blog.51cto.com/703525/1286408">xen虛拟化實戰系列(七)之xen虛拟機VNC通路配置</a>
<a href="http://koumm.blog.51cto.com/703525/1286477">xen虛拟化實戰系列(十一)之xen虛拟機磁盤檔案挂載</a>
<a href="http://koumm.blog.51cto.com/703525/1286643">xen虛拟化實戰系列(十二)之xen虛拟機高可用之線上遷移</a>
xen虛拟化實戰系列(十三)之xen虛拟機集中管理之convirt
大家知道xen虛拟機使用最多的是虛拟磁盤檔案來充當虛拟機磁盤,本文實戰xen虛拟機檔案的挂載,進而讀取,修改裡面的檔案,滿足維護要求。
通常有如下場景,本文出自:http://koumm.blog.51cto.com
(1)在一個沒有xen虛拟化環境的伺服器上拿到了一個很重要的xen虛拟機的磁盤,需要拷貝到裡面一個很重要的檔案,那麼就可以采用本文方式拿到重要檔案。
<a href="http://koumm.blog.51cto.com/attachment/201308/31/703525_1377967496qu5f.png"></a>
<a href="http://koumm.blog.51cto.com/attachment/201308/31/703525_1377967511LBok.png"></a>
<a href="http://koumm.blog.51cto.com/attachment/201308/31/703525_137796752157GP.png"></a>
通過fdisk指令可以檢視虛拟機磁盤檔案的分區情況,本文虛拟機是先分一個/boot分區,剩下的空間建立一個LVM卷,然後在LVM卷中建立了swap與/ 根分區。這裡可以看到一個普通分區就是/boot分區,一個LVM卷就是lvm邏輯,分區情況也就了解清楚了。
挂載虛拟磁盤檔案需要用到一個kpartx指令,kpartx指令也可以檢視虛拟磁盤檔案分區結構,與fdisk指令一緻。
kpartx指令原理就是将虛拟磁盤檔案與本地系統上的loop裝置檔案進行映射,然後映射的loop裝置檔案進行分區挂載通路與資料的處理。
<a href="http://koumm.blog.51cto.com/attachment/201308/31/703525_1377967540YVpt.png"></a>
(1) 模拟檢視映射,非真實映射
<a href="http://koumm.blog.51cto.com/attachment/201308/31/703525_13779675434n74.png"></a>
(2) 開始映射
<a href="http://koumm.blog.51cto.com/attachment/201308/31/703525_1377967546FaNV.png"></a>
映射裝置檔案位置在/dev/mapper/loop0p1,/dev/mapper/loop0p2
<a href="http://koumm.blog.51cto.com/attachment/201308/31/703525_1377967549IbrJ.png"></a>
這兩個檔案,第一個/dev/mapper/loop0p1是一個普通linux分區,/dev/mapper/loop0p2是一個LVM邏輯卷,需要通過不同方式進行處理。下面分别根據場景進行處理。
根據前面的分析,第一個/dev/mapper/loop0p1是一個普通linux分區,也就是/boot分區,該分區存有grub啟動配置檔案。我們可以通過修改/boot/grub/grub.conf檔案中的參數,使用虛拟機進行單使用者模式,修改密碼。
(1) 挂載裝置檔案
<a href="http://koumm.blog.51cto.com/attachment/201308/31/703525_1377967556Xz0W.png"></a>
(2) 成功挂載,可以成功檢視到内容
<a href="http://koumm.blog.51cto.com/attachment/201308/31/703525_1377967562tZnh.png"></a>
(3) 修改grub/grub.conf檔案,修改如下内容,使用系統啟動時進入單使用者模式。
<a href="http://koumm.blog.51cto.com/attachment/201308/31/703525_1377967580AxMw.png"></a>
(4) 取消mount删除映射
# umount /mnt
<a href="http://koumm.blog.51cto.com/attachment/201308/31/703525_1377967591Vxkv.png"></a>
(5) 開機測試
<a href="http://koumm.blog.51cto.com/attachment/201308/31/703525_1377967593ga5h.png"></a>
控制台進入虛拟機,成功進入單使用者模式,并修改密碼。
<a href="http://koumm.blog.51cto.com/attachment/201308/31/703525_13779676121pnN.png"></a>
還原grub.conf檔案
sh-3.2# vi /boot/grub/grub.conf
<a href="http://koumm.blog.51cto.com/attachment/201308/31/703525_1377967628kMYs.png"></a>
取消單使用者進行配置,重新開機。
至時挂載普通分區檔案,讀取,修改檔案示例成功。
根據前面的分析,第一個/dev/mapper/loop0p1是一個普通linux分區,也就是/boot分區,第二個是一個包括LVM的邏輯卷,那麼下面就采用lvm的方式進行處理。
<a href="http://koumm.blog.51cto.com/attachment/201308/31/703525_1377967630HZqI.png"></a>
(1) 掃描實體卷
<a href="http://koumm.blog.51cto.com/attachment/201308/31/703525_1377967638ikZK.png"></a>
可以看到vg卷組,執行成功。
(2) 激活掃描到的vg卷組,激活後就可以使用了。
<a href="http://koumm.blog.51cto.com/attachment/201308/31/703525_1377967647s6ZK.png"></a>
(3) 激活後lvm邏輯卷的位置在/dev/mapper/下,如下圖示标所示。vg-swap是swap,vg-root是根分區。
<a href="http://koumm.blog.51cto.com/attachment/201308/31/703525_137796765476rk.png"></a>
(4) 挂載根分區到/mnt。
<a href="http://koumm.blog.51cto.com/attachment/201308/31/703525_13779676611RFh.png"></a>
# cd /mnt
成功讀取網卡配置檔案。
<a href="http://koumm.blog.51cto.com/attachment/201308/31/703525_1377967670LYoK.png"></a>
到此xen虛拟機磁盤檔案挂載整個内容完畢。在實際生産與測試環境中可以通過以上方式完成一些任務。
說明:linux技術博大精深,挂載虛拟磁盤檔案分區也隻是以上方式,還有方法,這裡就不多介紹了。over…
本文轉自 koumm 51CTO部落格,原文連結:http://blog.51cto.com/koumm/1286477,如需轉載請自行聯系原作者