云盘扩容

ZStack Cloud支持云盘扩容,包括云平台扩容云盘以及云主机操作系统硬盘扩容两个步骤。

云平台扩容云盘

云盘管理界面,选择目标云盘,点击更多操作 > 云盘扩容,弹出云盘扩容界面。可按需进行云盘扩容。
Note:
  • 新容量必须大于当前容量,且增量不得小于4MB。
  • 新容量必须为4MB的倍数,例如填写新容量为37MB,实际扩容到40MB。
Figure 1所示:
Figure 1. 云平台扩容云盘


云主机内部扩容云盘

针对不同类型、不同分区、不同文件系统的云主机,扩容方式均不相同。
Note:
  • 扩容存在风险。安全的扩容方式是对扩容的新容量,规划新的分区。
  • 扩容只能增加容量,不能减少容量。
  • 扩容增加的容量可以合并到最后一个分区,将其连续使用。

以下分三种不同的应用场景来介绍:

  1. 使用resize2fs命令扩容ext4分区实例。
    Note: 调整分区时需谨慎操作,建议操作前对重要数据备份,防止数据丢失。

    假定云主机操作系统为CentOS7,ext4分区与云盘容量均为60G,在云平台将云盘从60G扩容至100G后,打算将新增容量扩容至ext4分区。

    操作步骤如下:
    1. 使用lsblk命令查看当前分区容量,可见扩容后的容量未增加到磁盘分区中。
      [root@10-0-18-185 ~]# lsblk
      NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
      vda      8:0    0   60G  0 disk 
      └─vda1   8:1    0   60G  0 part /
      sr0     11:0    1 1024M  0 rom  
      sda    253:0    0    100G  0 disk 
      └─sda1 253:1    0    60G  0 part /data
    2. 使用fdisk /dev/sda命令重建分区。
      Note: 新建分区的起始sector需与原磁盘保持一致,否则可能造成数据丢失。
      [root@10-0-18-185 ~]# fdisk /dev/sda
      Welcome to fdisk (util-linux 2.23.2).
      
      Changes will remain in memory only, until you decide to write them.
      Be careful before using the write command.
      
      
      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):    #选择新分区Partition number为1
      First sector (2048-209715199, default 2048):    #设置新分区起始sector,需与原磁盘保持一致,否则可能造成数据丢失。
      Using default value 2048
      Last sector, +sectors or +size{K,M,G} (2048-209715199, default 209715199):    #使用默认值作为新分区结束sector,将全部磁盘空间分配给新分区
      Using default value 209715199
      Partition 1 of type Linux and of size 100 GiB is set
      
      Command (m for help): w    #将以上配置写入磁盘
      The partition table has been altered!
      
      Calling ioctl() to re-read partition table.
      
      WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
      The kernel still uses the old table. The new table will be used at
      the next reboot or after you run partprobe(8) or kpartx(8)
      Syncing disks.
    3. 使用partprobe命令重新读取分区表。
      [root@10-0-18-185 ~]# partprobe
    4. 使用e2fsck -f /dev/sda1命令检查文件系统分区是否正常工作。
      [root@10-0-18-185 ~]# e2fsck -f /dev/sda1
      e2fsck 1.42.9 (28-Dec-2013)
      Pass 1: Checking inodes, blocks, and sizes
      Pass 2: Checking directory structure
      Pass 3: Checking directory connectivity
      Pass 4: Checking reference counts
      Pass 5: Checking group summary information
      /dev/sda1: 12/2621440 files (0.0% non-contiguous), 209591/10485504 blocks
    5. 使用resize2fs命令使xfs文件系统识别新容量。
      [root@10-0-18-185 ~]# resize2fs /dev/sda1
      resize2fs 1.42.9 (28-Dec-2013)
      Resizing the filesystem on /dev/sda1 to 26214144 (4k) blocks.
      The filesystem on /dev/sda1 is now 26214144 blocks long.
    6. 使用lsblk命令查看当前分区容量。
      [root@10-0-18-185 ~]# lsblk
      NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
      sda      8:0    0  100G  0 disk
      └─sda1   8:1    0  100G  0 part /data
      sr0     11:0    1 1024M  0 rom
      vda    253:0    0    60G  0 disk
      └─vda1 253:1    0    60G  0 part /
  2. 使用xfs_growfs命令扩容xfs分区实例。
    Note:
    • 此方式适用于xfs分区动态扩容,无须挂载ISO或使用LVM分区工具管理磁盘。
    • 扩容分区有一定风险,建议操作前对重要数据备份。

    假定云主机操作系统为CentOS7,xfs分区与云盘容量均为60G,xfs分区挂载点为/data,在云平台将云盘总容量从60G扩容至100G后,打算将新增容量扩容至xfs分区。

    云主机内操作步骤如下:
    1. 使用lsblk命令查看当前分区容量,可见扩容后的容量未增加到磁盘分区中。
      [root@10-0-44-210 ~]# lsblk
      NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
      vda      8:0    0   50G  0 disk 
      └─vda1   8:1    0   50G  0 part /
      sr0     11:0    1 1024M  0 rom  
      sdb    253:0    0    100G  0 disk 
      └─sdb1 253:1    0    60G  0 part /data
    2. 卸载挂载点。
      partprobe命令执行前需确保改动分区无占用,使用umount /data命令卸载/dev/sdb1分区的挂载。
      [root@10-0-44-210 ~]# umount /data
    3. 使用fdisk /dev/sdb命令重建分区。
      Note: 新建分区的起始sector需与原磁盘保持一致,否则可能造成数据丢失。
      [root@10-0-44-210 ~]# fdisk /dev/sdb
      Welcome to fdisk (util-linux 2.23.2).
      
      Changes will remain in memory only, until you decide to write them.
      Be careful before using the write command.
      
      
      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):    #选择新分区Partition number为1
      First sector (2048-209715199, default 2048):    #设置新分区起始sector,需与原磁盘保持一致,否则可能造成数据丢失。
      Using default value 2048
      Last sector, +sectors or +size{K,M,G} (2048-209715199, default 209715199):    #使用默认值作为新分区结束sector,将全部磁盘空间分配给新分区
      Using default value 209715199
      Partition 1 of type Linux and of size 100 GiB is set
      
      Command (m for help): w    #将以上配置写入磁盘
      The partition table has been altered!
      
      Calling ioctl() to re-read partition table.
      
      WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
      The kernel still uses the old table. The new table will be used at
      the next reboot or after you run partprobe(8) or kpartx(8)
      Syncing disks.
    4. 使用partprobe命令重新读取分区表。
      [root@10-0-44-210 ~]# partprobe
    5. 使用mount /dev/sdb1 /data命令重新挂载分区至/data挂载点。
      [root@10-0-44-210 ~]# mount /dev/sdb1 /data
    6. 使用xfs_growfs /dev/sdb1命令使xfs文件系统识别新容量。
      [root@10-0-44-210 ~]# xfs_growfs /dev/sdb1
      meta-data=/dev/sdb1              isize=512    agcount=7, agsize=3932096 blks
               =                       sectsz=512   attr=2, projid32bit=1
               =                       crc=1        finobt=0 spinodes=0
      data     =                       bsize=4096   blocks=26214144, imaxpct=25
               =                       sunit=0      swidth=0 blks
      naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
      log      =internal               bsize=4096   blocks=7679, version=2
               =                       sectsz=512   sunit=0 blks, lazy-count=1
      realtime =none                   extsz=4096   blocks=0, rtextents=0
      data blocks changed from 16214144 to 28835584
    7. 使用lsblk命令查看当前分区容量。
      [root@10-0-44-210 ~]# lsblk
      NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
      sdb      8:16   0  100G  0 disk
      └─sdb1   8:17   0  100G  0 part /data
      sr0     11:0    1 1024M  0 rom
      vda    253:0    0    50G  0 disk
      └─vda1 253:1    0    50G  0 part /
  3. Windows分区扩容实例
    Windows分区可以在磁盘管理界面直接进行磁盘扩容。
    Note: Windows在线扩容后需重新扫描磁盘。
    Figure 2所示:
    Figure 2. 重新扫描磁盘