PV阶段: 【 pvcreate pvremove pvscan pvdisplay】
(如果不会修改FS Id ,查看fdisk用法)
原系统就有一个lv (、dev/sda2)它是挂载在/下的。
注意 最后一行那个 in use:仅仅是指已经分配给vg的大小,不是指数据占用的大小
Pvdisplay |more
Allocated 已被分配的
VG段 vgcreate vgremove vgscan vgdisplay vgextend vgreduce vgchange
将上边三个pv加入到一个vg当中
-s 指定 vg的PE的大小
Metadata Areas 应该是指pv的个数
Cur LV 指当前创建的lv个数
使用vgextend增加vg容量
vgreduce减小VG
Lv段: lvcreate lvremove lvscan lvdisplay lvextend lvreduce lvresize
-l 指定 pe个数
-L 指定 大小 k m g
创建lv后 才会自动创建 /dev/vgname
查看lv 必须使用绝对路径
我们看到 挂载的不是/dev/vgname/lvname 而是/dev/mapper/vgname-lvname 这是因为 我们在/dev/vgname 中只是创建了 快捷方式而已
其真实文件会在 /dev/mapper中,而且命名很有规律,那就是: vgname-lvname
放大lv的容量:
-l 不是指定 增大多少 而是指定增大到多少 也可以使用-L指定容量 可以使用 +50 这样来实现 指定增大多少
当然那个/dev/hdb6可以不指定
我们看到 、dev/hdb6 确实减小了
我们看到lv确实增大了 但是 mount后请看
发现大小并没有改变
我们重新格式化 看下
这次真的增大了,但这种方式 却让数据丢失了。
我们还原回去
看大小 lv确实变小了同时
/dev/hdb6 的大小也还原了
但挂载后 还是没变,我们只能再次将其格式化
现在还原了
这种方式 我们可以在mount的情况下指定从哪个pv里边取用PE(当然也可以不指定)来增大lv的容量,但缺点是 必须格式化来增大文件系统的容量,这样会丢失数据!!
也可以不指定
但是我们看到 ,它取用pe是从上而下的 用完一个pv在用下一个pv 。我觉得还是这种方式比较好
我们看到 在分区在mount的情况下,我们可以使用 resizee2fs 命令 强制增大分区。真是方便啊
提示: lvextend 我们也可以使用 lvresize替代,用法是一样的
减小LV容量
提
之前我们在mount的情况下 直接使用lvextend 和resizee2fs 工具增加了 lv和fs的容量,
看能否在mount的情况下进行减缩呢?
直 现在开始直接使用resize2fs 来进行fs的缩减:
看来不支持mount情况下 所减
Unmount后 要想缩减还需要e2fsck 检索一下
貌似成功了 我们验证下
看来是真的成功了
下边我们看下lv的容量如何
看来 fs的大小 始终和lv 不能自动同步啊 我们只能手动缩减lv的容量了
相差700M左右 我们直接给他缩减掉700M
查看下
缩减成功了啊
与刚开始对比一下 发现 /dev/hdb8 已经没有在使用了 这个时候我们就可以直接将其从vg中移除掉了
移除成功了
如果我们移除正在使用的hdb7 看下
他是不会让你移除的
注意: 减小时 只能是先减小fs 再减小 lv
而增大是 就正好想法 先增大lv 然后再增大 fs
图片太多,上传太繁琐,如果错误或不理解的地方,请联系:
Qq : 2234386990
E-mail: [email protected]