You need to enable JavaScript to run this app.
导航

分区格式化云盘(Linux)

最近更新时间2024.02.26 10:28:31

首次发布时间2021.07.09 13:31:09

本文介绍在Linux操作系统下分区格式化云盘的操作步骤。

前提条件

已创建数据盘并将数据盘挂载至ECS实例,具体步骤,请参见创建云盘挂载云盘

注意事项

  • 分区格式化数据盘会将数据全部清空,请确保数据盘中没有数据或已备份重要数据。

  • 大于等于2TiB的场景下,只能采用GPT分区形式。

分区格式化云盘(小于等于2TiB)

本文以CentOS 7.6版本操作系统为例,当云服务器挂载了一块新的数据盘时,使用fdisk分区工具将该数据盘设为主分区,分区形式默认设置为MBR,文件系统设为ext4格式,挂载在/mnt/sdc下。不同操作系统的分区格式化操作可能不同,本文仅供参考。

  1. 登录Linux实例

  2. 执行以下命令,查看新增数据盘。

    fdisk -l
    

    回显类似如下信息:

    image

    表示当前的云服务器有两块磁盘,/dev/vda是系统盘,/dev/vdc是新增数据盘。

  3. 执行fdisk _新增数据盘_ 命令,进入fdisk分区工具,开始对新增数据盘执行分区操作。

    以新挂载的数据盘/dev/vdc为例:

    fdisk /dev/vdc
    

    回显类似如下信息:

    [root@i-IVwlb**** ~]# fdisk /dev/vdc
    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.
    
    Device does not contain a recognized partition table
    Building a new DOS disklabel with disk identifier 0xff816a4b.
    
    Command (m for help):
    
  4. 输入n,按“Enter”,开始新建分区。

    回显类似如下信息:

    Command (m for help): n
    Partition type:
    p   primary (0 primary, 0 extended, 4 free)
    e   extended
    

    表示磁盘有两种分区类型:

    • “p”表示主分区。
    • “e”表示扩展分区。

    说明

    • 磁盘使用MBR分区形式,最多可以创建4个主分区,或者3个主分区加1个扩展分区,扩展分区不可以直接使用,需要划分成若干个逻辑分区才可以使用。

    • 磁盘使用GPT分区形式时,没有主分区、扩展分区以及逻辑分区之分。

  5. 以创建一个主要分区为例,输入p,按“Enter”,开始创建一个主分区。

    回显类似如下信息:

    Select (default p): p
    Partition number (1-4, default 1): 
    

    “Partition number”表示主分区编号,可以选择1-4。

  6. 以分区编号选择“1”为例,输入主分区编号1,按“Enter”。

    回显类似如下信息:

    Partition number (1-4, default 1): 1
    First sector (2048-41943039, default 2048): 
    

    “First sector”表示起始磁柱值,可以选择2048-209715199,默认为2048。

  7. 以选择默认磁柱值为2050为例,按“Enter”。系统会自动提示分区可用空间的起始磁柱值和截止磁柱值,可以在该区间内自定义,或者使用默认值。起始磁柱值必须小于分区的截止磁柱值。

    回显类似如下信息:

    First sector (2048-41943039, default 2048): 2050
    Last sector, +sectors or +size{K,M,G} (2050-41943039, default 41943039): 
    

    “Last sector”表示截止磁柱值,可以选择2050-41943039,默认为41943039。

  8. 以选择默认截止磁柱值41943039为例,按“Enter”。系统会自动提示分区可用空间的起始磁柱值和截止磁柱值,可以在该区间内自定义,或者使用默认值。起始磁柱值必须小于分区的截止磁柱值。

    回显类似如下信息:

    Last sector, +sectors or +size{K,M,G} (2050-41943039, default 41943039): 
    Using default value 41943039
    Partition 1 of type Linux and of size 20 GiB is set
    
    Command (m for help): 
    
    

    表示分区完成,即为数据盘新建了1个分区。

  9. 输入p,按“Enter”,查看新建分区的详细信息。

    回显类似如下信息:

    Disk /dev/vdc: 21.5 GB, 21474836480 bytes, 41943040 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk label type: dos
    Disk identifier: 0xff816a4b
    
        Device Boot      Start         End      Blocks   Id  System
    /dev/vdc1            2050    41943039    20970495   83  Linux
    
    Command (m for help):
    

    表示新建分区/dev/vdc1的详细信息。

  10. 输入w,按“Enter”,将分区结果写入分区表中。

    回显类似如下信息,表示分区创建完成:

    Command (m for help): w
    The partition table has been altered!
    
    Calling ioctl() to re-read partition table.
    Syncing disks.
    

    说明

    如果之前分区操作有误,请输入“q”,则会退出fdisk分区工具,之前的分区结果将不会被保留。

  11. 执行以下命令,将新的分区表变更同步至操作系统。

    partprobe 
    
  12. 执行以下命令,将新建分区文件系统设为系统所需格式。

    mkfs   -t   _文件系统格式_   /dev/vdc1
    

    以设置文件系统为“ext4”为例:

    mkfs -t ext4 /dev/vdc1
    

    回显类似如下信息:

    [root@i-IVwlb**** ~]# mkfs -t ext4 /dev/vdc1
    mke2fs 1.42.9 (28-Dec-2013)
    Filesystem label=
    OS type: Linux
    Block size=4096 (log=2)
    Fragment size=4096 (log=2)
    Stride=0 blocks, Stripe width=0 blocks
    1310720 inodes, 5242623 blocks
    262131 blocks (5.00%) reserved for the super user
    First data block=0
    Maximum filesystem blocks=2153775104
    160 block groups
    32768 blocks per group, 32768 fragments per group
    8192 inodes per group
    Superblock backups stored on blocks: 
           32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
           4096000
    
    Allocating group tables: done                            
    Writing inode tables: done                            
    Creating journal (32768 blocks): done
    Writing superblocks and filesystem accounting information: done 
    

    格式化需要等待一段时间,请观察系统运行状态,不要退出。

    说明

    不同文件系统支持的分区大小不同,请根据您的业务需求选择合适的文件系统。

  13. 执行mkdir _挂载目录_ 命令,新建挂载目录。

    以新建挂载目录/mnt/sdc为例:

    mkdir /mnt/sdc
    
  14. 执行mount _磁盘分区_ _挂载目录_ 命令,将新建分区挂载到步骤13中创建的目录下。

    以挂载新建分区/dev/vdc1/mnt/sdc为例:

    mount /dev/vdc1 /mnt/sdc
    
  15. 执行df -Th命令,查看挂载结果。

    回显类似如下信息:

    [root@i-IVwlb**** ~]# df -Th
     Filesystem     Type      Size  Used Avail Use% Mounted on
     /dev/vda1      ext4       39G  1.7G   38G   5% /
     devtmpfs       devtmpfs  4.1G     0  4.1G   0% /dev
     tmpfs          tmpfs     4.2G     0  4.2G   0% /dev/shm
     tmpfs          tmpfs     4.2G  9.1M  4.1G   1% /run
     tmpfs          tmpfs     4.2G     0  4.2G   0% /sys/fs/cgroup
     tmpfs          tmpfs     821M     0  821M   0% /run/user/0
     /dev/vdb       xfs        21G   34M   21G   1% /data
     /dev/vdc1      ext4       21G   47M   20G   1% /mnt/sdc
    

    表示新建分区/dev/vdc1已挂载至/mnt/sdc

    说明

    云服务器重启后,挂载会失效,您可以修改/etc/fstab文件,将新建磁盘分区设置为开机自动挂载,请参见设置开机自动挂载磁盘分区

