一种Linux系统下逻辑卷分区自动扩容装置及方法与流程

文档序号:16066627发布日期:2018-11-24 12:43阅读:568来源:国知局

本发明涉及存储设计领域,更具体地说,涉及一种linux系统下逻辑卷分区自动扩容装置及方法。

背景技术

逻辑卷是将几个磁盘分区或者块设备组织起来形成一个大的扩展分区,在使用时将其划分为逻辑卷分区,然后格式化成不同的文件系统,挂载使用。与直接使用物理磁盘相比,逻辑卷具有很多优点,比如可以灵活的配置逻辑卷的容量、可以扩容或缩减逻辑卷分区大小而不用重新格式化分区等等。

在项目中,经常遇到服务器系统下分区不够,需要手动扩容的情况。以往的做法是参照文档,一步一步去执行。这样做的缺点是步骤繁琐,效率低下,而且存在一定的风险。如果操作人员对命令或者服务器设备情况不熟悉,在操作起来极易出现失误,导致分区出现故障,引发数据丢失。



技术实现要素:

针对以上缺点,本发明提出了一种linux系统下逻辑卷分区自动扩容装置及方法,能够将逻辑卷扩容步骤形成自动化,这样就能减少人工操作,降低人为因素影响,从而提高效率,保证分区的安全。

本发明实施例提供了一种linux系统下逻辑卷分区自动扩容装置,所述的装置包括:

输入模块,用于输入待扩容的逻辑卷分区名称和要加入逻辑卷的磁盘名称;

第一获取模块,用于根据逻辑卷分区名称获取卷组名称;

处理模块,用于将要加入逻辑卷的磁盘扩容至逻辑卷分区,并使扩容生效。

进一步的,所述的处理模块包括:

第一处理模块,将要加入卷组的磁盘分区并格式化为lvm格式;

第二处理模块,将格式化好的分区创建成物理卷;

第三处理模块,将物理卷加入到待扩容的逻辑卷分区所在的卷组;

第四处理模块,将卷组中空闲的空间扩容至逻辑卷分区;

第五处理模块,判断逻辑卷分区文件系统格式;

第六处理模块,根据文件系统类型同步文件系统,使扩容生效。

进一步的,所述的装置还包括:

第二获取模块,获取并显示同步后的系统分区信息。

本发明实施例提供了一种linux系统下逻辑卷分区自动扩容方法,所述的方法为:

s1:输入待扩容的逻辑卷分区名称和要加入逻辑卷的磁盘名称;

s2:根据逻辑卷分区名称获取卷组名称;

s3:将要加入卷组的磁盘分区并格式化为lvm格式;

s4:将格式化好的分区创建成物理卷;

s5:将物理卷加入到待扩容的逻辑卷分区所在的卷组;

s6:将卷组中空闲的空间扩容至逻辑卷分区;

s7:判断逻辑卷分区文件系统格式;

s8:根据文件系统类型同步文件系统,使扩容生效;

s9:返回同步后的系统分区信息。

进一步的,步骤s2中,通过linux系统下的命令lvdisply,显示当前系统的逻辑卷信息,获取卷组名称。

进一步的,步骤s3中,通过fdisk命令来将磁盘分区格式化为lvm格式。

进一步的,步骤s7中,使用xfs_growfs命令判断xfs格式,使用resize2fs命令判断ext、ext2、ext3、ext4格式。

进一步的,步骤s8中,使扩容生效的方法为:通过系统命令刷新逻辑卷分区。

进一步的,步骤s9的实现过程为:执行df-lh命令,返回系统分区信息,主要是看逻辑卷分区当前的大小、avail列。

发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:

在本发明中,通过系统命令和程序执行的整合,一方面,将繁琐的步骤整合自动化,减少操作步骤,节省了时间,从而提高效率;另一方面,自动执行的程序和指令,避免了人为因素影响,保证分区安全。

附图说明

图1是本发明实施例的装置原理图;

图2是本发明实施例的方法流程图。

具体实施方式

为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。

实施例

如图1所示,本发明实施例1提供了一种linux系统下逻辑卷分区自动扩容装置,所述的装置包括输入模块、第一获取模块、处理模块和第二获取模块。

所述的输入模块,用于输入待扩容的逻辑卷分区名称和要加入逻辑卷的磁盘名称。

所述的第一获取模块,通过lvdisply命令,用于根据逻辑卷分区名称获取卷组名称。

所述的处理模块,用于将要加入逻辑卷的磁盘扩容至逻辑卷分区,并使扩容生效。

根据处理的过程,所述的处理模块分为6个部分,分别是第一处理模块、第二处理模块、第三处理模块、第四处理模块、第五处理模块、第六处理模块。

其中,第一处理模块,主要是通过fdisk命令。将要加入卷组的磁盘分区并格式化为lvm格式。然后,第二处理模块负责将格式化好的分区创建成物理卷。接着,第三处理模块,将物理卷加入到待扩容的逻辑卷分区所在的卷组。接下来,第四处理模块,将卷组中空闲的空间扩容至逻辑卷分区。扩容完成后,第五处理模块负责判断逻辑卷分区文件系统格式,主要是区别ext、ext2、ext3、ext4和xfs这几种常用的格式,最后,第六处理模块根据文件系统类型同步文件系统,使扩容生效。

所述的第二获取模块,在扩容完成后,获取并显示同步后的系统分区信息,可以查看扩容效果。

如图2所示,本发明实施例提供了一种linux系统下逻辑卷分区自动扩容方法,所述的方法为:

s1:输入待扩容的逻辑卷分区名称(/dev/mapper/vg-home)和要加入逻辑卷的磁盘名称(/dev/sdb)。

s2:根据逻辑卷分区名称获取卷组名称,具体手段是:利用lvdisply命令,从lvdisplay信息里,先匹配出lv的名称和vg的名称,然后提取vg名称。

在实际执行时,执行过程如下:

使用命令进行在lvdisplay输出的信息里筛选,命令为:lvdisplay|sed-n'/home/,/vg/p'|awk'{print$3}'|sed-n'3p'lvdisplay|sed-n'/home/,/vg/p',这条命令中home是逻辑卷分区名称,可以在脚本中作为变量来用,这条命令作用就是打印匹配逻辑卷名称为home的行开始到匹配vg的行之间的所有内容,然后使用awk命令打印出第3列lvdisplay|sed-n'/home/,/vg/p'|awk'{print$3}',最后再次使用sed命令,打印第三行,得到vg的名称lvdisplay|sed-n'/home/,/vg/p'|awk'{print$3}'|sed-n'3p'。

s3:将要加入卷组的磁盘分区并格式化为lvm格式。其中,物理卷是在逻辑卷管理系统的最底层,可以是整个物理硬盘或者实际物理硬盘上的分区。卷组(vg)是建立在物理卷上的,一个卷组至少要包括一个物理卷。卷组建立后可动态添加物理卷到卷组中,就是本申请中提到的扩容。通俗的说就是卷组空间不够了,加一块盘进去。

步骤s3中的格式化通过fdisk命令来实现,例如:np1t8e就是里面的选项,分区格式lvm对应的十六进制代码就是8e。

s4:将格式化好的分区创建成物理卷。例如,/dev/sdb1就是物理硬盘/dev/sdb使用fdisk命令创建的一个分区,创建物理卷命令就是pvcreate,系统自带的命令,执行即可[root@tone~]#pvcreate/dev/sdb1;physicalvolume“/dev/sdb1”successfullycreaded。

s5:将物理卷加入到待扩容的逻辑卷分区所在的卷组。这个也是系统自带的命令,执行即可,格式为vgextend+vg名称+物理卷名称。

s6:将卷组中空闲的空间扩容至逻辑卷分区。命令格式为lvextend-l+100%free逻辑卷分区名称。因为已经新加入了一块物理卷,100%free参数就是把卷组(vg)中所有剩余的空闲空间加入到指定的逻辑卷分区中。

s7:判断逻辑卷分区文件系统格式。

需要注意的是,文件系统格式很多,比如linuxfile-systemtypes:minix,ext,ext2,ext3,ext4,reiserfs,xfs,jfs,xia,msdos,umsdos,vfat,ntfs,proc,nfs,iso9660,hpfs,sysv,smb,ncpfs,本专利主要区别ext、ext2、ext3、ext4和xfs这几种常用的格式。

xfs需要用xfs_growfs命令,ext、ext2、ext3、ext4格式需要用resize2fs命令。例如,通过xfs_info命令判断时,这个命令是返回xfs文件系统信息的,如果是xfs格式的系统就会返回相关信息,命令执行结果返回0;如果不是xfs格式的,就返回错误的信息,命令执行结果返回1。代码根据返回结果是0还是1判断是不是xfs格式。

s8:根据文件系统类型同步文件系统,使扩容生效。步骤s7中提到过,xfs需要用xfs_growfs命令;ext、ext2、ext3、ext4格式需要用resize2fs命令,步骤s8这一过程是在扩容后执行这个命令,可以理解为刷新,让改动生效。步骤s8中,命令的格式就是命令+逻辑卷分区。

s9:返回同步后的系统分区信息。该过程就是执行了df-lh命令,返回系统分区信息,主要是看逻辑卷分区当前的大小、avail列。此外,还可以记录扩容前的大小,扩容后返回一个扩容了多少空间的信息。

尽管说明书及附图和实施例对本发明创造已进行了详细的说明,但是,本领域技术人员应当理解,仍然可以对本发明创造进行修改或者等同替换;而一切不脱离本发明创造的精神和范围的技术方案及其改进,其均涵盖在本发明创造专利的保护范围当中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1