热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

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

摘要:最近项目组里来了很多新人,对linux分区及各种应用使用的分区不了解,导致测试数据库时突然发现某一个分区被写满了,不得不重装OS.实在

摘要:最近项目组里来了很多新人,对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,当跑数据库发现分区不够用时,即可按此法实现动态扩容,而不破坏分区内原有文件,更不用重装系统,妈妈再也不用担心我分区大小够用了!

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


推荐阅读
  • 1.ATP方式安装在ubuntu系统的apt软件仓库中,默认存在MySQL数据库,所以直接使用apt命令就可以安装。使用命令:aptapt-getin ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了CentOS7编译mysql8.0.12相关的知识,希望对你有一定的参考价值。步骤一:安装 ... [详细]
  • centos安装Mysql的方法及步骤详解
    本文介绍了centos安装Mysql的两种方式:rpm方式和绿色方式安装,详细介绍了安装所需的软件包以及安装过程中的注意事项,包括检查是否安装成功的方法。通过本文,读者可以了解到在centos系统上如何正确安装Mysql。 ... [详细]
  • Centos下安装memcached+memcached教程
    本文介绍了在Centos下安装memcached和使用memcached的教程,详细解释了memcached的工作原理,包括缓存数据和对象、减少数据库读取次数、提高网站速度等。同时,还对memcached的快速和高效率进行了解释,与传统的文件型数据库相比,memcached作为一个内存型数据库,具有更高的读取速度。 ... [详细]
  • Linux环境中使用Mysql数据库
    Linux下Mysql数据库MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQLAB公司,目前属于Oracle公司,MySQL被广泛地应用在I ... [详细]
  • Centos7安装MySql5.6
    如何在CentO ... [详细]
  • 阿里云主机实战应用之centos7上的防火墙设置
    最近公司又上了一台服务器,以前都是用centos6系统,这次选择使用了centos7系统的安装镜像,因为现在程序版本在centos7上一般php默认就是5.4以上的,mysql也 ... [详细]
  • centos7如何利用yum安装mysql 8.0.12
    这篇文章将为大家详细讲解有关centos7如何利用yum安装mysql8.0.12,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有 ... [详细]
  • 如何部署Zabbix监控实现监测和报警机制
    这篇文章的知识点包括:Zabbix的安装部署、Zabbix监控的实现以及Zabbix报警机制的实现,阅读完整文相信大家对Zabbix监控的使用有了一定的认识。Zabb ... [详细]
  • MYsql_linux mysql
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了linuxmysql相关的知识,希望对你有一定的参考价值。一数据库安装查看:[[email pr ... [详细]
  • 1、MySQL标志说明MySQL的海豚标志的名字叫“sakila”,它是由MySQLAB的创始人从用户在“海豚命名”的竞赛中建议的大量的名字表中选出的。获胜的名字是由 ... [详细]
  • Vagrant虚拟化工具的安装和使用教程
    本文介绍了Vagrant虚拟化工具的安装和使用教程。首先介绍了安装virtualBox和Vagrant的步骤。然后详细说明了Vagrant的安装和使用方法,包括如何检查安装是否成功。最后介绍了下载虚拟机镜像的步骤,以及Vagrant镜像网站的相关信息。 ... [详细]
  • DataGrip 初探:如何离线安装数据库驱动
    一、引言在日常的工作中,难免会与多个数据库打交道。此时,一个能够帮助我们管理多个数据库连接的软件就非常必要了,在我从事程序员的日子里,用过了NavicatforMySQL、DbVi ... [详细]
  • 新注册腾讯云最长可免费使用CVM服务器半年
    腾讯旗下的云计算业务目前开始推出面向新用户的免费套餐活动,最长每位用户可免费使用CVM服务器半 ... [详细]
  • MySQL45讲之备库并行复制策略-前言本文主要介绍MySQL备库的并行复制策略。为什么备库需要并行复制如果主库有大量更新操作,因为主库可以并发写入,而备库只能单线程执行的 ... [详细]
author-avatar
生活是多么美好888
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有