A-A+

centos系统下azure磁盘30G扩容到64G出现unexpected output in sfdisk

2023年07月10日 VPS评价 等您评论

前情提要

今天 VPS全科网【http://vpsqk.com】看了一眼白嫖的azure磁盘,df命令看了一下竟然是30GB的,64GB的配置完全没有利用起来啊。
根据官方的说法centos系统才会这样,sda2默认为 30 GB。
所以找了官方文档折腾了一下,终于扩展成功,分享一下。

步骤

1、切换到root用户,已经是root的话跳过

sudo -i

2、安装改磁盘工具,下面命令在 RHEL/CentOS 8.x VM 中,可以使用 dnf 命令而不是 yum

yum install cloud-utils-growpart gdisk

3、使用 lsblk-f 命令验证保存根 (/) 分区的分区和文件系统类型

lsblk -f

输出以下内容

NAME    FSTYPE LABEL UUID                                 MOUNTPOINT
sda                                                       
├─sda1  xfs          ea0c7704-d979-41cb-a6c5-1a7f89bf34df /boot
├─sda2  xfs          4201704f-772c-4577-bdbf-237d36a41492 /
├─sda14                                                   
└─sda15 vfat         F90B-D359                            /boot/efi
sdb                                                       
└─sdb1  ext4         70f4a7c6-8509-40db-8aae-804492eb1755 /mnt/resource
sr0

4、修改前验证一下根目录磁盘大小,这一步就能看到现在的磁盘大小是30GB

gdisk -l /dev/sda

显示如下

GPT fdisk (gdisk) version 0.8.10

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.
Disk /dev/sda: 134217728 sectors, 64.0 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 441F7D17-DCD5-4447-93EE-296474AEA8C8
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 62914526
Partitions will be aligned on 2048-sector boundaries
Total free space is 6076 sectors (3.0 MiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1         1026048         2050047   500.0 MiB   0700  
   2         2050048        62912511   29.0 GiB    0700  
  14            2048           10239   4.0 MiB     EF02  
  15           10240         1024000   495.0 MiB   EF00  EFI System Partition

5、使用 growpart 命令扩展根的分区(在本例中为 sda2分区,一般都是这个分区)。 使用此命令可扩展分区以使用磁盘上的所有连续空间

growpart /dev/sda 2

修改成功会显示如下提示

CHANGED: partition=2 start=2050048 old: size=60862464 end=62912512 new: size=132167646 end=134217694

如果提示下面的报错,看最后的解决方法

unexpected output in sfdisk --version [sfdisk,来自 util-linux 2.23.2]

6、使用 xfs_growfs 扩展分区上的文件系统,此命令适用于标准市场生成的 RedHat 系统

xfs_growfs /

提交成功,显示如下

meta-data=/dev/sda2              isize=512    agcount=4, agsize=1901952 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=7607808, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=3714, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 7607808 to 16520955

7、至此已经完成扩容磁盘,使用df命令查看一下/dev/sda2扩容成功

df -hl

输出:

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2        64G  1.6G   62G   3% /
devtmpfs        429M     0  429M   0% /dev
tmpfs           439M     0  439M   0% /dev/shm
tmpfs           439M  5.8M  434M   2% /run
tmpfs           439M     0  439M   0% /sys/fs/cgroup
/dev/sda1       497M   79M  418M  16% /boot
/dev/sda15      495M  9.9M  485M   2% /boot/efi
/dev/sdb1       3.9G   16M  3.7G   1% /mnt/resource
tmpfs            88M     0   88M   0% /run/user/0

报错解决

unexpected output in sfdisk报错
此报错是因为服务器当前的语言(编码)类型不兼容导致的
1、查看当前编码

echo $LANG

输出:

zh_CN.UTF-8

2、修改语言

export LANG=en_US.UTF-8export LANG=en_US.UTF-8
echo $LANG

输出:

en_US.UTF-8

3、重新执行命令growpart /dev/sda 2,就可以继续执行步骤操作了。

给我留言