在 Linux 下使用 fdisk 扩展分区容量
摘要:我们管理的服务器可能会随着业务量的不断增长造成磁盘空间不足的情况,比如:共享文件服务器硬盘空间不足,在这个时候我们就需要增加磁盘空间,来满足线上的业务;又或者我们在使用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中国”