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