Centos7 利用LVM实现动态扩容的方法

 更新时间:2018年02月06日 11:37:57   作者:西域火龙油  
本篇文章主要介绍了Centos 7 利用LVM实现动态扩容的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

摘要:最近项目组里来了很多新人,对linux分区及各种应用使用的分区不了解,导致测试数据库时突然发现某一个分区被写满了,不得不重装OS.实在看不下去了,特此分享我的一些利用LVM实现动态扩容的心得,希望对大家有帮助。

知识储备:

 LVM是逻辑盘卷管理(Logical VolumeManager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。通过LVM系统管理员可以轻松管理磁盘分区,如:将若干个磁盘分区连接为一个整块的卷组(volumegroup),形成一个存储池。管理员可以在卷组上随意创建逻辑卷组(logicalvolumes),并进一步在逻辑卷组上创建文件系统。管理员通过LVM可以方便的调整存储卷组的大小,并且可以对磁盘存储按照组的方式进行命名、管理和分配

LVM模型如下图:

1.安装OS时,选择手动分区,Device Type选择LVM。Mysql/Mariadb数据存放在 /var,oracle数据存放在 /home,所以在手动分区时请根据实际磁盘大小,对这两个应用有针对性的将 /var、/home分的更大。下面分区情况仅作演示用:

2.安装完OS后进入系统,查看分区,可以看到装系统时采用LVM的三个分区:/、 /home、/var


3.安装os时忘记创建root账户了,不过没关系,执行‘sudosu root ',再输入目前登陆用户密码即可获取部分root权限

4.查看卷组名称及卷组使用情况  vgdisplay

5.查看当前逻辑卷的空间状态,如下图:/ 50G、/var 200G、/home 100G、swap 20G

6.现在感觉/home 100G不够用,想扩容至120G,新插入一块20G硬盘;用‘fdisk -l'查看

7.格式化分区操作‘fsdisk/dev/sdb'

8.把新加的磁盘设置为LVM模式


确认分区


9.将新加的分区/dev/sdb1创建为物理卷


10.给卷组‘cl'扩容,将物理卷/dev/sdb1扩展至‘cl'卷组


此时卷组‘cl'有20G空余空间,及/dev/sdb1,将其全部扩展至/home


11.此时20G磁盘虽已扩展至 /home,但并没写入文件系统;进入/etc/fstab确认 /home文件系统--->ext4

12.写入文件系统,使扩容生效

13.如果是xfs文件系统,则用‘xfs_growfs /dev/mapper/cl-home';查看/home,已实现扩容。大功告成!


本次扩容指令汇总:

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'

项目实战:

MPX跑磁盘将 /写满,导致GUI进不去,用此法给 /动态扩容,GUI又回来了,哈哈哈

扩容前

扩容后

GUI又回来了

另附个人对Linux分区的一些认识:

在linux里一切皆文件,所有设备、磁盘都是以文件形式挂在 ‘  /  '。本文中提到的 /var ,如果安装os时不手动对 /var 分区,系统默认会创建 /var ,但是系统创建的 /var ,最大可用存储空间为‘ / '的大小。另外,像 /boot 或 /boot/efi 里只存放linux os的引导文件,没必要分的太大。

总结:安装os时选择LVM,当跑数据库发现分区不够用时,即可按此法实现动态扩容,而不破坏分区内原有文件,更不用重装系统,妈妈再也不用担心我分区大小够用了!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • CentOS环境下安装Redis3.0及phpredis扩展测试示例

    CentOS环境下安装Redis3.0及phpredis扩展测试示例

    这篇文章主要介绍了CentOS环境下安装Redis3.0及phpredis扩展测试,结合实例形式分析了CentOS下Redis安装相关步骤、命令及phpredis扩展的测试代码,需要的朋友可以参考下
    2018-04-04
  • Linux系统rsyslogd占用内存过高的问题排查及解决

    Linux系统rsyslogd占用内存过高的问题排查及解决

    syslogd不仅仅是记录kernel log的服务,还能记录user space中的日志,syslogd是Linux下的一个记录日志文件服务,新版本叫做rsyslogd,本文介绍了Linux系统rsyslogd占用内存过高的问题排查及解决,需要的朋友可以参考下
    2024-08-08
  • window与linux项目部署之linux文件路径不存在问题

    window与linux项目部署之linux文件路径不存在问题

    小编在一次项目测试中,发现一些bug,window与linux项目部署-linux文件路径不存在问题,本文给出了解决方案,需要的朋友可以参考下
    2019-11-11
  • centos7下如何安装ftp服务

    centos7下如何安装ftp服务

    这篇文章主要介绍了centos7下如何安装ftp服务问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • 详解Ubuntu16.04下Hadoop 2.7.3的安装与配置

    详解Ubuntu16.04下Hadoop 2.7.3的安装与配置

    本篇文章主要介绍了详解Ubuntu16.04下Hadoop 2.7.3的安装与配置,具有一定的参考价值,有兴趣的可以了解一下。
    2017-01-01
  • 使用GDB调试多线程实例详解

    使用GDB调试多线程实例详解

    这篇文章主要介绍了使用GDB调试多线程实例详解的相关资料,需要的朋友可以参考下
    2017-06-06
  • 如何在Apache和Nginx禁止上传目录里PHP的执行权限

    如何在Apache和Nginx禁止上传目录里PHP的执行权限

    这篇文章主要介绍了如何在Apache和Nginx禁止上传目录里PHP的执行权限的具体方法,非常简单,有需要的小伙伴可以参考下
    2016-10-10
  • Linux中可以节省你时间的15个命令别名

    Linux中可以节省你时间的15个命令别名

    这篇文章主要给大家介绍了关于Linux中可以节省你时间的15个命令别名的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-09-09
  • RHEL 7中防火墙的配置和使用方法

    RHEL 7中防火墙的配置和使用方法

    下面小编就为大家带来一篇RHEL 7中防火墙的配置和使用方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • Linux中查找文件夹的命令解读

    Linux中查找文件夹的命令解读

    这篇文章主要介绍了Linux中查找文件夹的命令,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12

最新评论