初始化云盘

一块全新的云盘挂载到ENS实例后,还不能直接存储数据,您需要为云盘创建分区、挂载文件系统等初始化操作后才可以正常使用。

注意事项

重要

初始化云盘是高风险行为,请慎重操作。

  • 初始化仅适用处理一块全新的数据盘,如果您的数据盘上有数据,请务必为数据盘创建快照,避免数据丢失。

  • 您仅需要对数据盘执行初始化操作,系统盘无需执行初始化操作。如果您强行使用第三方工具对系统盘做初始化操作,可能引发系统崩溃和数据丢失等未知风险。您可以在扩容系统盘后做扩展分区或者新增分区操作。具体操作,请参见扩展分区和文件系统_Linux系统盘

操作场景

  • 当新建边缘云ENS实例时设定的系统盘容量与系统盘镜像容量相同时,系统已经自动为系统盘分区并挂载文件系统,因此系统盘无需初始化。

  • 当新建边缘云ENS实例时设定的系统盘容量大于系统盘镜像容量时,需要对系统盘多余空间进行初始化操作。

  • 数据盘(随实例创建):随实例一起创建的数据盘已自动挂载到ENS实例,无需手动挂载,直接执行初始化操作。

  • 数据盘(单独购买):必须先挂载到ENS实例后,然后执行初始化操作。

说明

如果您的整块云盘只呈现为一个独立的分区(例如:/dev/vdb),不需要划分逻辑分区(例如:/dev/vdb1/dev/vdb2等),云盘初始化时直接在云盘上创建文件系统即可。

操作示例

Linux数据盘初始化

本示例以CentOS7.9操作系统为例。

登录ENS实例并查看数据盘

  1. 远程连接ENS实例。

  2. 运行以下命令,获取数据盘的设备名称。

    sudo fdisk -lu

    示例的运行结果如下所示,表示当前ECS实例挂载了三块云盘:

    • /dev/vda是系统盘,随实例创建的系统盘已默认初始化,无需再初始化。

    • /dev/vdb/dev/vdc为新增数据盘。

    image

为数据盘创建GPT分区

  1. 运行以下命令,安装Parted工具。

    sudo yum install -y parted
  2. 使用Parted工具对数据盘进行分区。

    1. 运行以下命令,开始分区。本操作以数据盘/dev/vdb为例。

      sudo parted /dev/vdb

      其中,/dev/vdb是待分区数据盘的设备名称,请您根据实际环境替换。

    2. 在Parted交互命令行输入以下内容,设置分区格式为GPT分区。

      mklabel gpt
    3. 输入以下内容,划分分区,并设置分区的开始位置和结束位置。

      mkpart <分区名称> <初始位置> <结束位置>
      重要

      分区的开始位置和结束位置请使用二进制单位MiB、GiB等(创建后分区会4KiB对齐)单位,否则会影响分区对齐,严重影响云盘性能。

      <分区名称>、<初始位置>、<结束位置>请根据实际情况进行划分。

      1. 单分区示例:以划分一个主分区、分区名为primary,开始位置为1MiB,100%容量给到第一个分区为例。

        mkpart primary 1MiB 100%
      2. 多分区示例:以划分两个分区、第一个分区名为primary,分区容量为20GiB,剩余容量划分至第二个分区secondary为例,需要分别执行:

        mkpart primary 1MiB 20GiB
        mkpart secondary 20GiB 100%
    4. 运行以下命令,检查分区是否对齐。

      其中,1是对应的分区号,通常建议您做分区对齐,以获取更好的云盘性能。

      align-check optimal 1

      如果分区是对齐的,结果如下所示:

      1 aligned
    5. 输入以下内容,查看分区表。

      print
    6. (可选)如果上述分区操作有误,请输入rm+分区号,删除错误分区,再按照需求执行c~e。

      重要

      请在删除分区前,确保分区内无数据或者数据已备份。

    7. 输入以下内容,退出Parted工具。

      quit

      image

  3. 运行以下命令,使系统重读分区表。

    partprobe
  4. 运行以下命令,查看新分区信息。本操作以数据盘/dev/vdb为例。

    sudo fdisk -lu /dev/vdb

    其中,/dev/vdb是数据盘的设备名称,请您根据实际环境替换。

    运行结果如下所示,如果Disk label type为gpt,表示新分区已创建完成。

    image

创建并挂载文件系统

