挂载云硬盘

最近更新时间: 2024-10-17 17:10:00

您可以将弹性云硬盘(作为云服务器的数据盘使用)挂载到同一可用区中的任意云服务器上使用,每台云服务器最多支持挂载20个数据盘。您可以通过以下方法挂载云硬盘:

  • 在启动新的云服务器时,指定对应的自定义镜像和数据盘快照。 自动挂载后,不需要进行分区、格式化等初始化磁盘的操作即可直接读写数据盘。

  • 单独购买的云硬盘,通过控制台或 API 接口手动将弹性云硬盘挂载到同一可用区中的已有云服务器实例上。

  • 直接创建的云硬盘 手动挂载后,需要对磁盘进行分区、格式化等初始化操作,具体操作请参考初始化云硬盘(小于2TB)初始化云硬盘(大于等于2TB)

  • 从快照创建的云硬盘
    若云硬盘容量等于快照容量,手动挂载后不需要进行分区、格式化等初始化磁盘的操作即可直接读写数据盘。
    若云硬盘容量大于快照容量,需要扩展文件系统或转换分区形式。

说明:

部分 Linux 云服务器可能出现无法识别弹性云硬盘的情况,您可以先在云服务器中开启磁盘热插拔功能,详细信息请参考开启磁盘热插拔功能

自动挂载

挂载数据盘(Windows)

若您需要在启动 Windows 云服务器实例时,自动挂载由对应数据盘快照创建的云硬盘,指定的自定义镜像和数据盘快照必须满足以下要求:

  • 数据盘在制作快照前必须已经被格式化为ntfsfat32格式。

  • 自定义镜像中的 SAN 策略为onlineAll

说明:

目前提供的 Windows 公有镜像已默认进行相关设置,但仍建议用户在制作自定义镜像前检查下此配置,检查方法如下:

挂载数据盘(Linux)

若您需要在启动 Linux 云服务器实例时,自动挂载由对应数据盘快照创建的云硬盘,指定的自定义镜像和数据盘快照必须满足以下要求:

  • 数据盘在制作快照前必须已经进行格式化,即在源云服务器上已经 mount 成功。

  • 系统盘在制作自定义镜像前,需要在 /etc/rc.local 文件中添加以下命令,将数据盘挂载点写入文件中。

   mkdir -p <mount-point>
   mount <device-id> <mount-point>

说明:

  • <mount-point> 需设置为文件系统的挂载点,例如 /mydata
  • <device-id> 需设置为实际文件分区位置。例如,无分区有文件系统时填写 /dev/vdb,有分区有文件系统时填写 /dev/vdb1

手动挂载

使用控制台挂载云硬盘

  1. 登录云硬盘控制台 。

  2. 在云硬盘列表页,您可以通过以下方法挂载云硬盘:
    a. 单击状态为待挂载的云硬盘所在行的更多 > 挂载。 b. 勾选状态为待挂载的云硬盘,单击云硬盘列表上方的挂载进行批量挂载。

  3. 在弹出框中选择目标云服务器,单击确定

  4. 刷新云盘列表。
    若云硬盘的状态变为已挂载,表示挂载成功。

  5. 根据云硬盘的情况,您需要选择执行对应的后续操作使云硬盘可用。

创建模式 云硬盘容量 后续操作
直接创建 云硬盘容量 < 2TB 初始化云硬盘(小于2TB)
直接创建 云硬盘容量 ≥ 2TB 初始化云硬盘(大于等于2TB)
从快照创建 云硬盘容量 = 快照容量 无需后续操作,挂载后直接可使用。
从快照创建 快照容量 < 云硬盘容量 ≤ 2TB
或者
2TB < 快照容量 < 云硬盘容量
- 挂载至 Windows 云服务器:扩展分区及文件系统(Windows)
- 挂载至 Linux 云服务器:扩展分区及文件系统(Linux)
从快照创建 快照容量 ≤ 2TB < 云硬盘容量 若快照中使用 MBR 分区形式:
需参考初始化云硬盘(大于等于2TB)使用 GPT 重新分区,该操作将会删除原有数据
若快照中使用 GPT 分区形式:
- 挂载至 Windows 云服务器:扩展分区及文件系统(Windows)
- 挂载至 Linux 云服务器:扩展分区及文件系统(Linux)

使用 API 挂载云硬盘

您可以使用 AttachDisks 接口创建快照,具体操作请参考API文档 > 挂载云硬盘

开启磁盘热插拔功能

目前提供的所有镜像已经支持弹性云硬盘的挂载/卸载操作。卸载云硬盘前需先执行umount(Linux)或脱机(Windows)操作,否则可能会导致该云服务器再次挂载弹性云硬盘时无法识别。但若您在此时间之前购买了以下操作系统的云服务器并计划为其挂载弹性云硬盘,建议您先在云服务器中添加相关驱动获得热插拔功能。

  1. 以 root 用户登录 Linux 云服务器。

  2. 执行以下命令,添加驱动。

    modprobe acpiphp
  3. (可选)根据不同操作系统,选择对应的操作方法将 acpiphp 模块设置成开机自动加载:

    • CentOS 5 系列

      1. 执行以下命令,创建并打开acpiphp.modules文件。
    vi /etc/sysconfig/modules/acpiphp.modules
    1. 在文件中添加以下内容,并保存。
    #!/bin/bash
    modprobe acpiphp >& /dev/null
    1. 执行以下命令,添加可执行权限。
    chmod a+x /etc/sysconfig/modules/acpiphp.modules
    • Debian 6 系列、Ubuntu 10.04 系列

      1. 执行以下命令,修改文件。
    vi /etc/modules
    1. 在文件中添加以下内容,并保存。
    acpiphp
    • openSUSE 12.3 系列

      1. 执行以下命令,修改文件。
    vi /etc/sysconfig/kernel
    1. 在文件中添加以下内容,并保存。
    MODULES_LOADED_ON_BOOT="acpiphp"