前:
最近经常有人反映之前由于对Linux的分区不太了解,基本上都是默认,现在公司项目服务器数据库,存储 某一个分区被写满了,不得不重新安装操作系统,在此分享一篇自己的动态扩容心得
简介: LVM是逻辑盘卷管理(Logical VolumeManager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。通过LVM系统管理员可以轻松管理磁盘分区,如:将若干个磁盘分区连接为一个整块的卷组(volumegroup),形成一个存储池。管理员可以在卷组上随意创建逻辑卷组(logicalvolumes),并进一步在逻辑卷组上创建文件系统。管理员通过LVM可以方便的调整存储卷组的大小,并且可以对磁盘存储按照组的方式进行命名、管理和分配。
模型图
实验环境:
一台Linux服务器,两块磁盘,一块系统自带20GB,一块外加20GB磁盘
模仿 系统目录home/meishu磁盘满了,新增加一块磁盘,把新加的容量增加到已经满的磁盘上
一,在安装操作系统时,选择手动分区,更改一下磁盘类型,并且创建目录home/meishu,并分配20GB
二,安装完系统后 查看分区 df -h
2.1,查看卷组名称和卷组使用情况 vgdisplay(牢记VG name这个名字,一会扩容的时候用得到)
2.2,查看当前逻辑卷的空间状态 lvdisplay
三,假设现在分析home_meishu这个卷组的容量不够了需要扩容,现在是20GB,下面我们新加入一块20GB的磁盘 然后执行 fdisk -l 命令查看一下
四,新加的磁盘名字为 dev/sdb,下面开始格式化分区操作, fdisk /dev/sdb
五,延续上个步骤(不要关闭)把新加的磁盘设置成LVM模式
确认并保存分区
六,将新加的分区 dev/sdb1创建为物理卷
七,查询卷组名并拓展该卷组
将物理卷dev/sdb1 扩展至centos_lvm卷组
八,将空余空间全部扩展至目录 home/meishu
九,此时20G磁盘空间虽然已经扩展至home/meishu下 但是并没有写入文件系统,进入etc/fstab确认 home/meishu文件系统 —ext4
十,写入文件系统,使其扩容生效
十一,查看一下 df -h
此时它已经有了两个磁盘容量之和了!!!
本次扩容指令汇总
1.创建分区 #fdisk /dev/sdb
2.创建物理卷 #pvcreat /dev/sdb1
3.查看卷组名称及使用情况 #vgdisplay
4.将物理卷扩展到卷组 #vgextend cl /dev/sdb1 (此处‘cl’是卷组名称)
5.将卷组中空闲空间扩展到 /home #lvextend -l +100%FREE /dev/mapper/cl-home
6.刷新文件系统是扩容生效 #resize2fs /dev/mapper/cl-home
使用reiserfs 文件系统代替ext2/ext3 #resize_reiserfs /dev/mapper/cl-home
Centos7 默认文件系统是 ‘xfs’,我分区时选的是‘ext4’
另附个人对Linux分区的一些认识:
在linux里一切皆文件,所有设备、磁盘都是以文件形式挂在 ‘ / '。本文中提到的 /var ,如果安装os时不手动对 /var 分区,系统默认会创建 /var ,但是系统创建的 /var ,最大可用存储空间为‘ / '的大小。另外,像 /boot 或 /boot/efi 里只存放linux os的引导文件,没必要分的太大。
总结:安装os时选择LVM,当跑数据库发现分区不够用时,即可按此法实现动态扩容,而不破坏分区内原有文件,更不用重装系统