一、关于MBR分区的扩容
1.1 查看当前虚拟机磁盘容量情况如下
1.2 扩容/dev/sda磁盘容器到2.5T
1.3 对扩容的磁盘/dev/sda进行分区
1.4 对根分区进行扩容
1.4.1 PV的扩容
1.4.2 VG的扩容
1.4.3 LV的扩容
1.5 总结
二、MBR分区转换为GPT分区
2.1. 操作前系统分区结构
2.2. 安装gdisk(MBR转GPT工具)
2.3. MBR转换成GPT步骤
2.3.1 扩容当前分区(避免使用最后33个block)
2.3.2 挂载点卸载
2.3.3 使用命令gdisk转换(MBR到GPT)
2.3.4 转换后扩容使分区容量超过2T
2.3.5 xfs_growfs重新载入扩展的分区
2.4. 总结
三、parted工具说明
3.1 为什么要使用parted工具
3.2 查看系统当前分区情况
3.3 parted命令参数说明
3.4 扩容
3.5 使用fdisk测试
最近客户云平台针对虚拟机进行了几次扩容,根据现场的情况和要求完成了相关虚拟机的扩容。如下扩容的实验主要是为了对之前的操作进行复现,并重新进行归纳和总结
一、关于MBR分区的扩容
实施目的:MBR分区的扩容(MBR分区不能大于2T)
实施要求:提前做好快照和数据备份,数据无价(生产环境一定要谨记)。
1.4.1 查看当前虚拟机磁盘容量情况如下
查看当前/dev/sda容量为64.4G,挂载点情况如下:
[root@disk ~]# fdisk /dev/sda -l磁盘 /dev/sda:64.4 GB, 64424509440 字节,125829120 个扇区Units = 扇区 of 1 * 512 = 512 bytes扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节磁盘标签类型:dos //dos,就是MBR分区类型磁盘标识符:0x000d992e设备 Boot Start End Blocks Id System/dev/sda1 * 2048 2099199 1048576 83 Linux/dev/sda2 2099200 125829119 61864960 8e Linux LVM[root@disk ~]# df -hT文件系统 类型 容量 已用 可用 已用% 挂载点/dev/mapper/centos-root xfs 38G 1.5G 36G 4% //dev/sda1 xfs 1014M 143M 872M 15% /boot/dev/mapper/centos-home xfs 19G 33M 19G 1% /home
1.4.2 扩容/dev/sda磁盘容器到2.5T
模拟生产环境云平台的扩容

