在 Linux 下使用 fdisk 扩展分区容量

Guyuebingchuan 2017-06-19

摘要:我们管理的服务器可能会随着业务量的不断增长造成磁盘空间不足的情况,比如:共享文件服务器硬盘空间不足,在这个时候我们就需要增加磁盘空间,来满足线上的业务;又或者我们在使用linux的过程中,有时会因为安装系统时分区不当导致有的分区空间不足,而有的分区空间过剩的情况,都可以是使用fdisk分区工具来动态调整分区的大小。

我们管理的服务器可能会随着业务量的不断增长造成磁盘空间不足的情况,比如:共享文件服务器硬盘空间不足,在这个时候我们就需要增加磁盘空间,来满足线上的业务;又或者我们在使用linux的过程中,有时会因为安装系统时分区不当导致有的分区空间不足,而有的分区空间过剩的情况,都可以是使用fdisk分区工具来动态调整分区的大小。

扩展磁盘空间

硬盘空间为20G,使用vSphereClient增加磁盘大小,需要再增加10G空间;

fdisk_l-20G

fdisk_l-20G

vshere_add

vshere_add

扩展完后,重启系统,再次使用fdisk-l查看,会发现硬盘空间变大了;

fdisk_l-30

fdisk_l-30

重新创建分区,调整分区信息

本次实验主要对/dev/sda4这个分区扩展,如果是生产环境,请提前做好备份保存到其他分区,虽然扩展分区大小不会导致数据丢失,安全起见,请提前做好备份;

首先模拟出一些数据:

[root@linuxprobedata]#mkdirtest

[root@linuxprobedata]#echo"weareLinuxer">linuxprobe

[root@linuxprobedata]#ll

total24

-rw-r--r--.1rootroot15May2321:59linuxprobe

drwx------.2rootroot16384May2315:07lost+found

drwxr-xr-x.2rootroot4096May2321:51test

[root@linuxprobe~]#umount/dev/sda4###卸载磁盘分区

若提示磁盘忙,使用fuser找出将正在使用磁盘的程序并结束掉;

fuser-m-v/data

fuser-m-v-i-k/data

使用fdisk工具先删除/dev/sda4分区,然后创建新分区,注意开始的磁柱号要和原来的一致(是保证数据不丢失的关键步骤),结束的磁柱号默认回车使用全部磁盘。

[root@linuxprobe~]#fdisk/dev/sda

WARNING:DOS-compatiblemodeisdeprecated.Itisstronglyrecommendedto

switchoffthemode(command'c')andchangedisplayunitsto

sectors(command'u').

Command(mforhelp):p###查看分区表信息

Disk/dev/sda:32.2GB,32212254720bytes

255heads,63sectors/track,3916cylinders

Units=cylindersof16065*512=8225280bytes

Sectorsize(logical/physical):512bytes/512bytes

I/Osize(minimum/optimal):512bytes/512bytes

Diskidentifier:0x0005210c

DeviceBootStartEndBlocksIdSystem

/dev/sda1*12620480083Linux

Partition1doesnotendoncylinderboundary.

/dev/sda22613011024000083Linux

/dev/sda313011497157286482Linuxswap/Solaris

/dev/sda414972611895283283Linux

Command(mforhelp):d###删除分区

Partitionnumber(1-4):4###删除第四个

Command(mforhelp):p###再次查看分区信息,/dev/sda4已被删除

Disk/dev/sda:32.2GB,32212254720bytes

255heads,63sectors/track,3916cylinders

Units=cylindersof16065*512=8225280bytes

Sectorsize(logical/physical):512bytes/512bytes

I/Osize(minimum/optimal):512bytes/512bytes

Diskidentifier:0x0005210c

DeviceBootStartEndBlocksIdSystem

/dev/sda1*12620480083Linux

Partition1doesnotendoncylinderboundary.

/dev/sda22613011024000083Linux

/dev/sda313011497157286482Linuxswap/Solaris

Command(mforhelp):n###创建新的分区

Commandaction

eextended

pprimarypartition(1-4)

p#创建为主分区

Selectedpartition4

Firstcylinder(1497-3916,default1497):###经对比,正好和上一个磁盘柱一致,默认即可

Usingdefaultvalue1497

Lastcylinder,+cylindersor+size{K,M,G}(1497-3916,default3916):

Usingdefaultvalue3916###直接默认就可以

Command(mforhelp):p###查看分区表信息

Disk/dev/sda:32.2GB,32212254720bytes

255heads,63sectors/track,3916cylinders

Units=cylindersof16065*512=8225280bytes

Sectorsize(logical/physical):512bytes/512bytes

I/Osize(minimum/optimal):512bytes/512bytes

Diskidentifier:0x0005210c

DeviceBootStartEndBlocksIdSystem

/dev/sda1*12620480083Linux

Partition1doesnotendoncylinderboundary.

/dev/sda22613011024000083Linux

/dev/sda313011497157286482Linuxswap/Solaris

/dev/sda4149739161943658283Linux

Command(mforhelp):wp###保存并退出,如果创建有误,直接退出不要保存即可

Thepartitiontablehasbeenaltered!

Callingioctl()tore-readpartitiontable.

WARNING:Re-readingthepartitiontablefailedwitherror16:Deviceorresourcebusy.

Thekernelstillusestheoldtable.Thenewtablewillbeusedat

thenextrebootorafteryourunpartprobe(8)orkpartx(8)

Syncingdisks.

fdisk-d

fdisk-d

fdisk-p

重新创建分区后,需要重启一下;

fdisk-p

[root@linuxprobe~]#init6

[root@linuxprobe~]#e2fsck-f/dev/sda4###检查分区信息

[root@linuxprobe~]#resize2fs-p/dev/sda4###调整分区大小

重新挂载、查看分区大小、数据:

df-hT_19G

df-hT_19G

可见/dev/sda4分区的空间大小已经增加了。

原文发布时间为:2016-05-26

本文来自云栖社区合作伙伴“Linux中国”

相关推荐