如何在 Magalu Cloud 中通过 CLI 将 Block Storage 卷附加到您的 Linux VM

发布: (2025年12月10日 GMT+8 02:53)
5 min read
原文: Dev.to

Source: Dev.to

介绍

当我们开始使用云时,常常把虚拟机想象成“整台电脑”:CPU、内存以及操作系统所在的磁盘。许多供应商的系统盘是临时的:如果重新创建 VM、切换类型、删除实例或发生故障,存储可能会消失。对于测试环境这或许还能接受,但对重要数据则不可行。

这时 Block Storage(块存储)就派上用场了。它提供一个块磁盘,像第二块硬盘或 SSD 一样暴露给 VM,独立于虚拟机的生命周期。你在操作系统内部管理文件系统(ext4、XFS 等),而云平台负责性能、复制和可用性。

Magalu Cloud 中,卷按不同工作负载提供了基于 NVMe、低延迟的优化配置,适用于数据库、共享文件系统、I/O 密集型应用,以及职责分离(例如:数据库卷、上传卷、日志卷)。

典型使用场景

  • 数据库在重新创建 VM 时不能丢失。
  • 电商的上传目录需要独立于 VM 扩容。
  • 将应用日志存放在弹性磁盘上,以便后续分析。
  • 为预生产环境准备的卷,基于生产快照创建。

本文的目标是一步步演示 如何创建 Block Storage 卷、将其附加到 Magalu Cloud 的 Linux VM 并进行使用,使用 mgc CLI。

在 Magalu Cloud 中创建和使用块存储卷

假设你已经在 Magalu Cloud 上拥有一台 Linux VM,安装并登录了 mgc CLI,并且需要一个 10 GiB 的新磁盘。

重要提示: 卷和 VM 必须位于同一 区域可用区 (AZ)。卷是物理关联到特定基础设施的;尝试将其附加到不同可用区的 VM 会失败。

典型流程如下:

  1. 在正确的区域/AZ 创建卷。
  2. 将卷附加到 VM。
  3. 在 VM 内部格式化设备并挂载到目录。
  4. 使挂载在重启后保持持久。

通过 CLI 创建卷

mgc block-storage volumes create \
    --name volume-app-prod \
    --size 10 \
    --type.name cloud_nvme1k
  • --name 为卷在所在区域内指定逻辑标签。
  • --size 指定大小(GiB)。
  • --type.name 选择 IOPS/延迟配置(如 cloud_nvme1k)。

创建完成后,检查状态:

mgc block-storage volumes list

新卷应显示状态为 available,表示可以附加。

将卷附加到虚拟机

获取 VM 和卷的 ID 后,执行:

mgc block-storage volumes attach \
    --id vol-1234567890abcdef \
    --virtual-machine-id vm-abcdef1234567890

稍等片刻;卷的状态会从 available 变为 in-use,表明已与 VM 关联。虽然平台支持在运行中的实例上附加卷,但在关键环境中建议先关闭实例。

在 VM 内部准备卷

在 VM 中,新卷会以块设备形式出现,通常是 /dev/vdb。列出设备:

lsblk

输出会显示系统盘(vda)和新卷(vdb),后者没有分区也没有文件系统。

创建文件系统

如果卷是全新的,使用(例如)ext4创建文件系统:

sudo mkfs.ext4 /dev/vdb

注意: 如果卷是从快照创建的,它已经包含文件系统和数据;不要 再次格式化。

将卷挂载到目录

选择挂载点,例如 /mnt/data

sudo mkdir -p /mnt/data
sudo mount /dev/vdb /mnt/data
df -h | grep /mnt/data

此后,写入 /mnt/data 的所有数据都会存储在 Block Storage 卷上。

使用 /etc/fstab 使挂载持久化

为了在重启后自动重新挂载,需要在 /etc/fstab 中添加一条记录。使用文件系统的 UUID,即使设备顺序变化也保持稳定:

sudo blkid /dev/vdb

示例输出:

/dev/vdb: UUID="abcd-1234-ef56-7890" TYPE="ext4"

编辑 /etc/fstab

sudo nano /etc/fstab

添加以下行(将 abcd-1234-ef56-7890 替换为实际 UUID):

UUID=abcd-1234-ef56-7890  /mnt/data  ext4  defaults,nofail  0  2

保存后测试挂载:

sudo mount -a
df -h | grep /mnt/data

如果一切正常,卷将在每次系统启动时自动挂载。

Back to Blog

相关文章

阅读更多 »

Vibe 编码悖论

我最近一次为 Nudges 的 PR 是 +96 −312,涉及 38 个文件,约 90% 为 vibe‑coded。我对它很有信心。当我在 Hyrule 滑行时,出现了两个不同的 AI …

可打印抽认卡生成器

引言 你是视觉学习者吗?你是否曾使用基于图像的闪卡来更有效地记忆单词或概念?如果是,你可能会发现这篇专业…