注册
DSC 集群部署前的共享磁盘准备
技术分享/ 文章详情 /

DSC 集群部署前的共享磁盘准备

歪比巴卜 2026/07/31 156 0 0

DSC 集群部署前的共享磁盘准备

1. 目的与适用范围

本文用于在 VMware Workstation 两节点环境中,为 DM8 DSC 集群部署准备共享磁盘。示例节点为 DSC01DSC02,两台虚拟机共同访问同一组 VMDK。

本阶段的目标是:

  • 在宿主机上创建 4 块共享虚拟磁盘;
  • 将同一组 VMDK 以相同的 SCSI 节点挂载到两台虚拟机;
  • 修改两台虚拟机的 .vmx 文件,使共享总线、磁盘锁定和缓存参数满足共享访问要求;
  • 在两台操作系统中确认同一块磁盘具有相同的 scsi_id
  • 使用 UDEV 为共享磁盘创建稳定、统一的设备名。

重要原则: DSC01DSC02 必须访问同一组 VMDK 文件,而不是各自创建一套同名磁盘。本阶段不要对共享盘创建普通文件系统、格式化或挂载;磁盘将在后续 DSC/DMASM 部署阶段初始化。

2. 磁盘规划

部署报告中的示例规划如下。生产环境应根据数据量、日志量、性能和冗余要求重新评估容量。

用途 示例大小 VMDK 文件名 SCSI 节点 说明
DCR 1 GB DCR.vmdk SCSI 1:1 保存集群注册和控制信息
VOTE 1 GB VOTE.vmdk SCSI 1:2 表决盘,用于集群仲裁
DMDATA 20 GB DMDATA.vmdk SCSI 1:3 保存数据库业务数据
DMLOG 10 GB DMLOG.vmdk SCSI 1:4 保存联机重做日志

达梦产品手册建议生产环境至少将数据文件和联机日志文件放在不同的共享磁盘上。典型的非镜像 DMASM/DMDSC 环境使用 DCR、VOTE、DMDATA、DMLOG 共 4 块共享磁盘。

3. 操作前检查

  1. 正常关闭 DSC01DSC02,不要在虚拟机运行或挂起状态下修改 .vmx
  2. 备份两台虚拟机各自的 .vmx 文件。
  3. 确定共享 VMDK 的统一存放目录,例如 D:\DSC_Shared\
  4. 确认宿主机磁盘空间充足,且两台虚拟机配置均能访问该目录。
  5. 确认两台虚拟机不会同时使用差异快照链代替基础共享 VMDK。

4. 在 DSC01 上创建共享 VMDK

对 4 块磁盘依次执行以下操作:

打开 DSC01的“虚拟机设置”。

image.png

选择“添加”

image.png

硬件类型选择第一个硬盘。

image.png

磁盘类型选择SCSI类型

image.png

选择创建新虚拟磁盘

image.png

规划一下磁盘的大小,这里创建的是DCR磁盘,所以选择1GB,之后选择“立即分配所有磁盘空间”,“将虚拟磁盘存储为单个文件”。

image.png

将磁盘保存到统一目录,并使用规划的文件名。(一定不要保存到某个虚拟机目录下,不然后续启动相关服务时会报错)

image.png

添加完成后选中该硬盘,打开“高级”设置,按规划表设置“虚拟设备节点”。(DCR1:1,VOTE1:2,以此类推)

image.png

将磁盘模式设置为“独立”且“永久”。

image.png

完成后,DSC01 上的节点对应关系为:

DCR.vmdk     -> SCSI 1:1
VOTE.vmdk    -> SCSI 1:2
DMDATA.vmdk  -> SCSI 1:3
DMLOG.vmdk   -> SCSI 1:4

5. 在 DSC02 上挂载同一组 VMDK

1.打开 DSC02 的“虚拟机设置”。

2.选择“添加” → “硬盘” → “SCSI” → “使用现有虚拟磁盘”.

image.png

3.依次选择第 4 节中由 DSC01 创建的 DCR.vmdk、VOTE.vmdk、DMDATA.vmdk、DMLOG.vmdk。

image.png

4.将每块磁盘的虚拟设备节点设置为与 DSC01 完全相同的 SCSI 1:1SCSI 1:4

5.将磁盘模式设置为“独立”且“永久”。

原部署报告 6.2 节中“选择之前为 DSC02 创建的对应 .vmdk 文件”应理解为选择第一台虚拟机阶段已经创建的同一组共享 VMDK;如果为 DSC02 重新创建磁盘,得到的不是共享磁盘。

6. 修改两台虚拟机的 VMX 文件

在两台虚拟机均已关闭的情况下,分别打开各自的 .vmx 文件

image.png

在文件末尾加入以下配置:

scsi1.sharedBus = "virtual" scsi1:1.deviceType = "disk" scsi1:2.deviceType = "disk" scsi1:3.deviceType = "disk" scsi1:4.deviceType = "disk" disk.locking = "FALSE" disk.EnableUUID = "TRUE" diskLib.dataCacheMaxSize = "0" diskLib.dataCacheMaxReadAheadSize = "0" diskLib.DataCacheMinReadAheadSize = "0" diskLib.dataCachePageSize = "4096" diskLib.maxUnsyncedWrites = "0"

保存前检查:

  • 两台虚拟机均包含相同的上述参数;
  • scsi1:1scsi1:4 与图形界面中的虚拟设备节点完全一致;
  • 文件中不存在同名但取值冲突的重复配置;
  • 每个参数独占一行,尤其不要把 diskLib.dataCachePageSizediskLib.maxUnsyncedWrites 写在同一行;
  • 修改后关闭文本编辑器,再启动虚拟机。

7. 操作系统内识别与一致性检查

两台虚拟机启动后,以 root 用户执行:

lsblk

确认系统识别到 4 块新增磁盘。设备名可能是 /dev/sdb/dev/sde,但不要仅依赖设备名判断磁盘,因为两节点或重启后的盘符顺序可能不同。

分别取得每块磁盘的唯一标识:

/usr/lib/udev/scsi_id -g -u /dev/sdb /usr/lib/udev/scsi_id -g -u /dev/sdc /usr/lib/udev/scsi_id -g -u /dev/sdd /usr/lib/udev/scsi_id -g -u /dev/sde

同一用途磁盘在两个节点上的 scsi_id 必须完全相同。设备名可以不同;scsi_id 不同则说明两节点没有挂载同一块共享磁盘,应停止后续部署并返回 VMware 配置检查。

检查完成后,有具体的序列号就代表已经配置成功,之后就可以进行DMDSC集群部署操作了。

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服