前言:许多linux使用者在安装操作系统时都会遇到这样的困境:如何精确评估和分配各个磁盘分区的容量,如果当初估计不准确,一旦系统分区不够用时可能不得不备份、删除相关数据,甚至被迫重新规划分区并重装操作系统,以满足应用系统的需要。
这是我们就需要通过对LVM逻辑卷管理机制的学习,掌握动态调整linux分区容量的方法。
LVM概述
LVM是linux系统中对磁盘分区进行管理的一种逻辑机制,它是建立在硬盘盒分区之上,系统文件之下的一个逻辑层,在建立文件系统是屏蔽了下层的磁盘分区布局,能够在保持现有数据不变的情况下动态调整磁盘容量,从而提高磁盘管理的灵活性。
在安装centos系统的过程中选择自动分区时,就会默认采用LVM分区方案,不需要再进行手动配置。如果有特殊需要,也可以使用安装向导提供磁盘定制工具调整LVM分区。需要注意的是,“boot”分区不能基于LVM创建,必须独立出来。
在学习LVM的管理操作之前首先需要了解LVM的几个基本术语:
* 物理卷(PV, Physical Volume)
物理卷就是指磁盘,磁盘分区或从逻辑上和磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有和LVM相关的管理参数。当前LVM允许你在每个物理卷上保存这个物理卷的0至2份元数据拷贝.默认为1,保存在设备的开始处.为2时,在设备结束处保存第二份备份.
* 卷组(VG, Volume Group)
LVM卷组类似于非LVM系统中的物理硬盘,其由物理卷组成。能在卷组上创建一个或多个“LVM分区”(逻辑卷),LVM卷组由一个或多个物理卷组成。
* 逻辑卷(LV, Logical Volume)
LVM的逻辑卷类似于非LVM系统中的硬盘分区,在逻辑卷之上能建立文件系统(比如/home或/usr等)。
通过上述对物理卷、卷组、逻辑卷的解释可以看出,建立LVM分区管理机制的过程:首先,将普通分区或整个硬盘创建为物理卷;接下来,将物理上比较分散的各物理卷的存储空间组成一个逻辑整体,即卷组;最后,基于卷组这个整体,分割出不同的数据存储空间,形成逻辑卷。逻辑卷才是最终用户可以格式化并挂载使用的存储单位。
管理LVM
我们先了解一下常用的LVM管理命令:
下面我们直接做一个实例:
1.添加一块内存60G的磁盘sdb。
2.给磁盘sdb建立三个分区,sdb1,sdb2,sdb3,大小分别为20G.
3.更改三个分区的格式为linux LVM。代码为8e。
4.保存退出
使用fdisk -l命令查看确定。
5.将sdb1,2,3三个分区转换成物理卷。
使用pvscan命令扫描,或者用pvdisplay命令显示详细信息。这时还没创建卷组。
6.接下来将分区sdb2和sdb3这两个物理卷创建名为csdn1的卷组。
可以用vgscan命令扫描查看是否创建成功。
7.在卷组csdn1中建立一个逻辑卷,容量为10G,名称设为csdn123.
可以用lvscan扫描。
用ls命令查看逻辑卷csdn123的连接文件。
也可以用lvdisplay命令查看详细信息。
8.使用mkfs.xfs命令格式化。
9.最后我们用自动挂载的方法进行挂载。
使用vim /etc/fstab命令编辑内容,设备名称为/dev/csdn1/csdn123;挂载点为/opt/csdn;文件系统类型为xfs,功能权限包含所有(defaults);备份与序列都设为0.
10.创建挂载点 /opt/csdn,并使用mount -a命令自动读取。
使用df -hT命令查看是否挂载成功。
如果后期发现内存不足,我们可以用lvextend命令对逻辑卷进行扩容,如下图,给csdn123逻辑卷添加10G的内存,因为格式化的系统类型为xfs,所以用xfs.growfs命令更新系统识别的文件系统大小,最后用df -hT命令查看确认添加成功。
总结:LVM具有非常好的可伸缩性,使用起来非常方便。能方便地对卷组、逻辑卷的大小进行调整,更进一步调整文件系统的大小,还能方便的进行数据迁移,数据完整性保护。