Chinaunix首页 | 论坛 | 博客
  • 博客访问: 196094
  • 博文数量: 30
  • 博客积分: 1571
  • 博客等级: 上尉
  • 技术积分: 363
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-28 11:42
文章分类

全部博文(30)

文章存档

2012年(6)

2011年(11)

2010年(13)

我的朋友

分类: LINUX

2012-02-03 15:20:01

LVM学习入门最好的就是gentoo的CEO写的这两篇了。看完以后基本就明白了
通用线程: 学习 Linux LVM,第 1 部分
LVM最吸引我的还是运行的时候可以随意修改分区的大小。用raid+lvm,可以运行的时候添加大小,磁盘出问题了还能运行的时候更换磁盘。做备份服务器的理想选择啊。
LVM的概念,我理解的基本上就是:
1、用多个的物理分区(物理卷)组成一个组(lvm的卷组)
2、在卷组上再进行分区(逻辑卷)
3、逻辑卷就和sda*一样了,可以进行格式化等操作。
gentoo上的安装过程大致如下:
1、lvm是内核支持的。需要选上 Multi-device support -> Device mapper support
2、lvm用户空间的管理工具需要lvm2。  emerge  lvm2
3、准备好要使用的物理分区。使用sda*的话需要在fdisk的时候按t将分区标示成8e(Linux LVM)。我是使用raid分区md5
4、初始化需要使用的物理分区为lvm物理卷。
        pvcreate /dev/md5      # 初始化物理卷md5
        pvcreate /dev/md6      # 初始化物理卷md6
5、创建卷组,此时需要指定哪些物理卷组称此卷组
       vgcreate vg /dev/md5 /dev/md6    # 创建物理卷组vg。物理卷组由物理卷 md5和md6组成。如果md5和md6都是100G的,卷组vg就有200G大了。
     卷组创建以后,会在/dev下出现一个卷组名的文件夹。上面的就是/dev/vg
6、在卷组上创建逻辑卷,逻辑卷就对应硬盘分区sda*。
      lvcreate -L10G -nvgd1 vg    # 在卷组vg中创建逻辑卷vgd1,大小是10G
      lvcreate -L20G -nvgd2 vg    # 在卷组vg中创建逻辑卷vgd2,大小是20G
      创建为逻辑卷后在/dev/<卷名>/的目录下会出现相应的逻辑卷。上面的就是 /dev/vg/vgd1和/dev/vg/vgd2
对于/dev/vg/vgd1和/dev/vg/vgd2就能相应的格式化存放数据了
7、格式化分区,挂载。为了便于以后分区大小的扩充,使用reiserfs。现在ext系统好像也能扩展大小。
     mkreiserfs /dev/vg/vgd1
     mount  /dev/vg/vgd1  /mnt
然后就可以正常使用了。
8、把lvm加入启动项。相应的配置一下lvm
     rc-update add lvm boot      # 把lvm加入boot启动级别
    编辑一下/etc/lvm/lvm.conf里面的"filter ="一行
    我以前的是 filter = [ "r|/dev/nbd.*|", "a/.*/" ]  大意好像是开机的时候扫描除了/dev/nbd.*外的所有块设备
    我只有/dev/md*的设备作为lvm的物理卷,我就改成   filter = [ "a|/dev/md.*|", "r/.*/" ]  只扫描 /dev/md.*的设备。对于硬盘的话可以改成  filter = [ "a|/dev/sda.*|", "r/.*/" ]或者filter = [ "a|/dev/sda[12]|", "r/.*/" ]
    

其实创建lvm主要就是三部: pvcreate、vgcreate、lvcreate。以后要查看每一步的状态可以通过pvdisplay、vgdisplay、lvdisplay查看。都不用带参数,能看到机器上所有的状态,具体自己看看吧。

lvm分区我觉的最大的好处就是可以动态调整大小。例如上面的vgd1开始我只分了10G。哪天发现分区放满了咋办?扩充一下就行。命令如下:
    lvextend   -L+10G   /dev/vg/vgd1
再用lvdisplay看一下是不是vgd1是不是变大了10G了。
分区扩大了以后相应的文件系统也要扩大。
   resize_reiserfs -f /dev/vg/vgd1
在通过df看一下/mnt的大小是不是变大了。

要是逻辑卷扩大了,发现卷组的大小不够了咋办?可以再加一个物理卷进来啊。
例如现在的卷组vg有200G大(md5 100G、md6 100G)。如果发现vgd1+vgd2已经200G大了。就可以再加一个物理卷到vg中。例如重新添加了一个新的md7 200G。就可以:、
    pvcreate /dev/md7
    vgextend vg /dev/md7
用vgdisplay看一下是不是vg变成400G了。然后再
    lvextend   -L+100G   /dev/vg/vgd1
    resize_reiserfs -f /dev/vg/vgd1
很爽吧!

另外,删除lvm对于lv、vg、pv依次使用lvremove  /dev/vg/vgd1,vgremove vg,pvremove /dev/md5就行。
阅读(2619) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~