分区格式化云盘(大于2TiB)

本文以CentOS 7.6版本操作系统为例,当云服务器挂载了一块新的数据盘时,采用parted分区工具为数据盘设置分区,分区形式设置为GPT,文件系统设为ext4格式,挂载在/mnt/sdc下。

前提条件

在Linux操作系统上格式化云盘前,请确保您的Linux实例上已经安装了Parted工具和e2fsprogs工具。您可以参考以下命令安装相应工具:

  • 安装Parted工具
    yum install -y parted
    
  • 安装e2fsprogs工具
    yum install -y e2fsprogs
    

    注意

    • 您可以执行rpm -qa | grep e2fsprogs命令查看e2fsprogs工具包的版本信息。
    • 如果您的云盘容量为16TiB及以上;或有将云盘扩容至16TiB及以上的需求,您需要使用1.42及以上版本的e2fsprogs工具包。如果e2fsprogs工具包版本低于1.42,格式化时会出现相应错误。升级工具包的具体步骤,请参见升级e2fsprogs工具包

操作步骤

  1. 执行以下命令,查看新增数据盘。

    lsblk
    

    回显类似如下信息:

    root@ecs-test-0001 ~]# lsblk
    NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    vda    253:0    0   40G  0 disk
    └─vda1 253:1    0   40G  0 part /
    vdb    253:16   0  100G  0 disk
    

    表示当前的云服务器有两块磁盘,/dev/vda是系统盘,/dev/vdb是新增数据盘。

  2. 执行parted _新增数据盘_ 命令,进入parted分区工具,开始对新增数据盘执行分区操作。

    命令示例:

    parted /dev/vdb
    

    回显类似如下信息:

    [root@ecs-test-0001 ~]# parted /dev/vdb
    GNU Parted 3.1
    Using /dev/vdb
    Welcome to GNU Parted! Type 'help' to view a list of commands.
    (parted) 
    
    
  3. 输入p,按“Enter”,查看当前磁盘分区形式。

    回显类似如下信息:

    (parted) p
    Error: /dev/vdb: unrecognised disk label
    Model: Virtio Block Device (virtblk)
    Disk /dev/vdb: 107GB
    Sector size (logical/physical): 512B/512B
    Partition Table: unknown
    Disk Flags:
    (parted) 
    
    

    “Partition Table”为“unknown”表示磁盘分区形式未知,新的数据盘还未设置分区形式。

  4. 输入mklabel _磁盘分区形式_命令,设置磁盘分区形式。

    磁盘分区形式有MBR和GPT两种,以GPT为例:

    mklabel gpt
    

    说明

    MBR支持的磁盘最大容量为2TiB,GPT最大支持的磁盘容量为18EB,当前数据盘支持的最大容量为32TiB,如果您需要使用大于2TiB的磁盘容量,分区形式请采用GPT。

    当磁盘已经投入使用后,此时切换磁盘分区形式时,磁盘上的原有数据将会清除,因此请在磁盘初始化时谨慎选择磁盘分区形式。

  5. 输入p,按“Enter”,设置分区形式后,再次查看磁盘分区形式。

    回显类似如下信息:

    (parted) mklabel gpt
    (parted) p
    Model: Virtio Block Device (virtblk)
    Disk /dev/vdb: 107GB
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt
    Disk Flags:
    
    Number  Start  End  Size  File system  Name  Flags
    
    (parted) 
    
    

    Partition Table为“gpt”表示磁盘分区形式已设置为GPT。

  6. 输入unit s,按“Enter”,设置磁盘的计量单位为磁柱。

  7. 以整个磁盘创建一个分区为例,执行mkpart _磁盘分区名称 起始磁柱值_ _截止磁柱值_ 命令,按“Enter”。

    命令示例:

    mkpart test 2048s 100%
    

    “2048s”表示磁盘起始磁柱值,“100%”表示磁盘截止磁柱值,此处仅供参考,您可以根据业务需要自行规划磁盘分区数量及容量。

  8. 输入p,按“Enter”,查看新建分区的详细信息。

    回显类似如下信息:

    (parted) p
    Model: Virtio Block Device (virtblk)
    Disk /dev/vdb: 209715200s
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt
    Disk Flags:
    
    Number  Start  End         Size        File system  Name  Flags
     1      2048s  209713151s  209711104s               test
    
    (parted) 
    
    
  9. 输入q,按“Enter”,退出parted分区工具。

    回显类似如下信息:

    (parted) q
    Information: You may need to update /etc/fstab.
    
    

    /etc/fstab文件控制磁盘开机自动挂载,请先参考以下步骤为磁盘分区设置文件系统和挂载目录后,再根据文档指导更新/etc/fstab文件。

  10. 执行lsblk命令,查看磁盘分区信息。

    回显类似如下信息:

    [root@ecs-test-0001 ~]# lsblk
    NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    vda    253:0    0   40G  0 disk
    └─vda1 253:1    0   40G  0 part /
    vdb    253:16   0  100G  0 disk
    └─vdb1 253:17   0  100G  0 part
    

    此时可以查看到新建分区/dev/vdb1

  11. 执行以下命令,将新建分区文件系统设为系统所需格式。

    mkfs   -t   _文件系统格式_   /dev/vdb1
    

    以设置文件系统为“ext4”为例:

    mkfs -t ext4 /dev/vdb1
    

    回显类似如下信息:

    [root@ecs-test-0001 ~]# mkfs -t ext4 /dev/vdb1
    mke2fs 1.42.9 (28-Dec-2013)
    Filesystem label=
    OS type: Linux
    Block size=4096 (log=2)
    Fragment size=4096 (log=2)
    Stride=0 blocks, Stripe width=0 blocks
    6553600 inodes, 26213888 blocks
    1310694 blocks (5.00%) reserved for the super user
    First data block=0
    Maximum filesystem blocks=2174746624
    800 block groups
    32768 blocks per group, 32768 fragments per group
    8192 inodes per group
    Superblock backups stored on blocks:
            32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
            4096000, 7962624, 11239424, 20480000, 23887872
    
    Allocating group tables: done
    Writing inode tables: done
    Creating journal (32768 blocks): done
    Writing superblocks and filesystem accounting information: done
    
    

    格式化需要等待一段时间,请观察系统运行状态,不要退出。

    说明

    不同文件系统支持的分区大小不同,请根据您的业务需求选择合适的文件系统。

  12. 执行mkdir _挂载目录_命令,新建挂载目录。

    以新建挂载目录/mnt/sdc为例:

    mkdir /mnt/sdc 
    
  13. 执行mount _磁盘分区_ _挂载目录_命令,将新建分区挂载到步骤12中创建的目录下。

    以挂载新建分区/dev/vdb1/mnt/sdc为例:

    mount /dev/vdb1 /mnt/sdc
    
  14. 执行df -Th命令,查看挂载结果。

    回显类似如下信息:

    [root@ecs-test-0001 ~]# df -Th
    Filesystem     Type      Size  Used Avail Use% Mounted on
    /dev/vda1      ext4       39G  1.9G   37G   5% /
    devtmpfs       devtmpfs  2.0G     0  2.0G   0% /dev
    tmpfs          tmpfs     2.0G     0  2.0G   0% /dev/shm
    tmpfs          tmpfs     2.0G  9.0M  2.0G   1% /run
    tmpfs          tmpfs     2.0G     0  2.0G   0% /sys/fs/cgroup
    tmpfs          tmpfs     398M     0  398M   0% /run/user/0
    /dev/vdb1      ext4      98G    63M   97G   1% /mnt/sdc
    
    

    表示新建分区/dev/vdb1已挂载至/mnt/sdc

    说明

    云服务器重启后,挂载会失效。您可以修改/etc/fstab文件,将新建磁盘分区设置为开机自动挂载,请参见设置开机自动挂载磁盘分区

附录一:在Linux实例中升级e2fsprogs工具包

本章节介绍将e2fsprogs工具包升级至1.42及以上版本的操作步骤。

  1. 执行以下命令,检查e2fsprogs工具包版本。

    rpm -qa | grep e2fsprogs
    

    如果您的版本低于1.42,请参考以下步骤安装软件。

  2. 执行以下命令,下载1.42.8版本的e2fsprogs。软件包的详细下载地址,请参见e2fsprogs

    wget https://www.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v1.42.8/e2fsprogs-1.42.8.tar.gz
    
  3. 执行以下命令,解压安装包。

    tar xvzf e2fsprogs-1.42.8.tar.gz
    
  4. 执行以下命令,进入安装包目录。

    cd e2fsprogs-1.42.8
    
  5. 执行以下命令,生成Makefile文件。

    ./configure
    
  6. 执行以下命令,编译e2fsprogs。

    make
    
  7. 执行以下命令,安装e2fsprogs工具。

    make install
    
  8. 安装完成后,执行以下命令查看是否成功更新版本。

    rpm -qa | grep e2fsprogs