| 我們用dd命令就可以創(chuàng)建一個(gè)raw格式的虛擬磁盤,通常Xen就是使用這種格式的虛擬磁盤,今天就來討論下怎樣將虛擬磁盤掛載到本地。 分三種情況:只有一個(gè)分區(qū);有多個(gè)分區(qū)但不包含lvm;包含lvm; 先創(chuàng)建一個(gè)raw的虛擬硬盤在下面的實(shí)驗(yàn)中使用。 
 一個(gè)分區(qū) 直接格式化然后掛載 
 多個(gè)分區(qū)(不含lvm) 先映射到回環(huán)設(shè)備上,然后用fdisk分區(qū) losetup把文件映射到回環(huán)設(shè)備中,這時(shí),/dev/loop0就像/dev/sdb,/dev/hdc等一樣,你可以使用fdisk進(jìn)行分區(qū),我將test.img均分了兩個(gè)區(qū),還沒有格式化。 其實(shí)對于單分區(qū),在mount時(shí)加上-o loop選項(xiàng),就相當(dāng)于如下操作 losetup /dev/loop0 test.img mount /dev/loop0 /mnt (把磁盤作為一個(gè)分區(qū)時(shí)可以用mount /dev/sdb /mnt掛載) 但是多分區(qū)時(shí)不行,因?yàn)樾枰猰ount /dev/sdb1 /mnt這樣 因此,用kpartx -av /dev/loop0把虛擬磁盤的分區(qū)列出來 假如/dev/loop0相當(dāng)于/dev/sdb,那么/dev/mapper/loop0p1和/dev/mapper/loop0p2相當(dāng)于/dev/sdb2 掛載即可 如何卸載呢?反向來一遍 
 包含lvm 同樣,先映射到回環(huán)設(shè)備,然后創(chuàng)建一個(gè)pv,一個(gè)vg,再創(chuàng)建兩個(gè)lv 這樣實(shí)際上只有一個(gè)物理分區(qū),太簡單了,弄復(fù)雜點(diǎn)。 創(chuàng)建兩個(gè)物理分區(qū),一個(gè)直接格式化,一個(gè)做lvm,然后再創(chuàng)建一個(gè)vg,兩個(gè)lv。 先losetup再fdisk再kpartx,這樣的到了/dev/mapper/loop0p1和/dev/mapper/loop0p2 對/dev/mapper/loop0p1直接mkfs.ext3 在/dev/mapper/loop0p2上創(chuàng)建lvm分區(qū) 卸載時(shí)注意去激活卷組 假如給我一個(gè)有l(wèi)vm的虛擬磁盤,要怎么掛載呢?就拿上邊的來說,在kpartx -av后,用vgchange -a y vgg激活卷組,然后就能在/dev/里看到vgg了,否則看不到。 為什么以這樣的分區(qū)格式為例呢?因?yàn)檠blinux時(shí)默認(rèn)分區(qū)格式就是這樣的, 兩個(gè)分區(qū) /dev/sda1 ==> /boot /dev/sdb2 ==> /dev/VolGroup00 ==> root,home,swap(或者沒有home) 
 
 摘自牛哥的博客 | 
|  |