linux下扩展已有分区容量

一、遇到的问题
数据库备份服务器(Linux系统)的数据盘满了,需要扩大数据盘分区(/dev/sdb1,挂载点为/backup),且又必须保持数据不丢失。已扩充磁盘容量,现在需要添加到已有分区中去。

二、大概思路
卸载挂载的分区,然后重新建立分区并调整大小,最后重新挂载。

三、步骤
1.卸载磁盘
umount /backup

如果提示说磁盘忙,那就是被某些进程占用了,可通过fuser查看然后关闭相应的进程。

fuser -m -v -i -k /backup

2.调整磁盘分区信息
(1)fdisk -l #查看磁盘分区信息
看到磁盘标签类型是gpt 查看起始磁柱号 start 2048
fdisk /dev/sdb

p #查看起始磁柱号,即start所对应的,在本例中为2048

d #删除之前的分区

n #建立新分区

p #主分区

1 #第一个主分区

2048 #输入起始磁柱号,结束的磁柱号使用缺省的即可

wq #保存分区信息并退出
(2)使用parted命令
这里根据之前的分区起始位置确认是2048扇区,由于parted工具默认启动、结束位置单位都是用容量单位即kB/MB/GB,所以需要通过unit s命令定义默认使用sectors定义起始扇区。
(2.1)parted /dev/sdb
(parted) p                       # 打印分区表
(parted) rm 1                     # 删除1号分区
(parted) unit s                    # 使用扇区号
(parted) rescue 2048 954GB             # 恢复分区表
Information: A ext4 primary partition was found at 2048s -> 1048575999s. Do you want to add it
to the partition table?            # 找到了xfs格式的分区,起始扇区定位到2048,结束扇区是1048575999
Yes/No/Cancel? y                # 是否要创建该分区表,也就是恢复旧的分区表    
(parted) p 
(parted) q

(2.2)parted /dev/sdb
(parted) p
(parted) rm 1                            # 删除旧的分区表
(parted) p
(parted) unit s
(parted) mkpart primary xfs 2048 4T            # 创建新的分区表,注意要使用前文获取的扇区起始位置2048
(parted) p
(parted) q
3.调整分区大小
(1)ext系列的文件系统
e2fsck -f /dev/sdb1 #检查分区信息

resize2fs /dev/sdb1 #调整分区大小

(2)xfs格式的文件系统
xfs_growfs /dev/sdb1

4.重新挂载分区并查看
mount /dev/sdb1 /backup
df -h

你可能感兴趣的:(linux)