专属分布式存储服务 DSS-Linux磁盘扩容后处理(parted):替换原有分区

时间:2024-06-25 09:32:15

替换原有分区

本操作以该场景为例,云服务器上已挂载两块磁盘,磁盘“/dev/xvdc”有1个分区,其中分区“/dev/xvdc1”已挂载至“/mnt/sdc”目录下,现在需要替换原有分区“/dev/xvdc1”,由于只有一个分区,因此该分区也算作末尾分区。将新增容量加到该分区内,此时需要中断业务。

扩容后的新增空间是添加在磁盘末尾的,对具有多个分区的磁盘扩容时,只支持替换排在末尾的分区。

  1. 执行以下命令,查看磁盘的分区信息。

    lsblk

    回显类似如下信息:
    [root@ecs-1120 sdc]# lsblk
    NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    xvda    202:0    0   80G  0 disk 
    ├─xvda1 202:1    0   40G  0 part /
    └─xvda2 202:2    0   40G  0 part /opt
    xvdb    202:16   0  350G  0 disk 
    ├─xvdb1 202:17   0  100G  0 part 
    └─xvdb2 202:18   0  200G  0 part
    xvdc    202:32   0   60G  0 disk 
    └─xvdc1 202:33   0    10G  0 part /mnt/sdc

    表示当前数据盘“/dev/xvdc”总容量为60 GB,已分配分区的容量为10 GB,其中末尾分区为“/dev/xvdc1”,为已挂载至“/mnt/sdc”目录下。

    查看回显中磁盘“/dev/xvdc”的容量,扩容的容量是否已经包含在容量总和中。
    • 若扩容的容量未在磁盘容量总和中,请参考Linux S CS I数据盘扩容后处理(fdisk)章节刷新系统内容量。
    • 若扩容的容量已在磁盘容量总和中,请执行2

  2. 执行以下命令,卸载磁盘分区。

    umount /mnt/sdc

  3. 执行以下命令,查看“/dev/xvdc”分区的卸载结果。

    lsblk

    回显类似如下信息:
    [root@ecs-1120 linux]# umount /mnt/sdc
    [root@ecs-1120 linux]# lsblk
    NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    xvda    202:0    0   80G  0 disk 
    ├─xvda1 202:1    0   40G  0 part /
    └─xvda2 202:2    0   40G  0 part /opt
    xvdb    202:16   0  350G  0 disk 
    ├─xvdb1 202:17   0  100G  0 part 
    └─xvdb2 202:18   0  200G  0 part
    xvdc    202:32   0   60G  0 disk 
    └─xvdc1 202:33   0    10G  0 part

  4. 执行以下命令,进入parted分区工具,开始对数据盘的新扩容空间分配分区。

    parted 数据盘

    以“/dev/xvdc”为例:

    parted /dev/xvdc

    回显类似如下信息:
    [root@ecs-1120 linux]# parted /dev/xvdc
    GNU Parted 3.1
    Using /dev/xvdc
    Welcome to GNU Parted! Type 'help' to view a list of commands.

  5. 输入“unit s”,按“Enter”,设置磁盘的计量单位为磁柱。
  6. 以新增一个主分区为例,输入“p”,按“Enter”。

    回显类似如下信息:

    (parted) mkpart
    Partition type?  primary/extended? p
    File system type?  [ext2]? ext4                                   
    Start? 83886080
    End? 1677722159         

  7. 删除待替换的末尾分区“/dev/xvdc1”,分区编号为“1”,输入“rm 1”,按“Enter”。
  8. 输入“p”,按“Enter”,查看当前“/dev/xvdc1”分区是否删除成功。

    回显类似如下信息:
    (parted) rm 1
    (parted) p                                                                
    Model: Xen Virtual Block Device (xvd)
    Disk /dev/xvdc: 125829120s
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt
    Disk Flags: 
    
    Number  Start  End         Size        File system  Name  Flags

  9. 重新进行分区,输入“mkpart opt 2048s 125829119”,按“Enter”。

    2048”为6中记录的初始磁柱值,“125829119”表示截止磁柱值,应该大于等于6中记录的截止磁柱值。

    回显类似如下信息:
    (parted) mkpart opt 2048s 125829119s
    Warning: You requested a partition from 2048s to 125829199s (sectors 2048..125829199).
    The closest location we can manage is 2048s to 125829036s (sectors 2048..125829036).
    Is this still acceptable to you?
    Yes/No? Yes

    根据系统提示输入“Yes”,设置截止磁柱值。

    若出现以下性能优化提示,请输入“Ignore”,忽视即可。如果已经是最佳性能,则不会出现该提示,本操作中性能最佳的初始磁柱值即为2048s,因此系统没有该提示。
    Warning: The resulting partition is not properly aligned for best performance.
    Ignore/Cancel? Ignore  
    以下操作会导致数据丢失:
    • 选择的初始磁柱值与原分区的不一致。
    • 选择的截止磁柱值小于原分区的值。

  10. 输入“p”,按“Enter”,查看当前“/dev/xvdc1”分区是否替换成功。

    回显类似如下信息:
    (parted) p                                                                
    Model: Xen Virtual Block Device (xvd)
    Disk /dev/xvdb: 125829120s
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt
    Disk Flags: 
    
    Number  Start       End         Size        File system  Name  Flags
     1      2048s       125829086s  125827039s  ext4         opt

    表示“/dev/xvdc1”分区替换成功。

  11. 输入“q”,按“Enter”,退出parted分区工具。
  12. 根据磁盘的文件系统,分别执行以下操作。

    • 若磁盘文件系统为ext3或ext4,请执行以下步骤。
      1. 执行以下命令,检查“/dev/xvdc1”文件系统的正确性。

        e2fsck -f /dev/xvdc1

        回显类似如下信息:
        [root@ecs-1120 linux]# e2fsck -f /dev/xvdc1
        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/xvdc1: 11/655360 files (0.0% non-contiguous), 83137/2620928 blocks
      2. 执行以下命令,扩展“/dev/xvdc1”文件系统的大小。

        resize2fs /dev/xvdc1

        回显类似如下信息:
        [root@ecs-1120 linux]# resize2fs /dev/xvdc1
        resize2fs 1.42.9 (28-Dec-2013)
        Resizing the filesystem on /dev/xvdc1 to 15728379 (4k) blocks.
        The filesystem on /dev/xvdc1 is now 15728379 blocks long.
      3. 执行以下命令,查看替换分区后数据盘的情况。

        lsblk

        回显类似如下信息:
        [root@ecs-1120 linux]# lsblk
        NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
        NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
        xvda    202:0    0   80G  0 disk 
        ├─xvda1 202:1    0   40G  0 part /
        └─xvda2 202:2    0   40G  0 part /opt
        xvdb    202:16   0  350G  0 disk 
        ├─xvdb1 202:17   0  100G  0 part 
        └─xvdb2 202:18   0  200G  0 part
        xvdc    202:32   0   60G  0 disk 
        └─xvdc1 202:33   0    60G  0 part

        表示当前“/dev/xvdc”总容量为60 GB,新增的50GB已经划分在“/dev/xvdc1”分区内。

      4. 执行以下命令,将新建分区挂载到“/mnt/sdc”目录下。

        mount /dev/xvdc1 /mnt/sdc

    • 若磁盘文件系统为xfs,请执行以下步骤。
      1. 执行以下命令,将新建分区挂载到“/mnt/sdc”目录下。

        mount /dev/xvdc1 /mnt/sdc

      2. 执行以下命令,扩展“/dev/xvdc1”文件系统的大小。

        sudo xfs_growfs /dev/xvdc1

      3. 执行以下命令,查看替换分区后数据盘的情况。

        lsblk

        回显类似如下信息:
        [root@ecs-1120 linux]# lsblk
        NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
        NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
        xvda    202:0    0   80G  0 disk 
        ├─xvda1 202:1    0   40G  0 part /
        └─xvda2 202:2    0   40G  0 part /opt
        xvdb    202:16   0  350G  0 disk 
        ├─xvdb1 202:17   0  100G  0 part 
        └─xvdb2 202:18   0  200G  0 part
        xvdc    202:32   0   60G  0 disk 
        └─xvdc1 202:33   0    60G  0 part

        表示当前“/dev/xvdc”总容量为60 GB,新增的50GB已经划分在“/dev/xvdc1”分区内。

  13. 行以下命令,查看“/dev/xvdc1”分区挂载结果。

    df -TH

    回显类似如下信息:
    [root@ecs-1120 linux]# mount /dev/xvdc1 /mnt/sdc
    [root@ecs-1120 linux]# df -TH
    Filesystem     Type      Size  Used Avail Use% Mounted on
    /dev/xvda1     ext4       43G  8.3G   33G  21% /
    devtmpfs       devtmpfs  885M     0  885M   0% /dev
    tmpfs          tmpfs     894M     0  894M   0% /dev/shm
    tmpfs          tmpfs     894M   18M  877M   2% /run
    tmpfs          tmpfs     894M     0  894M   0% /sys/fs/cgroup
    tmpfs          tmpfs     179M     0  179M   0% /run/user/2000
    tmpfs          tmpfs     179M     0  179M   0% /run/user/0
    tmpfs          tmpfs     179M     0  179M   0% /run/user/1001
    /dev/xvda2     ext4       43G   51M   40G   1% /opt
    /dev/xvdc1     ext4       64G   55M   60G   1% /mnt/sdc

    表示“/dev/xvdc1”已挂载至“/mnt/sdc”目录下。

support.huaweicloud.com/usermanual-dss/dss_01_2311.html