无论云盘是否进行了分区,云盘在使用前都需要创建并挂载文件系统,才能被操作系统识别并正常使用。不同文件系统支持的分区大小不同,请您根据实际需求创建文件系统。

  1. 运行以下命令,安装e2fsprogs工具。

    sudo yum install -y e2fsprogs
    说明

    此步骤中yum命令适用于CentOS等Linux发行版本。其他Linux发行版本,请根据实际使用的包管理软件修改安装命令。例如Debian或Ubuntu,请使用apt-get install <软件包名称>

  2. 运行以下命令,创建文件系统。以下示例命令介绍如何创建ext4和xfs文件系统。

    创建ext4文件系统

    • 以为分区/dev/vdb1创建一个ext4文件系统为例,则运行如下命令:

      sudo mkfs -t ext4 /dev/vdb1

      其中,/dev/vdb1是数据盘的分区名称,请您根据实际分区名称替换。

    • 以为裸设备/dev/vdc创建一个ext4文件系统为例,则运行如下命令:

      sudo mkfs -t ext4 /dev/vdc

      其中,/dev/vdc是裸设备名称,请您根据实际裸设备名称替换。sudo

    创建xfs文件系统

    • 以分区/dev/vdb1创建一个xfs文件系统为例,则运行如下命令:

      sudo mkfs -t xfs /dev/vdb1

      其中,/dev/vdb1是数据盘的分区名称,请您根据实际分区名称进行替换。

    • 以为裸设备/dev/vdc创建一个xfs文件系统为例,则运行如下命令:

      sudo mkfs -t xfs /dev/vdc

      其中,/dev/vdc是裸设备名称,请您根据实际裸设备名称进行替换。

  3. 运行以下命令,挂载文件系统。

    • 以将分区/dev/vdb1挂载到/mnt目录为例,则运行如下命令:

      sudo mount /dev/vdb1 /mnt

      /dev/vdb1是数据盘的分区名称,请您根据实际环境替换。 /mnt是分区的挂载点。挂载点可以是无数据的已有目录,或执行sudo mkdir -p <新目录>命令创建新目录作为挂载点,例如sudo mkdir -p /data

    • 以将裸设备/dev/vdc挂载到/tmp目录为例,则运行如下命令:

      sudo mount /dev/vdc /tmp

      /dev/vdc是裸设备名称,请您根据实际环境替换。 /tmp是分区的挂载点。挂载点可以是无数据的已有目录,或执行sudo mkdir -p <新目录>命令创建新目录作为挂载点,例如sudo mkdir -p /data

  4. 运行以下命令,检查挂载结果是否符合您的预期。

    df -Th

配置开机自动挂载分区

您可以根据需要在/etc/fstab中写入新分区信息,配置开机自动挂载,以确保系统每次启动时会自动挂载云盘分区。

  1. 运行以下命令,备份/etc/fstab文件。

    sudo cp /etc/fstab /etc/fstab.bak
  2. /etc/fstab里写入新分区信息。

    sudo sh -c "echo `blkid /dev/vdb1 | awk '{print \$2}' | sed 's/\"//g'` /mnt ext4 defaults 0 0 >> /etc/fstab"

    其中:

    • /dev/vdb1:数据盘的分区名称,您需要根据实际环境进行替换(通过df -Th命令获取)。

    • /mnt:分区的挂载点,您需要根据已设置的挂载点进行替换(通过df -Th命令获取)。

    • ext4:分区的文件系统类型,您需要根据已创建的文件系统类型进行替换(通过df -Th命令获取)。

    • defaults:文件系统的挂载参数。您可以根据实际需求选择对应的挂载参数,请参见fstab说明

  3. 运行以下命令,查看/etc/fstab中的新分区信息。

    cat /etc/fstab

    结果如下所示,返回结果里出现了新分区信息,说明写入成功。

    image.png

  4. 运行以下命令,验证自动挂载功能是否生效。

    sudo umount /dev/vdb1
    sudo mount -a
    mount | grep /mnt

Windows数据盘初始化

操作步骤

  1. 远程连接ENS实例。

  2. 在Windows Server桌面,右键单击开始图标图标,然后单击磁盘管理

    磁盘管理

  3. 找到待初始化的数据盘(本示例以磁盘 1为例),其处于脱机状态。

    脱机状态

  4. 右键单击磁盘 1的空白区域,选择联机

    完成联机后,磁盘 1状态显示为没有初始化没有初始化

  5. 右键单击磁盘 1的空白区,在弹出菜单中选择初始化磁盘

  6. 初始化磁盘对话框,选择目标磁盘和磁盘分区形式,然后单击确定

    重要

    MBR分区不支持2 TiB以上容量。如果您使用的云盘容量大于2 TiB或者后续有可能会扩容到2 TiB以上,分区时请采用GPT分区格式。

    选择分区

  7. 右键单击磁盘 1未分配区域,选择新建简单卷

    新建简单卷

  8. 新建简单卷向导对话框中,单击下一步,然后根据向导完成初始化操作。

    1. 指定卷大小对话框中,设置简单卷大小,然后单击下一步

      如果您只需要创建一个主区,直接使用默认值即可。您也可以根据需要设置简单卷大小,把磁盘 1分成多个分区来使用。指定卷大小

    2. 分配驱动器号和路径对话框中,选择分配以下驱动器号,并选择盘符名称(本示例以D为例),然后单击下一步

      分配驱动号

    3. 格式化分区对话框中,选择按下列设置格式化这个卷,并设置格式化信息,然后单击下一步

      设置格式化信息

    4. 查看新建的简单卷信息,单击完成,关闭新建简单卷向导

执行结果

初始化完成后,磁盘管理磁盘 1的状态如下图所示。新磁盘状态

您可以在这台电脑中查看到新建的驱动器新加卷 (D:)。至此,您就可以开始使用这个数据盘了。新建磁盘