LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,它由Heinz Mauelshagen在Linux 2.4内核上实现,目前最新版本为:稳定版1.0.5,开发版 1.1.0-rc2,以及LVM2开发版。Linux用户安装Linux操作系统时遇到的一个常见的难以决定的问题就是如何正确地评估各分区大小,以分配合适的硬盘空间。普通的磁盘分区管理方式在逻辑分区划分好之后就无法改变其大小,当一个逻辑分区存放不下某个文件时,这个文件因为受上层文件系统的限制,也不能跨越多个分区来存放,所以也不能同时放到别的磁盘上。而遇到出现某个分区空间耗尽时,解决的方法通常是使用符号链接,或者使用调整分区大小的工具,但这只是暂时解决办法,没有从根本上解决问题。随着Linux的逻辑卷管理功能的出现,这些问题都迎刃而解,用户在无需停机的情况下可以方便地调整各个分区大小。
场景描述:
安装操作系统的时候,做了LVM,应用软件基本装在了“/”目录下,服务器运行一段时间后,该目录下的存储空间使用紧张,现利用LVM对其进行磁盘空间扩容。
注:安装系统的时候需要做逻辑卷管理,保证系统要有VG,扩展或者添加完硬盘后需要重启服务器,添加的硬盘才能被发现。
另:这里需要搞清楚,是扩展了原有分区还是增加了新的硬盘;
例如:如果是在原有分区SDA上扩展了10G,则命令行fdisk -l 不会看到新的分区;
如果是新添加的硬盘,fdisk -l 可以看到 sdb sdc 等新的未分配的分区。
结果演示:扩展sda,磁盘分区sda使用情况打印输出:(可以看到空间变成了32.2G增大了10G)
为服务器增加新硬盘,这里我们加了两块,开机识别出来是sdb和sdc;
(1) 我们可以看到有3块硬盘,第一块硬盘已经分区并使用,第二块和第三块硬盘没有使用,现在我们要在第二块硬盘sdb上新建LVM分区
使用fdisk /dev/sdb进行分区,按n创建一个新的分区,按P创建主分区,按1,创建第一块分区,选择开始磁道,按照默认模式开始,使用整个硬盘空间。创建好后按w生效退出。(注意:即使是另一种情况,扩展sda,也需要对sda重新分区,Partition number (1-4)时输入对应的数值。)
将新的分区,格式化;
#mkfs -t ext3 /dev/sdb1 (如果找不到刚才的分区sdb1,需要重新启动系统;默认的“done”不用手动敲,等待一会儿会自动出现。)
(2) 把分区改为LVM格式
修改分区格式,使新建的分区支持LVM格式。进入fdisk后,按t修改分区格式,类型改为8e(之前默认的是83)。按w保存生效。
执行partprobe ,不用重启机器,使分区表生效。
fdisk -l 查看刚加的分区,格式已经变成LVM 的8e。
3 查看VG
#vgdisplay
VolGroup00是装操作系统的时候,建的;
注: 如果需要单独的VG,可以新建;(我们这次没有新建)
创建命令如下:
#vgcreate VolGroup01 /dev/sdc1
4 查看 PV
使用如下命令创建:pvcreate /dev/sdb1
查看已经存在的PV,其中/dev/sda2是我们安装操作系统的时候创建的;
#pvdisplay
5 查看创建 LV
通过查看的命令,可以看到LV:/dev/VolGroup00/LogVol00 就是我们要进行扩展的目录对应的LV
6. LVM 扩容
扩容VG
#vgextend VolGroup00 /dev/sdb1
查看扩展后的 VG 增加了10G
查看当前磁盘空间使用,可以看到当前“/“目录对应的空间大小为14G,所以接下来,LV扩容的话
参数后边需要加数值:24G,表示扩容到24G。
扩展 LV
#lvextend -L 24G /dev/VolGroup00/LogVol00
注意:
如果出现下面提示,则说明最大扩展的空间不足,可以将值调小一点,改成23.8G,即比24G小一点(这里根据自身实际要扩展的大小进行调整)。
[root@localhost ~]# lvextend -L 24G /dev/VolGroup00/LogVol00
Extending logical volume LogVol00 to 26.00 GB
Insufficient free space: 321 extents needed, but only 320 available
查看扩展后LV大小:
[root@localhost ~]# lvdisplay
我们接着查看,当前的磁盘使用情况,发现没有变化;
不要急,执行重设大小;
#resize2fs /dev/VolGroup00/LogVol00
OK ,到这里我们的扩容就完成了。
关注公众号,更好的交流