ext4文件系统扩容

先在新服务器上面扫描磁盘,不然无法显示新的磁盘,下面是两种扫描方式,选任意一种就可以

1
2
3
4
5
6
7
8
9
10
#方法1
for i in {1..9};do echo "- - -" > /sys/class/scsi_host/host$i/scan;done
#方法2,下载sg3-utils,然后执行rescan-scsi-bus.sh -a 就可以扫描本机所有磁盘
apt install sg3-utils
rescan-scsi-bus.sh -a
这个时候就可以查看宿主机磁盘是否添加成功,可以看到sda总容量是500G
root@cootekubuntu:~# fdisk -l 'grep /dev/sd
Disk /dev/sda: 500 GiB, 53687091200 bytes, 104857600 sectors
/dev/sda1 2048 4095 2048 1M BIOS boot
/dev/sda2 4096 20975615 20971520 10G Linux filesystem

步骤一:做好备份

  • 如果是较为重要的数据最好提前做好备份,ECS服务器的话做个快照

    1. 登录ECS管理控制台。

    2. 在左侧导航栏,选择实例与镜像 > 实例。

    3. 在顶部菜单栏左上角处,选择地域。

    4. 找到需要扩容云盘的实例,单击实例ID。

    5. 在实例详情页,单击云盘页签。

    6. 找到需要扩容的云盘,在操作列单击创建快照。

    7. 在弹出的对话框中,输入快照名称,并按需绑定标签后,单击创建。

    8. 单击快照页签,查看已创建的快照。

    9. 当快照的进度为100%时,表示快照创建完成,您可以执行后续操作

    步骤二:在控制台扩容云盘容量

    1、 在实例详情页,单击云盘页签。
    2、选择需要扩容的云盘,在操作列单击更多 > 云盘扩容。 如果需要批量扩容多个云盘,请使用阿里云账号在存储与快照 > 云盘页面选择多个云盘后,单击底部的云盘扩容。挂载在同一ECS实例下的云盘不支持批量扩容功能。

3、在磁盘扩容页面,选中在线扩容,并设置扩容后容量。设置的扩容后容量不允许小于当前容量。

img

#### 步骤三:扩容分区

先查看文件系统大小  df -TH (其中,Mounted on列为文件系统对应的挂载点。)
  • 扩容分区

    #如果您的分区为GPT格式,必须执行此步骤;如果您的分区为MBR格式,请跳过此步骤。
    yum install gdisk -y
    #Debian 8及以上版本、Ubuntu14及以上版本运行以下命令。此示例以扩容系统盘为例,/dev/vda和1之间需要空格分隔。如果需要扩容其他分区,请根据实际情况修改命令。
    apt-get update && apt-get install -y cloud-guest-utils
    #运行以下命令扩容分区。
    growpart /dev/vda 1

    步骤四:扩容文件系统

    扩容ext*(例如ext4)文件系统:运行以下命令扩容文件系统。/dev/vda根据实际情况修改。

    resize2fs /dev/sda2
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    扩容xfs文件系统:运行以下命令扩容数据盘/dev/vdc1的文件系统。
    ​```shell
    xfs_growfs /media/vdc

    扩容btrfs文件系统:如果您的数据盘文件系统为btrfs,则需要运行以下命令扩容文件系统。

    btrfs filesystem resize max /mountpoint

    最后再运行 df -TH 检测文件是否扩容成功
  • 如果扩容成功,ECS实例中的业务程序能够正常运行,则完成操作。

  • 如果扩容失败,则通过备份的快照回滚数据

具体详情到以下网址参考

https://help.aliyun.com/document_detail/113316.htm?spm=a2c4g.11186623.0.0.53f36ee1yIaSAE#section-cqo-5zn-ine

lvm_xfs文件系统扩容参考

  要建立LVM,首先需要为LVM准备磁盘或者分区。如果使用磁盘分区作为物理卷的话,需要将分区标识为"Linux LVM",其分区ID为"0x8e",接下来我为大家演示一下配置的过程和分区的在线扩容。 

1、添加磁盘,进入linux服务器使用fdisk -l 可以显示总容量
2、查看系统盘的分区类型然后分区,最后记得输入q不保存退出,w保存
fdisk /dev/sdb
Command (m for help): t   //变更分区的类型
Hex code (type L to list all codes): 8e    //输入8e即"Linux LVM"
w保存退出
3、刚分的区不生效使用  partprobe立即生效,如果没有就下载,然后执行(partprobe)
ll /dev/sdb1 查看刚才的分区是否生效

4、 让新添加的硬盘分区支持LVM技术
[root@linuxprobe ~]# pvcreate /dev/sdb1
  Physical volume "/dev/sdb1" successfully created

5、 查看当前系统的卷组,并将/dev/sdb1硬盘分区加入到卷组中
[root@linuxprobe ~]# vgdisplay 
  --- Volume group ---
  VG Name               rhel    //卷组名为"rhel"
  VG Size               19.51 GiB     //卷组的总容量大小

[root@linuxprobe ~]# vgextend rhel /dev/sdb1         //把/dev/sdb1硬盘分区加入到rhel卷组中  
    Volume group "rhel" successfully extended

[root@linuxprobe ~]# vgdisplay   
  VG Size               29.50 GiB      //卷组的容量增大了10GB
   Free  PE / Size       2559 / 10.00 GiB      //记住空闲PE的数量,后面需要用到

6、查看逻辑卷的详细信息
[root@linuxprobe ~]# lvdisplay 
  LV Path                /dev/rhel/root   //该逻辑卷实际就是Linux系统盘,我们将对它进行扩容
  LV Name                root     //逻辑卷名为root
  LV Size                17.51 GiB   //逻辑卷的大小,即系统盘大小
7、对root逻辑卷进行扩容操作
[root@linuxprobe ~]# lvextend -L +10G /dev/rhel/root    
  Extending logical volume root to 27.51 GiB
  Insufficient free space: 2560 extents needed, but only 2559 available   //显示实际空闲容量不足10GB,比10GB稍微小一点点
[root@linuxprobe ~]# lvextend -l +2559 /dev/rhel/root    //这里改用 -l参数 进行扩容
  Extending logical volume root to 27.50 GiB
  Logical volume root successfully resized
8、重置root逻辑卷的大小、先查看分区是gpt还是MBR
fdisk -l'grep type  && df -TH
[root@OAserverBAK ~]# xfs_growfs /dev/ol/home
$然后再使用df -TH 查看文件系统大小,这个时候就可以看到扩容已经完成