博客统计信息

用户名:nxlhero
文章数:37
评论数:7
访问量:12112
无忧币:240
博客积分:410
博客等级:3
注册日期:2009-10-05

我的技术圈(1)

更多>>
详解Linux下挂载和格式化虚拟磁盘
2012-02-15 22:47:14
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://nxlhero.blog.51cto.com/962631/780834

    我们用dd命令就可以创建一个raw格式的虚拟磁盘,通常Xen就是使用这种格式的虚拟磁盘,今天就来讨论下怎样将虚拟磁盘格式化并且挂载。

虚拟磁盘分区分三种情况:只有一个分区;有多个分区但不包含lvm;包含lvm;

先创建一个128M的虚拟硬盘在下面的实验中使用。分三种情况分别介绍如何格式化和挂载。

 


一个分区

直接格式化然后挂载

 


多个分区(不含lvm)

先映射到回环设备上,然后用fdisk分区

losetup把文件映射到回环设备中,这时,/dev/loop0就像/dev/sdb,/dev/hdc等一样,你可以使用fdisk进行分区,我将test.img均分了两个区,还没有格式化。

其实对于单分区,在mount时加上-o loop选项,就相当于如下操作

losetup /dev/loop0 test.img

mount /dev/loop0 /mnt (把磁盘作为一个分区时可以用mount /dev/sdb /mnt挂载)

但是多分区时不行,因为需要mount /dev/sdb1 /mnt这样指定分区号才行。

因此,用kpartx -av /dev/loop0把虚拟磁盘的分区再映射出来。

假如/dev/loop0相当于/dev/sdb,那么/dev/mapper/loop0p1和/dev/mapper/loop0p2相当于/dev/sdb2

挂载即可

如何卸载呢?反向来一遍

 


包含lvm

同样,先映射到回环设备,然后创建一个pv,一个vg,再创建两个lv

这样实际上只有一个物理分区,太简单了,我们把它弄复杂点。

创建两个物理分区,一个直接格式化,一个做lvm,然后再创建一个vg,两个lv。

先losetup再fdisk再kpartx,这样的到了/dev/mapper/loop0p1和/dev/mapper/loop0p2

对/dev/mapper/loop0p1直接mkfs.ext3

在/dev/mapper/loop0p2上创建lvm分区

 

 

卸载时注意去激活卷组

假如给我一个有lvm的虚拟磁盘,要怎么挂载呢?就拿上边的来说,在kpartx -av后,用vgchange -a y vgg激活卷组,然后就能在/dev/里看到vgg了,否则看不到。

为什么以这样的分区格式为例呢?因为装linux时默认分区格式就是这样的,

两个分区

/dev/sda1 ==>  /boot

/dev/sdb2 ==>  /dev/VolGroup00  ==>  root,home,swap(或者没有home)

 

 

 

本文出自 “牛哥的博客” 博客,请务必保留此出处http://nxlhero.blog.51cto.com/962631/780834

分享至
更多
一键收藏,随时查看,分享好友!
nxlhero、xiaoli110
2人
了这篇文章
类别:Linux技术圈()┆阅读()┆评论() ┆ 推送到技术圈返回首页

文章评论

 
2012-02-17 16:23:05
推荐用guestfish,也是一款很不错的工具。
博主回复:
2012-02-18 18:27:30
谢谢,有空我研究下。

 

发表评论            

【技术门诊】专家解析:软考重点难点及应试技巧
昵  称:
登录  快速注册
验证码:

请点击后输入验证码博客过2级,无需填写验证码

内  容: