Linux磁盘分区及扩容操作,基于centOS6.5系统,超详细!!!

文章目录

  1. 普通磁盘初始化分区和挂载
  2. LVM逻辑卷管理与分区
  3. LVM逻辑卷动态扩容新磁盘容量
  4. parted原磁盘大容量无损数据扩容
  5. vgcfgrestore修复VG卷组
  6. LVM信息丢失处理方法

阅前必读:请各位观看教程的小伙伴最好是先根据自身需求查看相应的章节,自己先有个大概的思路,在考虑是否进行操作,切勿按部就班完全照着执行,因为每个人遇到的问题和场景都不一样,扩容有风险,操作需谨慎!

说明

一般新创建的Linux系统都会涉及到磁盘管理和内存分配问题,这就跟我们的windows系统一样有运行内存和硬盘空间大小,此处我们就着重讲一下Linux系统的磁盘管理,操作之前记得一定要对服务器的数据进行备份,特别是大容量的数据磁盘。好了废话不多说,详细操作请让我们看下文~~

普通磁盘初始化分区和挂载

新提供的服务器系统中一般除系统盘之外其余磁盘均为未初始化状态,需我们要自行格式化分区并进行挂载。

1、输入 fdisk -l 查看磁盘信息
Alt
从上图中可以看到新加磁盘为/dev/vdb,未分区的磁盘没有DeviceBoot信息

2、对新磁盘进行分区依次输入:n、p、1、回车、回车、w,完成分区创建
Alt
3、格式化分区
查看新创建的磁盘分区
输入指令 fdisk -l /dev/vdb 进行查看
Alt
从上图中可以看到新的分区为:/dev/vdb1,然后对新分区进行格式化
输入mkfs.ext4 /dev/vdb1进行磁盘格式化
Alt
4、创建新的挂载目录,并将新的磁盘分区挂载到新建的目录上
创建一个名为license的目录,mkdir /license
将新分区的磁盘挂载到license目录上,mount /dev/vdb1 /license/
最后使用df -h命令查看分区挂载情况
Alt
5、设置开机自动挂载磁盘
输入vi /etc/fstab编辑文件
然后添加:/dev/vdb1 /license ext4 defaults 0 0
Alt
最后输入wq保存退出即可

LVM逻辑卷管理与分区

有时候服务器所申请的磁盘空间都比较大,且后续使用会面临磁盘空间不足需扩展的情况。使用LVM(逻辑卷管理)可以实现使用多块磁盘空间给同一个分区使用,并可以进行动态扩展。

1、首先还是输入fdisk -l 查看磁盘信息
Alt
从上图中可以看到新磁盘为/dev/sdb,大小为8796.1GB

2、对新磁盘进行分区
由于新磁盘大于2T,需要使用parted工具进行初始化分区,若没有parted,则需要安装parted在进行操作,一般是精简版没有,图形化的centOS系统一般都会有自带
输入parted /dev/sdb进行初始化分区
Alt
3、创建分区表
2T以上磁盘需使用GPT分区,输入mklabel gpt设置分区格式为GPT

4、输入mkpart primary 0 100%进行创建分区,此命令表示使用全部磁盘空间创建主分区,出现警告输入Ignore进行忽略
Alt
使用print命令查看磁盘信息,发现分区已经创建完成,大小为8769GB, 最后使用quit命令进行退出,需要注意,从第二步到第四步都是在parted里面执行,如下图的print,前面有个(parted)
Alt
5、输入fdisk -l /dev/sdb查看磁盘分区信息,可以看到新磁盘分区为/dev/sdb1,格式为GPT
Alt
6、输入pvcreate /dev/sdb1,表示使用新分区创建PV物理卷
Alt
输入pvs查看已创建PV信息,发现已经有了一个/dev/sdb1的PV物理卷
Alt
7、输入vgcreate license /dev/sdb1,表示使用新创建的PV创建一个名为license的VG卷组
Alt
输入vgs查看已创建的VG,发现已经有了一个license的卷组
Alt
8、在已创建的VG卷组中创建LV逻辑卷
输入lvcreate -l 100%VG -n license-data license,此命令表示将卷组名称为license的全部空间创建一个名为license-data的LV逻辑卷,license就是第七步中创建的VG(卷组)名称
Alt
输入lvs查看已创建的lv逻辑卷,此时已经有了一个license-data的LV逻辑卷,所属VG(卷组)为license
Alt
9、格式化新创建的LV逻辑卷分区
如果分区超过16T或者未来经过扩展会超过16T,需使用xfs分区,ext4对16T以上支持性不好。使用xfs分区需安装xfsprogs,小伙伴们自行百度安装xfs相关的rpm包。
输入mkfs.xfs /dev/license/license-data格式化新创建的LV逻辑卷
Alt
10、挂载LV逻辑卷分区
mkdir /license创建一个license文件目录
mount /dev/license/license-data /license/将逻辑卷挂载到license目录下
最后输入df -h查看挂载情况
在这里插入图片描述
11、设置开机自动挂载
编辑vi /etc/fstab,添加如下内容设置开机时自动挂载
/dev/license/license-data /license/ xfsdefaults 0 0
Alt

LVM逻辑卷动态扩容新磁盘容量

接上一章节LVM逻辑卷管理与分区,在系统运行若干个月或者年后,分区空间渐渐不够用了,这时候便可以申请资源对磁盘进行扩展。此处讲解新磁盘加入之后如何动态对LVM逻辑卷进行扩容操作。

1、输入fdisk -l查看磁盘,可以看到新磁盘为/dev/sdc,大小为8796.1GB
Alt
2、因为新磁盘大小超过2T,所以使用parted对新磁盘进行分区
parted /dev/sdc 初始化分区
mklabel gpt 将格式设置成gpt格式
mkpart primary 0 100% 创建一个主分区,将/dev/sdc的所有磁盘容量分配给这个主分区,出现警告输入Ignore忽略
print 查看打印
quit 最后退出parted分区
Alt
3、输入pvcreate /dev/sdc1,表示使用新分区创建PV物理卷
创建pv后,输入pvs进行查看,已经多了一个/dev/sdc1的物理卷名称
Alt
4、扩展VG卷组,将新PV逻辑卷加入
执行vgextend license /dev/sdc1,license为上一章节LVM逻辑卷管理与分区创建的VG名称卷组
此时再次输入pvs发现/dev/sdc1对应的VG名称license就出来了
Alt
输入vgs查看扩展后VG信息,此时发现license卷组的大小为16t了,表示vg扩展成功
Alt
5、将VG卷组license中的空闲空间全部扩展到LV逻辑卷license-data中
执行lvextend -l +100%FREE /dev/license/license-data,license-data为上一章节LVM逻辑卷管理与分区创建的LV逻辑卷名称
执行完成后,输入lvs查看扩展后的LV逻辑卷大小,发现LSize为16t了,表示LV逻辑卷扩展成功
Alt
6、刷新文件系统使扩容生效
执行xfs_growfs /dev/license/license-data使扩容生效,因为我们是使用的xfs进行分区的,所以此处通过xfs进行磁盘刷新

7、查看扩展后的分区信息
输入df -h进行查看扩容后的大小,发现由原来的8t变成了16t,表示动态扩容已完成并生效
Alt

parted原磁盘大容量无损数据扩容

有时候服务器厂商给的磁盘并不是一块独立的新磁盘,而是在原磁盘基础上增加了容量,这时候我们就不能像上一章节中动态给LVM逻辑卷动态扩容,因为不能格式化磁盘,接来下我们就讲到如何通过parted在原磁盘上进行大容量扩容并不损坏磁盘数据。

1、首先查看目前磁盘的信息
通过df -hl指令查看,发现已挂载的license-data硬盘容量为10T,已使用了9.2T,马上就要满了
Alt
输入lsblk列出所有可用块设备的信息,并且显示他们之间的依赖关系
Alt
如上图,/dev/sda下已经有14.9T的空间大小,但是逻辑分区license-data下目前只有10T,我们需要将容量扩展到14.9T,因为扩容的大小大于2T,所以需要使用到parted进行分区和扩容

2、需要先通过parted进行容量整合
先将已挂载的逻辑卷取消挂载,执行umount /dev/license/license-data
Alt
依次输入parted /de/sdaprint打印查看,出现告警输入Ignore跳过,输入unit s将容量换算成扇区值,再次执行print打印查看,并且记录起始值start
这里需要注意一下,出现 Fix/Ignore 建议输入Fix进行修复,我这里是输入的Ignore 跳过了
Alt
执行rm 1 进行删除分区,上图的Number值表示分区号,然后重新输入print打印查看信息,此时分区已删除,删除分区并非格式化磁盘,到这里小伙伴们不要慌,删除分区不是格式化分区,数据还在的
Alt
mkpart primary 34s 100%创建一个新的主分区,此时的34s就是上面记录的start值,100%表示把所有空间分配给这个主分区,执行后就会发现大小已经是合并后的大小16.4TB了
Alt
若想直观的看到具体的空间大小,输入quit退出parted,然后重新输入parted /dev/sda,然后输入print打印查看即可
Alt
3、输入pvresize /dev/sda1对PV逻辑卷进行容
Alt
输入pvdisplay查看pv容量是否添加成功,若不成功,需要重启reboot服务器,从新执行pvresize /dev/sda1,然后再次输入pvdisplay查看pv容量即可
如下图,pv的大小已经由原来的10T变成了14.88TiB,表示PV物理卷扩展成功
Alt
4、输入指令lvresize -L +4.88TiB /dev/license/license-data对lv进行扩容,若lv size的值为14.88TiB表示lv扩容成功
Alt
执行lvdisplay /dev/license/license-data查看lv名称为license-data的空间大小
Alt
5、最后挂载并刷新挂载点,然后挂载即可,依次输入如下指令即可
xfs_growfs /dev/license/license-data,刷新挂载
mount /dev/license/license-data /license/ 将刷新后的磁盘挂载到license目录下
最后输入df -hl 查看扩展后的空间大小,发现已经从10T扩展到了15T,可用容量为5.8T,自此顺利完成parted在原硬盘的扩容工作
Alt

vgcfgrestore修复VG卷组

比较重要的一点,恢复VG,是为了还原到原来的状态,比如之前创建的pv、vg、lv,一般都会形成文件保存在/dev目录下,若是丢了,或者操作失误等等,只要没执行格式化磁盘操作,一般都能通过vgcfgrestore来进行修复。

1、vgcfgrestore操作无法确认具体是哪个文件时可以和客户确认下出问题之前的操作时间,根据备份文件的时间或序号来确认恢复到哪个之前,一个VG对应一个.vg的恢复文件
.vg修复文件一般在/etc/lvm/archive/目录下。
首先输入 ls /etc/lvm/archive/ 查看vg恢复文件列表,如下图我们看到六个.vg的修复文件,根据自身需求选择需要恢复的vg
Alt
2、输入vgs查看已存在的VG卷组,比如下图license是我们需要修复的vg名称,记录下来
Alt
3、具体操作步骤如下
(1)恢复 vg :vgcfgrestore --file /etc/lvm/archive/license_00000-1789114589.vg license
(2)重新 resize pv : pvresize /dev/sda1
(3)激活 vg : vgchange -ay
(4)VG修复还原成功后就可根据上几张章节进行操作了
注意:一般没问题的情况下不要轻易的去修复和还原VG(卷组),需谨慎操作

通过vgcfgrestore修复vg卷组的参考文献

LVM信息丢失处理方法

曾遇到lvm信息看不到或者无法使用的问题,有不同场景:
1)刚创建完vg,无法挂载;
2)lv是挂载且正在使用的场景(/dev目录下能看),但pvs、vgs、lvs都看不到相关信息,当遇到主机故障、系统重启等场景,会没有办法挂载使用。
解决办法:
1)尝试重启Linux系统,看是否能看到vg pv lv信息,能否挂载使用
2)重启后不能恢复,按照如下步骤处理:

恢复过程:进入到文件夹路径/etc/lvm/backup/(backup下面的都是文件了,不是文件夹),通过找到对应的卷组名里PV的UUID恢复PV,从而恢复pv,vg,lv相关数据。

这里演示一下怎么查找对应PV的UUID,首先输入 pvdisplay,这里查出两个pv,下标是从0开始,所以backup目录下的卷组文件里面会有两个pv信息,pv0和pv1
在这里插入图片描述

1、先进入到backup目录下,然后通过 vim 查看文件内容,这里只是为了查看方便,千万不要修改里面的内容
在这里插入图片描述
2、pv0和pv1,需要恢复那个pv就复制那个pv的id值
在这里插入图片描述
3、使用原来的PV UUID来创建PV,并使用lvm配置备份文件来恢复信息
执行指令:
pvcreate /dev/vda -u 593W4k-g10l-yqMn-1xHl-6teK-oU69-kAQlar --restorefile /etc/lvm/backup/centos
输出信息:
Couldn’t find device with uuid 593W4k-g10l-yqMn-1xHl-6teK-oU69-kAQlar.
Physical volume "/dev/vda " successfully created

指令的/dev/vda这个你当初lv是挂在哪个下面就是哪个,查看指令为lsblk,例如:
在这里插入图片描述
4、恢复datavg的vg信息
执行指令:vgcfgrestore centos
输出信息:
Restored volume group centos

5、检查pv、vg、lv信息是否都已恢复,能查看你原先丢失的pv,vg,lv证明已经恢复成功了
在这里插入图片描述
6、最后激活一下vg卷
执行指令:vgchange -ay centos
输出信息:1 logical volume(s) in volume group “centos” now active

7、挂载使用,这里是将lv逻辑卷挂载到home目录下
mount /dev/centos/root /home

8、至此lvm信息丢失恢复操作就已经结束了,关键就是通过卷组里边PV的UUID恢复PV,进而恢复VG,一般vg丢失这种情况出现的还是会比较少,我是操作失误搞丢的,所以才查阅了各种教程 [捂脸哭]

恢复lvm这一块内容因为是早期操作的示例,当时的素材没有保存,因为不确定能否成功,后续lvm问题没有复现,所以没有截图保存,算是给大家提供一个解决思路,可以作为解决问题的一个参考。

这一小章节是参考了的 大佬 的教程

以上操作均为实际操作,不足之处请大佬们指点~~

  • 6
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值