Linux LVM

LVM

LVM 是一种可以支持动态调整磁盘空间大小的功能,当你的磁盘空间满了的时候,通过给服务器在添加一块新的硬盘,然后将两块硬盘合并在一起,就拥有了更多的空间。使用 LVM 分区,稍微要比普通分区更为复杂一点。第一步从设置分区的类型开始。在我们使用 fdisk 分区的时候,选择完了分区的类型,大小之后,在按 t 命令,这个步骤是填写分区的类型,我们写上 8e,这时候这个分区就变成了一个 lvm 分区。

建立了 lvm 分区,并不是就完成了,而是这件事情才刚刚开始,还需要在经历三个步骤:物理卷 - 卷组 - 逻辑卷


物理卷

首先第一步,我们要把分出来的 lvm 分区变成物理卷。

$ pvcreate /dev/sda1 /dev/sda2  // 把 sda1 sda2 变成物理卷
$ pvdisplay /dev/sda1 // 显示物理卷的详情

卷组

第二步,分出来的一个个物理卷,在把它们拼装成 卷组

vgcreate vgname /dev/sda1 /dev/sda2 // 创建卷组 | vgname 是卷组的名称,是自定义的
vgextend vgname /dev/sda3 // 在把一个物理卷拼装到 vgname 这个卷组
vgremove vgname /dev/sda3 // 从 vgname 卷组中移除  /dev/sda3 这个物理卷
vgdisplay // 显示卷组详情信息

/*
 完成之后
*/
vachange -a y vgname // 激活卷组

/*
 如果不要了
*/
vachange -a n vgname // 停止卷组

逻辑卷

卷组是一个磁盘的集合,在这个磁盘的集合中,可以分出无数的 逻辑卷,这些逻辑卷就像真实的磁盘分区,这可以挂载使用。但由于他们基于 lvm,是建立在一个抽象层的上面,从而能够动态的调整它们的大小。

lvcreate -L 1G -n lvname vgname // 从 vgname 卷组中分割出一个逻辑卷,大小为 1G | -L 参数是填写磁盘的大小,支持 G M K 等单位

/*
 动态大小
*/
lvextend -L +1G /dev/vgname/lvname // 为逻辑卷添加 1G 大小
lvreduce -L +1G /dev/vgname/lvname // 减去逻辑卷 1G 的大小

/*
 如果逻辑卷已经挂载,调整大小之后需要刷新
*/
resize2fs /dev/vgname/lvname

挂载

逻辑卷跟我们直接分区出来的磁盘在使用和功能上没有实质的区别,所以同样也要经历 格式化挂载 才能使用。

mke2fs -t ext4 /dev/vgname/lvname // 格式化
mount /dev/vgname/lvname path // 挂载

删除 LVM

lvremove lvname // 删除逻辑卷,需要 umount 之后才能删除
vgremove vgname // 删除卷组,需要 lvremove 删除完 逻辑卷 才能删除
pvremove /dev/sda1 // 删除物理卷,需要 umount >  lvremove > vgremove 解除所有的依赖才能删除
更多教程 HTML5 教程 CSS3 教程 JavaScript 教程 JQuery 教程 React.js 教程 Node.js 教程 Koa2 教程 Python 教程 Linux 教程