进入操作系统可以看到系统层面已经扩容到了2.5T
[root@disk ~]# fdisk -l /dev/sda磁盘 /dev/sda:2684.4 GB, 2684354560000 字节,5242880000 个扇区 //可以看到sda磁盘容器已经扩容成功Units = 扇区 of 1 * 512 = 512 bytes扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节磁盘标签类型:dos磁盘标识符:0x000d992e设备 Boot Start End Blocks Id System/dev/sda1 * 2048 2099199 1048576 83 Linux/dev/sda2 2099200 125829119 61864960 8e Linux LVM
1.4.3 对扩容的磁盘/dev/sda进行分区
说明:
如果没有LVM管理分区,那么上面扩容就已经完成了磁盘扩容,如果需要扩容分区需要借助第三方工具(后面实验)
本实验是LVM管理,可以进行在线扩容,扩容前做好备份和快照
由于当前是MBR分区,只能扩容到2T大小,并需要划分为LVM分区。MBR分区:fdisk -l查看的时候能看到磁盘标签类型为dos,也可以通过命令partprobe -s查看
[root@disk ~]# partprobe -s /dev/sda/dev/sda: msdos partitions 1 2
步骤如下:
[root@disk ~]# fdisk /dev/sdaWARNING: The size of this disk is 2.7 TB (2684354560000 bytes).DOS partition table format can not be used on drives for volumeslarger than (2199023255040 bytes) for 512-byte sectors. Use parted(1) and GUIDpartition table format (GPT). //其实这里已经可以看到警告,磁盘已经大于2T,建议使用parted进行GPT格式分区欢迎使用 fdisk (util-linux 2.23.2)。更改将停留在内存中,直到您决定将更改写入磁盘。使用写入命令前请三思。命令(输入 m 获取帮助):n //创建一个新分区Partition type:p primary (2 primary, 0 extended, 2 free)e extendedSelect (default p): p //创建一个主分区分区号 (3,4,默认 3):起始 扇区 (125829120-4294967295,默认为 125829120):将使用默认值 125829120Last 扇区, +扇区 or +size{K,M,G} (125829120-4294967294,默认为 4294967294):将使用默认值 4294967294分区 3 已设置为 Linux 类型,大小设为 2 TiB //就算你在上面+2.5T,这里也只会设置为2TiB命令(输入 m 获取帮助):t //指定分区system id分区号 (1-3,默认 3):Hex 代码(输入 L 列出所有代码):8e //分区类型更改为lvm已将分区“Linux”的类型更改为“Linux LVM”命令(输入 m 获取帮助):p磁盘 /dev/sda:2684.4 GB, 2684354560000 字节,5242880000 个扇区Units = 扇区 of 1 * 512 = 512 bytes扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节磁盘标签类型:dos磁盘标识符:0x000d992e设备 Boot Start End Blocks Id System/dev/sda1 * 2048 2099199 1048576 83 Linux/dev/sda2 2099200 125829119 61864960 8e Linux LVM/dev/sda3 125829120 4294967294 2084569087+ 8e Linux LVM命令(输入 m 获取帮助):wThe partition table has been altered!Calling ioctl() to re-read partition table.WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.The kernel still uses the old table. The new table will be used atthe next reboot or after you run partprobe(8) or kpartx(8)正在同步磁盘。
可以看到/dev/sda有3个分区,并且都是msdos
[root@disk ~]# partprobe -s/dev/sda: msdos partitions 1 2 3
1.4 对根分区进行扩容
1.4.1 PV的扩容
扩容前状态: 只有/dev/sda2一个pv
[root@disk ~]# pvscanPV /dev/sda2 VG centos lvm2 [<59.00 GiB / 4.00 MiB free]Total: 1 [<59.00 GiB] / in use: 1 [<59.00 GiB] / in no VG: 0 [0 ]
扩容后状态:增加刚刚分区的/dev/sda5
[root@disk ~]# pvcreate /dev/sda3 //增加一个pv sda3Physical volume "/dev/sda3" successfully created.[root@disk ~]# pvscanPV /dev/sda2 VG centos lvm2 [<59.00 GiB / 4.00 MiB free]PV /dev/sda3 lvm2 [1.94 TiB] //新增加的sda3Total: 2 [<2.00 TiB] / in use: 1 [<59.00 GiB] / in no VG: 1 [1.94 TiB]
1.4.2 VG的扩容
扩容前:可以看到vg组名为centos,已经没有剩余空间。
[root@disk ~]# vgdisplay |grep freeFree PE / Size 1 / 4.00 MiB //没有剩余空间
扩容后:可以看到centos的vg已经有剩余空间2T了
[root@disk ~]# vgextend centos /dev/sda3Volume group "centos" successfully extended[root@disk ~]# vgdisplay |grep freeFree PE / Size 508928 / 1.94 TiB //剩余空间2T
1.4.3 LV的扩容
扩容前:可以看到有挂载点的空间大小。下面对/dev/centos/root进行扩容
[root@disk ~]# lvscanACTIVE '/dev/centos/swap' [<3.88 GiB] inheritACTIVE '/dev/centos/home' [18.08 GiB] inheritACTIVE '/dev/centos/root' [<37.04 GiB] inherit
扩容后:可以看到已经扩容到了2T。(但是有<2T是因为这个分区是MBR分区,不能超过2T。
[root@disk ~]# lvextend -L +1.94T /dev/centos/rootRounding size to boundary between physical extents: 1.94 TiB.Size of logical volume centos/root changed from <37.04 GiB (9481 extents) to <1.98 TiB (518041 extents).Logical volume centos/root successfully resized. //给了警告,说分区扩容超过了2T[root@disk ~]# lvscanACTIVE '/dev/centos/swap' [<3.88 GiB] inheritACTIVE '/dev/centos/home' [18.08 GiB] inheritACTIVE '/dev/centos/root' [<1.98 TiB] inherit //给出多余2T,最终因为MBR分区,最多只能识别2T
1.4.5 重新读取分区
注意:
xfs分区重新读取容量是xfs_growfs
ext4分区重新读取容量是resize2fs,也可以通过lvresize -l 1.95T -r /dev/centos/root直接同时操作扩容及刷新操作
[root@disk ~]# xfs_growfs /dev/mapper/centos-rootmeta-data=/dev/mapper/centos-root isize=512 agcount=4, agsize=2427136 blks= sectsz=512 attr=2, projid32bit=1= crc=1 finobt=0 spinodes=0data = bsize=4096 blocks=9708544, imaxpct=25= sunit=0 swidth=0 blksnaming =version 2 bsize=4096 ascii-ci=0 ftype=1log =internal bsize=4096 blocks=4740, version=2= sectsz=512 sunit=0 blks, lazy-count=1realtime =none extsz=4096 blocks=0, rtextents=0data blocks changed from 9708544 to 530473984
可以看到已经扩容到2T了
[root@disk ~]# df -hT文件系统 类型 容量 已用 可用 已用% 挂载点/dev/mapper/centos-root xfs 2.0T 1.5G 2.0T 1% //dev/sda1 xfs 1014M 143M 872M 15% /boot/dev/mapper/centos-home xfs 19G 33M 19G 1% /home
1.5 总结
注意事项:
如果想使用超过2T的分区,请使用gpt分区类型。并使用命令parted。
不建议直接操作现有分区,任务误操作都可能导致数据丢失,提前备份好数据
xfs分区不支持缩容操作,ext4分区支持(但都不建议进行任何缩容操作,数据很容易丢失)
硬件磁盘的扩容:如果是物理服务器Raid扩容
查看raid是否进行了逻辑卷的划分,如果有剩余容量,可以把空间直接扩容到当前raid卷中。
查看raid卡型号是否支持在线把磁盘加入当前raid组。如果只划分了一个raid卷,操作系统能够直接识别剩余容量。如果有多个卷,参照前面说明
二、MBR分区转换为GPT分区
客户现场前期没有规划好,目前容量需要超过2T,那就必须要使用GPT格式了。
实施目的:上一章节中,由于MBR分区不超过2T,需要转换格式扩容支持2T以上操作
实施要求:数据无价,提前备份;不能在现有系统盘做分区转换,会破坏系统(单独硬盘使用的分区,比如客户环境单独使用数据云盘就是一个独立的磁盘分区)。
2.1 当前环境配置情况
如果要在线扩容,要确定是否使用LVM类型
/dev/sdb1 位lvm分区,磁盘标签类型为DOS,并查看挂载点信息和数据。容量20G,扩容到3T
[root@disk ~]# partprobe -s /dev/sda /dev/sdb/dev/sda: msdos partitions 1 2 3 //此为系统盘,不建议在系统盘上进行分区类型转换/dev/sdb: msdos partitions 1 //数据盘[root@disk ~]# df -hT /dev/sdb1文件系统 类型 容量 已用 可用 已用% 挂载点/dev/sdb1 xfs 20G 33M 20G 1% /data//挂载点目录里面的内容如下[root@disk data]# lsfile1 file2 file3 file4 file5
2.2 安装gdisk(MBR转GPT工具)
注意:此工具在大部分场景下都是可以转mbr为gpt的,只要磁盘开头前34个扇区,或最后33个扇区被分区占用的场景不支持。
当前系统硬盘分区时,默认是从2048扇区开始分的,所以一般不会出现前34个扇区被占用,客在阿里云管理平台扩容云盘之后,后33扇区也不存在被占用。所以绝大多数情况下前34后33分区都不会被占用。除非客户主动刻意去占用。
这里可以通过parted /dev/xx --unit--s--p 查看硬盘前34分区有没有被占用。
[root@disk ~]# parted /dev/sdbGNU Parted 3.1使用 /dev/sdbWelcome to GNU Parted! Type 'help' to view a list of commands.(parted) unit //设置默认显示单位Unit? [compact]?% B chs compact cyl GB GiB kB kiB MB MiB s TB TiBUnit? [compact]? s //显示扇区(parted) pModel: VMware, VMware Virtual S (scsi)Disk /dev/sdb: 41943040sSector size (logical/physical): 512B/512BPartition Table: msdosDisk Flags: //可以看到开始扇区2048sNumber Start End Size Type File system 标志1 2048s 41943039s 41940992s primary xfs lvm//fdisk -l 也可以查看[root@disk ~]# fdisk /dev/sdb -l磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区Units = 扇区 of 1 * 512 = 512 bytes扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节磁盘标签类型:dos磁盘标识符:0xdd0cd2de设备 Boot Start End Blocks Id System/dev/sdb1 2048 41943039 20970496 8e Linux LVM
可以看到总共有41943040个扇区,目前分区结构2048-41943039。前面注意说的(前34和后33个扇区都不能被占用),所以后面在进行转换的时候肯定无法进行转换(后面33个被占用了)。后面实验说明。
2.3 MBR转换成GPT步骤
直接使用gdisk /dev/sdb操作如下:
可以看到报错:分区表和最后一个分区重叠,需要保留最后33个block。。所以直接操作现有已经分区转换是行不通的。需要根据提示内容删除这个分区,或者在另一个实用程序中调整它的大小。
[root@disk ~]# gdisk /dev/sdbGPT fdisk (gdisk) version 0.8.10 //当前gdisk版本Partition table scan: //扫描出来的分区格式是MBRMBR: MBR onlyBSD: not presentAPM: not presentGPT: not present***************************************************************Found invalid GPT and valid MBR; converting MBR to GPT formatin memory. THIS OPERATION IS POTENTIALLY DESTRUCTIVE! Exit bytyping 'q' if you don't want to convert your MBR partitionsto GPT format!发现无效GPT和有效MBR;在内存中转换MBR到GPT格式,这个操作具有潜在的破坏性!如果你不想转换你的MBR分区,输入'q'退出GPT格式转换。***************************************************************Warning! Secondary partition table overlaps the last partition by33 blocks!You will need to delete this partition or resize it in another utility.警告!次分区表与最后一个分区重叠33块!您需要删除这个分区,或者在另一个实用程序中调整它的大小。Command (? for help):
2.3.1 扩容当前分区(避免使用最后33个block)
现在进行分区扩容,20G扩容到3T.目的是延长分区后面的block

可以看到操作系统已经识别到了3T
[root@disk ~]# fdisk -l /dev/sdb磁盘 /dev/sdb:3221.2 GB, 3221225472000 字节,6291456000 个扇区 //可以看到总扇区已经变大,最后33个block肯定富余磁盘标签类型:dos磁盘标识符:0xdd0cd2de设备 Boot Start End Blocks Id System/dev/sdb1 2048 41943039 20970496 8e Linux LVM
2.3.2 挂载点卸载
[root@disk ~]# umount /dev/sdb1
2.3.3 使用命令gdisk转换(MBR到GPT)
[root@disk ~]# gdisk /dev/sdbGPT fdisk (gdisk) version 0.8.10Partition table scan:MBR: MBR onlyBSD: not presentAPM: not presentGPT: not present***************************************************************Found invalid GPT and valid MBR; converting MBR to GPT formatin memory. THIS OPERATION IS POTENTIALLY DESTRUCTIVE! Exit bytyping 'q' if you don't want to convert your MBR partitionsto GPT format!***************************************************************//可以看到已经没有之前的33block被占用的警告了Command (? for help): w //将gpt表写入Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTINGPARTITIONS!!最后的检查完成。即将写入GPT数据。这将覆盖现有的分区! !Do you want to proceed? (Y/N): y //是否继续OK; writing new GUID partition table (GPT) to /dev/sdb. //写入新的GPT分区到了/dev/sdbThe operation has completed successfully. //可以看到已经成功
查看转换后的分区标签已经为GPT
[root@disk ~]# partprobe -s /dev/sdb/dev/sdb: gpt partitions 1
2.3.4 转换后扩容使分区容量超过2T
需要使用parted删除之前的sdb1,并重新创建sdb1
为什么执行删除这一步?这一步其实就是扩容了,因为需要扩容/dev/sdb1这个分区超过2T,如果不扩容,这一步可忽略,后面会有更详细实验。(请注意这里面一定要记住start sector的大小2048,新创建的也必须从这个节点开始,否则数据将全部丢失)
[root@disk ~]# parted /dev/sdbGNU Parted 3.1使用 /dev/sdbWelcome to GNU Parted! Type 'help' to view a list of commands.(parted) unit s //以扇区为单位显示(parted) pModel: VMware, VMware Virtual S (scsi)Disk /dev/sdb: 6291456000sSector size (logical/physical): 512B/512BPartition Table: gptDisk Flags: //记住start的大小Number Start End Size File system Name 标志1 2048s 41943039s 41940992s xfs Linux LVM lvm(parted) rm 1 //删除编号1的分区(parted) p //再次查看,确定已经删除Model: VMware, VMware Virtual S (scsi)Disk /dev/sdb: 6291456000sSector size (logical/physical): 512B/512BPartition Table: gptDisk Flags:Number Start End Size File system Name 标志(parted) mkpart //创建分区分区名称?[]? xfs //名字随便写,就是查看的时候name的名字文件系统类型?[ext2]? xfs //文件系统类型xfs起始点?2048 //注意这里一定要和查询出来的start一致结束点?100% //后面所有空间全部给此分区(parted) w信息: You may need to update /etc/fstab.
2.3.5 xfs_growfs重新载入扩展的分区
如果是ext分区类型,则需要e2fsck -yt /dev/sdb1检查,然后在进行resize2fs /dev/sdb1重载容量
[root@disk ~]# xfs_growfs /dev/sdb1xfs_growfs: /dev/sdb1 is not a mounted XFS filesystem//挂载一下挂载点[root@disk ~]# mount /dev/sdb1 /data///查看下当前/data容量[root@disk /]# df -hT |grep sdb1文件系统 类型 容量 已用 可用 已用% 挂载点/dev/sdb1 xfs 20G 33M 20G 1% /data//重载刷新[root@disk /]# xfs_growfs /data/meta-data=/dev/sdb1 isize=512 agcount=4, agsize=1310656 blks= sectsz=512 attr=2, projid32bit=1= crc=1 finobt=0 spinodes=0data = bsize=4096 blocks=5242624, imaxpct=25= sunit=0 swidth=0 blksnaming =version 2 bsize=4096 ascii-ci=0 ftype=1log =internal bsize=4096 blocks=2560, version=2= sectsz=512 sunit=0 blks, lazy-count=1realtime =none extsz=4096 blocks=0, rtextents=0data blocks changed from 5242624 to 786431488
可以看到挂载点容量从20G扩容到了3T(这里只是测试环境,真实环境依然如此),数据也没有丢失
[root@disk /]# df -hT |grep /dev/sdb1/dev/sdb1 xfs 3.0T 51M 3.0T 1% /data[root@disk /]# ll /data/总用量 0-rw-r--r-- 1 root root 0 8月 22 13:44 file1-rw-r--r-- 1 root root 0 8月 22 13:44 file2-rw-r--r-- 1 root root 0 8月 22 13:44 file3-rw-r--r-- 1 root root 0 8月 22 13:44 file4-rw-r--r-- 1 root root 0 8月 22 13:44 file5
至此,分区扩容成功,且MBR转换GPT成功。
2.4 总结
需要扩容的分区属于的磁盘一定要是和系统盘分离。这也是云环境要求的系统盘和数据盘隔离的原因之一。方便扩容。
如果扩容的磁盘只有一个分区,可以不使用LVM管理。如果有多个分区,为其中一个分区扩容,一定要使用LVM,前期一定要规划好。
操作前一定要备份好数据或在云管理平台上面做好快照
在扩容中,最重要的一点是一定要记住start起始点和end结束点的位置(扩容或者转换的关键)
三、parted工具说明
前面实验中已有对parted分区进行扩容做了实验,这一章节,进行进一步说明
3.1 为什么要使用parted扩容>2T磁盘
[root@disk ~]# fdisk -l /dev/sdbWARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.警告:fdisk GPT支持目前是新的,因此还处于试验阶段。请自行使用。
3.2 查看系统当前分区情况
[root@disk data]# fdisk -l /dev/sdbWARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.磁盘 /dev/sdb:3221.2 GB, 3221225472000 字节,6291456000 个扇区Units = 扇区 of 1 * 512 = 512 bytes扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节磁盘标签类型:gptDisk identifier: 59BE37DB-D8D9-4E1C-93CE-FE3211088057# Start End Size Type Name1 2048 3145727999 1.5T Microsoft basic test//查看挂载点/data的大小[root@disk ~]# df -hT|grep /data/dev/sdb1 xfs 1.5T 33M 1.5T 1% /data//查看目录里面的数据[root@disk ~]# ls /data/test1 test2 test3 test4 test5
3.3 parted分区命令参数
3.4 扩容
使用parted命令扩容分区,注意必须确认扇区大小,且保持一致,否则数据将丢失,使用这个命令扩容风险很大,提前备份数据。
当前/dev/sdb是3T的盘,分区容量1.5T,扩容到2T左右
1)卸载挂载点[root@disk /]# umount /data/2)开始扩容[root@disk /]# parted /dev/sdbGNU Parted 3.1使用 /dev/sdbWelcome to GNU Parted! Type 'help' to view a list of commands.(parted) unit s //以可读的单位显示,这里显示扇区大小(parted) pModel: VMware, VMware Virtual S (scsi)Disk /dev/sdb: 6291456000sSector size (logical/physical): 512B/512BPartition Table: gptDisk Flags: //记住使用的是2048Number Start End Size File system Name 标志1 2048s 3145727999s 3145725952s xfs test(parted) rm 1(parted) mkpart分区名称?[]? test文件系统类型?[ext2]? xfs起始点?2048结束点?75% //扩容到剩余空间的75%,一定要大于end的位置(parted) pModel: VMware, VMware Virtual S (scsi)Disk /dev/sdb: 6291456000sSector size (logical/physical): 512B/512BPartition Table: gptDisk Flags:Number Start End Size File system Name 标志1 2048s 4718591999s 4718589952s xfs test(parted) unit GB(parted) pModel: VMware, VMware Virtual S (scsi)Disk /dev/sdb: 3221GBSector size (logical/physical): 512B/512BPartition Table: gptDisk Flags:Number Start End Size File system Name 标志 //看到了,如果unit不转换,start哪里根本看不出大小,差不多扩容到2.5T了1 0.00GB 2416GB 2416GB xfs test(parted) quit信息: You may need to update /etc,/fstab.3)挂载,然后重新刷新容量[root@disk /]# mount /dev/sdb1 /data[root@disk /]# xfs_growfs /dev/sdb1meta-data=/dev/sdb1 isize=512 agcount=4, agsize=98303936 blks= sectsz=512 attr=2, projid32bit=1= crc=1 finobt=0 spinodes=0data = bsize=4096 blocks=393215744, imaxpct=5= sunit=0 swidth=0 blksnaming =version 2 bsize=4096 ascii-ci=0 ftype=1log =internal bsize=4096 blocks=191999, version=2= sectsz=512 sunit=0 blks, lazy-count=1realtime =none extsz=4096 blocks=0, rtextents=0data blocks changed from 393215744 to 5898237444)确定大小,已经扩容成功[root@disk /]# df -hT|grep /dev/sdb1/dev/sdb1 xfs 2.2T 33M 2.2T 1% /data5)确定数据是否还在[root@disk /]# ls /data/test1 test2 test3 test4 test5
3.5 使用fdisk测试
前面说fdisk不建议用来操作大于2T的空间,因为还处于试验阶段不建议使用,这里测试下fdisk的扩容。(生产环境中不建议,还是建议使用parted)
操作步骤和parted命令使用方式一样,先删除,在创建。
这里用fdisk扩容大于2T磁盘的空间,2.2T扩容到2.5T左右。
实验中还是有bug,不能使用单位T。
1)卸载挂载点[root@disk /]# umount /dev/sdb12)开始扩容[root@disk /]# fdisk /dev/sdbWARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.欢迎使用 fdisk (util-linux 2.23.2)。更改将停留在内存中,直到您决定将更改写入磁盘。使用写入命令前请三思。命令(输入 m 获取帮助):p磁盘 /dev/sdb:3221.2 GB, 3221225472000 字节,6291456000 个扇区Units = 扇区 of 1 * 512 = 512 bytes扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节磁盘标签类型:gptDisk identifier: 59BE37DB-D8D9-4E1C-93CE-FE3211088057# Start End Size Type Name1 2048 4718591999 2.2T Microsoft basic test命令(输入 m 获取帮助):d 1 //删除分区1已选择分区 1分区 1 已删除命令(输入 m 获取帮助):n //创建一个新分区分区号 (1-128,默认 1):第一个扇区 (34-6291455966,默认 2048):Last sector, +sectors or +size{K,M,G,T,P} (2048-6291455966,默认 6291455966):+2.5T //这T不管用Last sector, +sectors or +size{K,M,G,T,P} (2048-6291455966,默认 6291455966):+2.6T //这T不管用,连续使用了两次,都没生效,说明这个操作2T以上还是有bugLast sector, +sectors or +size{K,M,G,T,P} (2048-6291455966,默认 6291455966):+2500G //直接用G单位,可以了。。已创建分区 1命令(输入 m 获取帮助):p磁盘 /dev/sdb:3221.2 GB, 3221225472000 字节,6291456000 个扇区Units = 扇区 of 1 * 512 = 512 bytes扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节磁盘标签类型:gptDisk identifier: 59BE37DB-D8D9-4E1C-93CE-FE3211088057# Start End Size Type Name1 2048 5242882047 2.5T Linux filesyste命令(输入 m 获取帮助):wThe partition table has been altered!Calling ioctl() to re-read partition table.正在同步磁盘。3)重新挂载,重新载入磁盘容量[root@disk /]# mount /dev/sdb1 /data[root@disk /]# xfs_growfs /dev/sdb1meta-data=/dev/sdb1 isize=512 agcount=7, agsize=98303936 blks= sectsz=512 attr=2, projid32bit=1= crc=1 finobt=0 spinodes=0data = bsize=4096 blocks=589823744, imaxpct=5= sunit=0 swidth=0 blksnaming =version 2 bsize=4096 ascii-ci=0 ftype=1log =internal bsize=4096 blocks=191999, version=2= sectsz=512 sunit=0 blks, lazy-count=1realtime =none extsz=4096 blocks=0, rtextents=0data blocks changed from 589823744 to 655360000//可以看到已经扩容成功[root@disk /]# df -hT |grep /dev/sdb1/dev/sdb1 xfs 2.5T 33M 2.5T 1% /data4)数据还在[root@disk /]# ls /data/test1 test2 test3 test4 test5




