全部产品
Search
文档中心

云服务器 ECS:在裸设备上创建文件系统

更新时间:Dec 22, 2023

裸设备是指没有做过分区且没有经过任何文件系统格式化的云盘设备。如果您的数据盘为裸设备,即只呈现为一个独立的分区(例如/dev/vdb)且不需要划分逻辑分区(例如/dev/vdb1、/dev/vdb2等),云盘初始化时直接在裸设备上创建文件系统即可。本文为您介绍如何在裸设备上创建一个文件系统。

说明

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

前提条件

数据盘已挂载到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文件并挂载分区。

    如果您需要设置开机自动挂载云盘,需要在/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