在裸设备上创建文件系统

创建一个空数据盘后,还不能在ECS实例中直接使用,需对其进行初始化。如果您希望直接以裸设备形式使用(即不需要对云盘进行分区),您只需在初始化过程中为该裸设备创建文件系统即可。本文为您介绍如何在裸设备上创建一个文件系统。

说明
  • 在裸设备上创建文件系统仅适用于Linux系统的ECS实例。

  • 裸设备通常表示为/dev/vda、/dev/vdb等,不包括数字索引,例如/dev/vdb1、/dev/vdb2等,这些数字索引代表分区。

前提条件

数据盘已挂载到ECS实例(数据盘状态为使用中)。具体操作,请参见挂载数据盘

说明

随实例创建的数据盘已经挂载,可忽略。

操作步骤

本示例以公共镜像Alibaba Cloud Linux 3.2104 LTS 64位操作系统为例,不同操作系统的操作命令可能存在差异,请您根据实际环境进行操作。

  1. 远程连接ECS实例。

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

    sudo fdisk -l 

    例如回显如下信息,表示ECS实例有两块云盘,/dev/vda表示系统盘,/dev/vdb表示数据盘。

    image.png

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

    sudo yum install -y e2fsprogs
    说明

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

  4. 运行以下命令,为目标数据盘创建文件系统。

    不同文件系统支持的分区大小不同,请您根据实际需求创建文件系统。以下示例命令介绍如何创建ext4和xfs文件系统。

    创建ext4文件系统

    sudo mkfs.ext4 /dev/vdb

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

    重要
    • 当数据盘容量为16 TiB,在创建ext4文件系统报错时,您需要检查e2fsprogs工具包的版本是否高于1.42,并安装高版本的e2fsprogs工具包。具体操作,请参见如何升级e2fsprogs工具包?

    • ext4文件系统的lazy init功能会影响数据盘的I/O性能,您可以关闭ext4文件系统的lazy init功能。具体操作,请参见如何关闭Linux实例的lazy init功能?

    创建xfs文件系统

    sudo mkfs.xfs /dev/vdb

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

  5. (条件必选)如果没有可用的挂载目录,运行以下命令,为目标数据盘新建挂载目录。

    您也可以将目标数据盘挂载到已有目录下,无需创建新的挂载目录。本示例以新建挂载目录/media/test为例,请您根据实际环境替换。

    sudo mkdir /media/test
  6. 运行以下命令,将目标数据盘挂载至新建的挂载目录。

    本示例以挂载数据盘/dev/vdb至挂载目录/media/test为例,请您根据实际环境替换。

    使用如下mount命令挂载文件系统时,请根据实际需求选择对应的挂载参数,以满足您对文件系统的数据安全性以及性能的要求。更多信息,请参见使用mount命令挂载ext4文件系统

    • (推荐)对文件系统的数据安全性和性能都有一定要求(数据安全性和性能适中)

      sudo mount /dev/vdb /media/test
    • 对文件系统的数据安全性要求较高(数据安全性较高、性能偏低)

      sudo mount -o rw,atime,sync,barrier,data=journal /dev/vdb /media/test
    • 对文件系统的性能要求较高(性能较高、数据安全性偏低)

      sudo mount -o defaults,noatime,nodiratime,nobarrier,nodelalloc,data=writeback /dev/vdb /media/test
  7. 运行以下命令,查看是否挂载成功。

    df -h

    如下所示显示数据盘/dev/vdb对应的挂载点信息,表示挂载成功。

    image.png

  8. 配置开机自动挂载分区。

    如果您需要设置开机自动挂载云盘,需要在/etc/fstab文件中写入新分区信息,以实现开机自动挂载分区。

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

      sudo cp /etc/fstab /etc/fstab.bak
    2. 运行以下命令,在/etc/fstab文件中写入新分区信息。

      root用户

      运行以下命令修改/etc/fstab文件。

      echo `blkid /dev/vdb | awk '{print $2}' | sed 's/\"//g'` /media/test ext4 defaults 0 0 >> /etc/fstab

      其中:

      • /dev/vdb:数据盘的设备名称,您需要根据实际环境进行替换。

      • /media/test:分区的挂载点,您需要根据实际环境进行替换。

      • ext4:分区的文件系统类型,您需要根据创建的文件系统类型进行修改。

      • defaults:文件系统的挂载参数。请您根据实际需求选择对应的挂载参数,以满足您对文件系统的数据安全性以及性能的要求。更多信息,请参见使用mount命令挂载ext4文件系统

      普通用户

      手动修改/etc/fstab文件。具体操作,请参见在fstab文件中配置UUID方式自动挂载数据盘

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

      cat /etc/fstab

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

      image.png

    4. 运行以下命令,挂载/etc/fstab配置的文件系统。如果无报错输出,表示您的/etc/fstab配置无误。

      sudo mount -a
    5. 运行以下命令,检查挂载结果。

      df -Th

      结果如下所示,如果出现新建文件系统的信息,则表示文件系统挂载成功。

      image.png