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) |