LVM是Linux环境中对磁盘分区进行管理的一种机制,是建立在硬盘和分区之上、文件系统之下的一个逻辑层,可提高磁盘分区管理的灵活性。RHEL5默认安装的分区格式就是LVM逻辑卷的格式,需要注意的是/boot分区不能基于LVM创建,必须独立出来。
LVM的配置过程也很简单,并不是很难,为此,我画了一张图文并茂的解析图,解析了LVM创建的整个过程。更详细的理论知识还请参看一些教程或者去Google哦!
实验环境:
首先从空的硬盘sdb上创建两个分区sdb1 1G,sdb2 2G. 为接下来做LVM做准备.
为了后期便于维护管理,记得给分区加上标示,这样即使你不在的情况下,别人看到标示了就不会轻易动这块区域了. LVM的标识是8e,设置完成后记得按w保存
一、创建逻辑卷
将新创建的两个分区/dev/sdb1 /dev/sdb2转化成物理卷,主要是添加LVM属性信息并划分PE存储单元.
创建卷组 vgdata ,并将刚才创建好的两个物理卷加入该卷组.可以看出默认PE大小为4MB,PE是卷组的最小存储单元.可以通过 –s参数修改大小。
从物理卷vgdata上面分割500M给新的逻辑卷lvdata1.
使用mkfs.ext4命令在逻辑卷lvdata1上创建ext4文件系统.
将创建好的文件系统/data1挂载到/data1上.(创建好之后,会在/dev/mapper/生成一个软连接名字为”卷组-逻辑卷”)
便于以后服务器重启自动挂载,需要将创建好的文件系统挂载信息添加到/etc/fstab里面.UUID可以通过 blkid命令查询.
为了查看/etc/fstab是否设置正确,可以先卸载逻辑卷data1,然后使用mount –a 使内核重新读取/etc/fstab,看是否能够自动挂载.
二、逻辑卷 lvdata1 不够用了,如何扩展。
给逻辑卷增加空间并不会影响以前空间的使用,所以无需卸载文件系统,直接通过命令lvextend –L +500M /dev/vgdata/lvdata1或者lvextend –l 2.5G /dev/vgdata/lvdata1 给lvdata1增加500M空间(lvdata1目前是2G空间)设置完成之后,记得使用resize2fs命令来同步文件系统。
三、当卷组不够用的情况下,如何扩大卷组
重新从第二块硬盘上创建一个分区sdb3,具体 *** 作步骤省略。并将创建好的分区加入到已经存在的卷组vgdata中。通过pvs命令查看是否成功。
四、当硬盘空间不够用的情况下,如果减少逻辑卷的空间释放给其他逻辑卷使用。
减少逻辑卷空间,步骤如下
1、 先卸载逻辑卷data1
2、 然后通过e2fsck命令检测逻辑卷上空余的空间。
3、 使用resize2fs将文件系统减少到700M。
4、 再使用lvreduce命令将逻辑卷减少到700M。
注意:文件系统大小和逻辑卷大小一定要保持一致才行。如果逻辑卷大于文件系统,由于部分区域未格式化成文件系统会造成空间的浪费。如果逻辑卷小于文件系统,哪数据就出问题了。
完成之后,就可以通过mount命令挂载重新使用了。
五、如果某一块磁盘或者分区故障了如何将数据快速转移到相同的卷组其他的空间去。
1、通过pvmove命令转移空间数据
2、通过vgreduce命令将即将坏的磁盘或者分区从卷组vgdata里面移除除去。
3、通过pvremove命令将即将坏的磁盘或者分区从系统中删除掉。
4、手工拆除硬盘或者通过一些工具修复分区。
六、删除整个逻辑卷
1、先通过umount命令卸载掉逻辑卷lvdata1
2、修改/etc/fstab里面逻辑卷的挂载信息,否则系统有可能启动不起来。
3、通过lvremove 删除逻辑卷lvdata1
4、通过vgremove 删除卷组vgdata
5、通过pvremove 将物理卷转化成普通分区。
删除完了,别忘了修改分区的id标识。修改成普通Linux分区即可。
总结:LVM逻辑卷是Linux里面一个很棒的空间使用机制,因为分区在没有格式化的情况下是没有办法加大或者放小的。通过LVM可以将你的磁盘空间做到灵活自如。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
用以致学,学以致用
以下步骤的前提为磁盘lvm分区1、加入新硬盘
2、分区
PV(physical volume)即物理卷,就是物理磁盘,可以通过fdisk -l 查看 *** 作系统有几块硬盘
VG(volume group)即卷组,就是一组物理磁盘的组合,里面可以有一块硬盘也可以有多块硬盘
LV(logical volume)及逻辑卷,就是在VG(指定的物理磁盘组)里面划分出来的
可以说成是PV就是硬盘,而VG就是管理硬盘的 *** 作系统,而LV就是 *** 作系统分出来的各个分区.
PV->VG->LV-> 文件系统使用(挂载到某个目录)
对新磁盘/dev/sdb进行分区
[root@xt-prod-mydb02 ~]# parted /dev/sdb
GNU Parted 3.1
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel
New disk label type? gpt
(parted) mkpart
Partition name? []?
File system type? [ext2]? xfs
Start? 1
End? 10G
(parted) q
Information: You may need to update /etc/fstab.
创建物理卷pvcreate /dev/sdb1
创建卷组 并将物理卷加入其中 vgcreate data /dev/sdb1 (data为卷组名)
创建逻辑卷组并分配大小lvcreate -l +100%FREE -n lvdata data
格式化mkfs.xfs /dev/mappper/data-lvdata
开机挂载新硬盘vi /etc/fstab
挂载 mount -a (先建data目录mkdir /data)
查看 df -lh
卸载挂点 umount /dev/mapper/data-lvdata
3、扩容
磁盘/dev/sdb只分10个G。。还有10G没有分配。。所以继续进行分区
parted /dev/sdb
打印分区信息表可以看到有两个分区了。
创建物理卷 pvcreat /dev/sdb2
查看将要扩容的卷组信息 vgdisplay可见可扩容大小为0
将物理卷扩展到卷组 #vgextend data /dev/sdb2 (此处‘cl’是卷组名称)
再次查看卷组信息vgdisplay 可扩容空间变成10G
将卷组中空闲空间扩展到 /data #lvextend -l +100%FREE /dev/mapper/data-lvdata
.刷新文件系统是扩容生效 #xfs_growfs /dev/mapper/data-lvdata
查看结果 :df -lh 扩容成功
在Linux磁盘 *** 作中,如果磁盘写满,那么就需要对磁盘进行扩容。把数据写入到更大的磁盘中,这个工作量是非常大的,而且非常容易出现错误,危险性很高,那么我们就可以使用逻辑卷管理器(LVM)来对磁盘进行管理扩容。这样就可以很轻松的,没有危险的对数据进行移动。我们来看看LVM比传统硬盘管理的优点:
1.灵活性容量:允许多个磁盘或分区作为一个逻辑卷。
2.可以伸缩的存储池:不必格式化,用命令可以直接修改逻辑卷。
3.在线数据的分配:可以在线移动数据,可以热插拔硬盘更换磁盘。
4.设备命名方便。
5.镜像卷:很方便的做数据镜像。
6.卷快照:快照会把逻辑卷的全部内容保存。
那么逻辑卷要怎么来创建呢,我们做如下步骤:
1.在创建逻辑卷前,必须要有一块物理磁盘做物理卷(PV)。
2.由一个或多个物理卷组成一个存储池,我们叫他卷组(VG)。
3.根据卷组中的空闲物理空间,建立逻辑卷(LV)。
上面3步时创建逻辑卷的具体思路。下面我们具体 *** 作:
创建逻辑卷步骤:
1.使用fdisk创建一个物理分区,t 选项设置类型为:linuxLVM
2.使用partprobe向内核注册新的分区。
3.创建物理卷pvcreate /dev/sdb1(需要创建的硬盘分区名,根据自己服务器查找)
4.创建卷组 vgcreate 卷组名 /dev/sdb1
5.创建逻辑卷 lvcreate -n 逻辑卷名 -L 卷组大小 卷组名
lvcreate -n abc -L 10G myvg
6.创建文件系统 mkfs.ext4 /dev/卷组名/逻辑卷名
mkfs.ext4 /dev/myvg/abc
7.创建永久挂载点(写入文件/etc/fstab),这一步就不在赘述,可以查阅我前一文章,有详细记载。
这样,我们的逻辑卷就创建成功了。
那我们怎么查看物理卷,卷组,逻辑卷呢
查看物理卷信息:pvdisplay /dev/sdb1
查看卷组信息:vgdisplay myvg
查看逻辑卷信息:lvdisplay /dev/myvg/abc
逻辑卷的扩容
如果在建立的卷组还有空间,就可以给逻辑卷扩容。那怎么做呢。
1.lvextend -L +10G /dev/myvg/abc
给逻辑卷 abc 扩容10G。减少容量直接把 + 变为 - 即可。
2.resize2fs /dev/myvg/abc针对ext4文件
xfs_growfs /dev/myvg/abc针对xfs文件
使扩容生效。
如果卷组空间不够,需先增加卷组空间,在对逻辑卷扩容。
1.准备物理磁盘 fdisk ,partprobe ,mkfs.ext4
2.创建物理卷
3.给原来的卷组增加物理卷 vgextend myvg /dev/sdc1,然后vgdiaplay
创建完成,那么我们需要删除逻辑卷,怎么做呢。
1.取消挂载,同时删除 /etc/fstab 文件下的挂载内容。
2.删除逻辑卷 lvremove /dev/myvg/abc
3.删除卷组 vgremove myvg
4.删除物理卷 pvremove /dev/sdb1
步骤和创建相反。
Linux下磁盘管理的逻辑卷就总结完毕。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)