最近更新时间:2026-06-24 10:30:02
云硬盘多重挂载(Multi-Attach): 是指允许将单个云硬盘同时挂载给同一可用区(Availability Zone)内的多台云服务器实例使用的功能。该功能主要用于构建高可用集群系统。通过多重挂载,多台云服务器可以并发读写同一块云盘,为企业级关键业务(如 Oracle RAC、SAP HANA、高可用故障转移集群)提供共享块存储能力。
业务应用场景:
在Oracle Real Application Cluster (RAC) 架构中,多个数据库实例运行在不同的物理节点上,但必须共同访问同一套数据库文件(包括数据文件、控制文件、联机重做日志等)。OCFS2由 Oracle 开发,专为 Oracle RAC 环境设计,与 Oracle 生态深度绑定。能够支持这种多节点并发、安全、一致的读写需求。
在分布式计算与 AI 训练中,业务需求支持高速缓存机制和并行 I/O,可用于构建分布式数据库或热在线 AI/ML 训练。通过将训练任务分布到多个节点并共享同一数据,可以有效整合内存和 IO 资源,显著提高训练速度并实现故障自动恢复。
Web / 中间件负载均衡集群(LAMP、Tomcat、Nginx):全站静态资源、代码包、配置文件统一存放,所有 web 节点共用一份文件,无需 rsync 同步;发布一次全集群生效。
自建数据库集群(非 Oracle):MySQL 主从集群、MySQL InnoDB Cluster 共享日志、数据目录;PostgreSQL 集群共享表空间、WAL 日志,多节点并发读写共享磁盘,相比 NFS 锁性能更强、一致性更好
机型:(当前仅上海A X9云服务器支持ESSD多重挂载---需开白名单)
镜像:镜像需要包含NVMe驱动。
仅部分标准镜像包含NVMe驱动,您可以调用DescribeImages接口,根据返回参数中的support_nvme参数判断镜像是否支持NVMe。
附:上海地区已含NVME驱动标准镜像列表
镜像ID | 平台 | 启动模式 | 操作系统 | 状态 | NVMe驱动 | 更新时间 |
|---|---|---|---|---|---|---|
IMG-1f3ea2a0-b292-49ee-b44b-7611c8a3df01 | DEBIAN | BIOS(Legacy) | Debian-12.7 64 位 | 可用 | 支持 | 2026/5/29 16:42 |
IMG-6e914804-7f5d-4524-9aed-0f7ee4a9d8cc | ROCKYLINUX | BIOS(Legacy) | RockyLinux-10.1 64位 | 可用 | 支持 | 2026/5/29 18:30 |
IMG-ef255cc8-5e23-4250-870b-845c9ee72351 | ROCKYLINUX | BIOS(Legacy) | RockyLinux-9.1 64位 | 可用 | 支持 | 2026/6/2 17:23 |
IMG-e5db3c55-6ae6-401c-9ef7-981498efa9c8 | UBUNTU | BIOS(Legacy) | Ubuntu-22.04 64位 | 可用 | 支持 | 2026/5/29 14:27 |
IMG-1ddcb0ea-a707-4751-a3d7-ef724f5da22e | UBUNTU | BIOS(Legacy) | Ubuntu-24.04 64位 | 可用 | 支持 | 2026/5/29 15:36 |
这里可以在创建时同时挂载到第一台服务器,或者创建后再挂载两次
挂载两次完成如图。 (注意挂载第一台完成后建议刷新页面再挂载第二台)
本示例以两台KEC实例为例。
sudo apt update
sudo apt install ocfs2-tools本示例以设置第一个实例的hostname是server1,第二个实例的hostname是server2为例,不同实例的hostname不能设置相同。
登录第一台实例,执行以下命令设置hostname为server1
sudo hostnamectl set-hostname server1登录第二台实例,执行以下命令设置hostname为server2
sudo hostnamectl set-hostname server2sudo vim /etc/ocfs2/cluster.conf并在打开的文件中输入以下内容。
node:
ip_port=7777
ip_address=172.16.2.200
number=0
name=server1
cluster=ocfs2
node:
ip_port=7777
ip_address=172.16.2.207
number=1
name=server2
cluster=ocfs2
cluster:
node_count=2
name=ocfs2ip_address:实例的私有IP地址,请根据实际情况进行替换。
name:第i步设置的实例hostname,请根据实际情况进行替换。
node_countKEC实例的个数,请根据实际情况进行替换。
按Esc键退出编辑模式,并输入:wq保存退出。
sudo systemctl restart ocfs2
sudo systemctl enable ocfs2
sudo systemctl restart o2cb
sudo systemctl enable o2cbsudo o2cb register-cluster ocfs2lsblk 查看共享ESSD盘盘符名称;执行mkfs.ocfs2格式化文件系统
root@vm172-16-2-200:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
vda 253:0 0 20G 0 disk
├─vda1 253:1 0 1M 0 part
└─vda2 253:2 0 20G 0 part /
vdb 253:16 0 20G 0 disk
nvme0n1 259:0 0 20G 0 disk
root@vm172-16-2-200:~# sudo mkfs.ocfs2 /dev/nvme0n1输出成功提示如下
创建挂载目录并执行挂载操作。
root@vm172-16-2-200:~# sudo mkdir /mnt/ocfs2
sudo mount -t ocfs2 /dev/nvme0n1 /mnt/ocfs2
root@vm172-16-2-200:~#
root@vm172-16-2-207:~# sudo mkdir /mnt/ocfs2
sudo mount -t ocfs2 /dev/nvme0n1 /mnt/ocfs2
root@vm172-16-2-207:~#验证挂载
root@vm172-16-2-200:~# df -H
Filesystem Size Used Avail Use% Mounted on
tmpfs 184M 1.1M 183M 1% /run
/dev/vda2 21G 2.6G 18G 13% /
tmpfs 918M 0 918M 0% /dev/shm
tmpfs 5.3M 0 5.3M 0% /run/lock
tmpfs 184M 13k 184M 1% /run/user/0
/dev/nvme0n1 22G 1.2G 21G 6% /mnt/ocfs2
root@vm172-16-2-207:~# df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 176M 1020K 175M 1% /run
/dev/vda2 20G 2.6G 16G 14% /
tmpfs 876M 0 876M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 176M 12K 176M 1% /run/user/0
/dev/nvme0n1 20G 1.1G 19G 6% /mnt/ocfs2在server1主机上创建文件
root@vm172-16-2-200:~# echo testaaaaaaaa > /mnt/ocfs2/test1.txt
root@vm172-16-2-200:~# vim /mnt/ocfs2/test1.txt
root@vm172-16-2-200:~# cat /mnt/ocfs2/
lost+found/ test1.txt
root@vm172-16-2-200:~# cat /mnt/ocfs2/test1.txt
testaaaaaaaa
root@vm172-16-2-200:~#在server2主机上读取文件
root@vm172-16-2-207:~# cat /mnt/ocfs2/test1.txt
testaaaaaaaa
root@vm172-16-2-207:~#
纯净模式
