18194057585 发表于 2020-5-5 17:50

CentOS普通分区扩容和分区表

案例分享:主机系统centos7.5默认系统上有一块40G的系统盘sda,外加一块350G的数据盘sdb。每块盘一个分区,分区类型为普通分区。现在350G的数据盘已满,要求将sdb1扩展至450G。先在“物理”上把sdb盘空间扩展至450G;这里只讨论文件系统扩展及分区问题,在没有做lvm的情况下扩展普通分区是件麻烦的事情,好在sdb只有一个分区。1)首先查看硬盘使用情况及文件系统类型]# df -TH /data/ //文件系统类型为ext4http://5b0988e595225.cdn.sohucs.com/images/20200505/3ed402e9bd8b47d9800d8b0da1e24a3d.png2)卸载数据盘]# umount /dev/sdb13)删除sdb上的分区并重新分区;全部保持默认即可,因为分区时默认就是使用硬盘上的所有空间。]# fdisk /dev/sdbCommand (m for help): dSelected partition 1Partition 1 is deletedCommand (m for help): nPartition type:p primary (0 primary, 0 extended, 4 free)e extendedSelect (default p):Using default response pPartition number (1-4, default 1):First sector (2048-943718400, default 2048):Using default value 2048Last sector, +sectors or +size{K,M,G} (2048-943718400, default 943718400):Using default value 943718400Partition 1 of type Linux and of size 450 GiB is set4) 通知系统重读分区表]# partprobe /dev/sdb5)挂载]# mount /dev/sdb1 /data此时]# lsblk可以看到sdb1为450G;但]# df -TH /dev/sdb1看到大小仍为350G,因为前350G的扇区上之前是做过文件系统的,重新分区后新加进来的这100G的扇区上是没有文件系统的,df命令看的是分区的使用情况。6)扩展文件系统;前面查看过之前sdb1的文件系统类型为ext4]# resize2fs /data // xfs文件系统命令则为xfs_growfs;都是将文件系统扩展至物理分区大小;也可以 使用fsadm命令手动调整文件系统大小(这在缩减分区空间时比较有用)。7)再次查看验证分区大小]# df -TH /data/http://5b0988e595225.cdn.sohucs.com/images/20200505/b7ac92ae23544cf0acc5953c448f3429.pngPs:关于第三步,可操作性在于要扩展的分区之后没有其它分区并且有剩余空间可用。每块磁盘的分区信息记录在第0扇区上,传统磁盘单个扇区大小为512byte,前446byte为MBR(主引导记录),446-510为分区表信息,最后2个byte为结束标志位。删除和创建分区都是在修改0扇区的446-510byte之间的64byte信息。http://5b0988e595225.cdn.sohucs.com/images/20200505/3ddd836880974c09bb904598d87cb472.png话虽如此,但破坏前455字节数据(由于sdb上并不存在mbr,455-446=9byte,也就是破坏了分区表信息中的前9个字节)分区表依然完整:)http://5b0988e595225.cdn.sohucs.com/images/20200505/1cd3eb9294484bfb86d3bce676a3f670.png破坏460-446=14byte字节后,分区表读不到了- -,, 这种情况下分区表没了完全没关系,按照第三步重建分区就是。只要不误操作,数据完全没问题;而且分区时默认从2048扇区开始,也就是0扇区之后还预留了2048*512byte=1M的空间。这样看来,在不做lvm的情况下只要分区后有足够的空余空间可用,调整普通分区大小也是可行的。但事无绝对,外加误操作的风险,所以最好还是一开始就要规划好,尽量避免后期麻烦。GoDadly云

路人甲是野百合 发表于 2020-5-6 09:40

硬盘?
页: [1]
查看完整版本: CentOS普通分区扩容和分区表