vmware 以uuid绑定共享存储磁盘

本次任务为使用uuid绑定磁盘后安装数据库
找到对应安装在vmware目录下的vmware-vdiskmanager.exe
在这里插入图片描述
使用命令行打开(可用cmd,本文使用powershell)
在这里插入图片描述

cd 'C:\Program Files (x86)\VMware\VMware Workstation'
ls vmware-vdiskmanager.exe

有以下输出证明路径正确
在这里插入图片描述

本次规划的目标

磁盘名称空间大小
DCR100MB
VOTE200MB
REDO1GB
DATA10GB
ARCHIVE5GB

存放目标目录为D:\vmware\share_disk

.\vmware-vdiskmanager.exe -c -s 100MB -a lsilogic -t 2 "D:\vmware\share_disk\DCR.vmdk"
.\vmware-vdiskmanager.exe -c -s 200MB -a lsilogic -t 2 "D:\vmware\share_disk\VOTE.vmdk"
.\vmware-vdiskmanager.exe -c -s 2GB -a lsilogic -t 2 "D:\vmware\share_disk\REDO.vmdk"
.\vmware-vdiskmanager.exe -c -s 10GB -a lsilogic -t 2 "D:\vmware\share_disk\DATA.vmdk"
.\vmware-vdiskmanager.exe -c -s 5GB -a lsilogic -t 2 "D:\vmware\share_disk\ARCHIVE.vmdk"

在这里插入图片描述
在这里插入图片描述
回到目录,磁盘已经创建完成
在这里插入图片描述

重复操作4次

添加5个磁盘到虚拟机1中(由于篇幅问题,步骤已经省略,步骤可以在过去的博文中找到)
在虚拟机1的文件夹中找到.vmx加入

disk.locking=false
disk.EnableUUID = "TRUE"
#如果想要使用uuid,可以加入EnableUUID 

添加5个磁盘到虚拟机2中(由于篇幅问题,步骤已经省略,步骤可以在过去的博文中找到)

进入第二台虚拟机中,在虚拟机2的文件夹中找到.vmx加入设置所有的bus 共享

disk.locking=false
disk.EnableUUID = "TRUE"
#如果想要使用uuid,可以加入EnableUUID 

虚拟机1和虚拟机2同样的磁盘需要在虚拟机中设定好对应的SCSI(添加磁盘的顺序不能错)

启动虚拟机即可查看到共享磁盘组

虚拟机1
在这里插入图片描述

在虚拟机中如果发现新增磁盘之后fdisk -l 不显示
则进入root输入
(虚拟机有三根总线)

[root@localhost dmdba]# echo "- - -" > /sys/class/scsi_host/host0/scan
[root@localhost dmdba]# echo "- - -" > /sys/class/scsi_host/host1/scan
[root@localhost dmdba]# echo "- - -" > /sys/class/scsi_host/host2/scan

查询对应的uuid是否一致

#使用SCSI绑定检测uuid是否一致
for i in b c d e f g;
do
/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i
done

如果使用的是nvme硬盘

for i in b c d e f g;
do
ls -la /dev/disk/by-id|grep nvme

之后搭建dsc集群

  1. 修改权限,编辑两个节点的/etc/udev/rules.d/60-raw.rules 文件
KERNEL=="sd?",SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29c410a60e54ae604a731e06cc9", SYMLINK+="dmdcr",OWNER="dmdba", GROUP="dinstall",MODE="0660"
KERNEL=="sd?",SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29e912d081ee6282add0327fff7", SYMLINK+="dmvote",OWNER="dmdba", GROUP="dinstall",MODE="0660"
KERNEL=="sd?",SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c2902354c5b2f6ebcdfe4d2a5df4", SYMLINK+="asm-d",OWNER="dmdba", GROUP="dinstall",MODE="0660"
KERNEL=="sd?",SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c298c722c8de0493319f9773fb91", SYMLINK+="dmdata",OWNER="dmdba", GROUP="dinstall",MODE="0660"
KERNEL=="sd?",SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c295920294d45bf9f8505767866a", SYMLINK+="dmarchive",OWNER="dmdba", GROUP="dinstall",MODE="0660"
KERNEL=="sd?",SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29cd90c725f9731eaff1a18ae24", SYMLINK+="asm-diskg",OWNER="dmdba", GROUP="dinstall",MODE="0660"
KERNEL=="sd?",SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c296a2b878077c8972d18c2de926", SYMLINK+="dmredo",OWNER="dmdba", GROUP="dinstall",MODE="0660"
  1. 执行
udevadm trigger --action=add

配置DSC节点文件

  1. 在DSC0上配置/dm/data/dsc/dmdcr_cfg.ini
DCR_N_GRP                = 3
DCR_VTD_PATH             = /dev/dmvote
DCR_OGUID                = 210331

[GRP]
  DCR_GRP_TYPE           = CSS
  DCR_GRP_NAME           = GRP_CSS
  DCR_GRP_N_EP           = 2
  DCR_GRP_DSKCHK_CNT     = 65
[GRP_CSS]
  DCR_EP_NAME            = CSS0
  DCR_EP_HOST            = 192.168.48.20
  DCR_EP_PORT            = 31286
[GRP_CSS]
  DCR_EP_NAME            = CSS1
  DCR_EP_HOST            = 192.168.48.21
  DCR_EP_PORT            = 31286

[GRP]
  DCR_GRP_TYPE           = ASM
  DCR_GRP_NAME           = GRP_ASM
  DCR_GRP_N_EP           = 2
  DCR_GRP_DSKCHK_CNT     = 61
[GRP_ASM]
  DCR_EP_NAME            = ASM0
  DCR_EP_SHM_KEY         = 42424
  DCR_EP_SHM_SIZE        = 200
  DCR_EP_HOST            = 192.168.48.20
  DCR_EP_PORT            = 31276
  DCR_EP_ASM_LOAD_PATH   = /dev
[GRP_ASM]
  DCR_EP_NAME            = ASM1
  DCR_EP_SHM_KEY         = 42425
  DCR_EP_SHM_SIZE        = 200
  DCR_EP_HOST            = 192.168.48.21
  DCR_EP_PORT            = 31277
  DCR_EP_ASM_LOAD_PATH   = /dev

[GRP]
  DCR_GRP_TYPE           = DB
  DCR_GRP_NAME           = GRP_DSC
  DCR_GRP_N_EP           = 2
  DCR_GRP_DSKCHK_CNT     = 57
[GRP_DSC]
  DCR_EP_NAME            = DSC_DSC0
  DCR_EP_SEQNO           = 0
  DCR_EP_PORT            = 5236

  1. 双节点使用DMASMCMD初始化
create dcrdisk '/dev/dmdcr' 'dcr'
create votedisk '/dev/dmvote' 'vote'
create asmdisk '/dev/dmarchive' 'LOG0'
create asmdisk '/dev/dmdata' 'DATA0'
init dcrdisk '/dev/dmdcr' from '/dm/data/dsc/dmdcr_cfg.ini' identified by 'abcd'
init votedisk '/dev/dmvote' from '/dm/data/dsc/dmdcr_cfg.ini'
  1. 双节点配置dmasvrmal.ini
    两节点内容完全一样
[MAL_INST0]
MAL_INST_NAME            = ASM0
MAL_HOST                 = 192.168.48.20
MAL_PORT                 = 31266
[MAL_INST1]
MAL_INST_NAME            = ASM1
MAL_HOST                 = 192.168.48.21
MAL_PORT                 = 31266
  1. DSC0节点配置dmdcr.ini
DMDCR_PATH                   = /dev/dmdcr
DMDCR_MAL_PATH               = /dm/dsc_config/DSC_DSC0/dmasvrmal.ini
DMDCR_SEQNO                  = 0
DMDCR_ASM_RESTART_INTERVAL   = 71
DMDCR_ASM_STARTUP_CMD        = /dm/dsc_config/DmAsmServiceDSC_DSC0 start
DMDCR_DB_RESTART_INTERVAL    = 0
DMDCR_DB_STARTUP_CMD         = /dm/dsc_config/DmServiceDSC_DSC0 start
DMDCR_AUTO_OPEN_CHECK        = 111

  1. DSC1节点配置dmdcr.ini
DMDCR_PATH                   = /dev/dmdcr
DMDCR_MAL_PATH               = /dm/dsc_config/DSC_DSC1/dmasvrmal.ini
DMDCR_SEQNO                  = 0
DMDCR_ASM_RESTART_INTERVAL   = 71
DMDCR_ASM_STARTUP_CMD        = /dm/dsc_config/DmAsmServiceDSC_DSC1 start
DMDCR_DB_RESTART_INTERVAL    = 0
DMDCR_DB_STARTUP_CMD         = /dm/dsc_config/DmServiceDSC_DSC1 start
DMDCR_AUTO_OPEN_CHECK        = 111

  1. 在DSC0和DSC1先后启动dmcss、dmasmsvr
./dmcss DCR_INI=/dm/data/dsc/dmdcr.ini #dmcss
./dmasmsvr DCR_INI=/dm/data/dsc/dmdcr.ini #dmasmsvr
  1. 单独启动dmcss只有如下输出
    在这里插入图片描述

  2. 只启动DSC0dmcss与dmasmsvr会只有以下输出
    在这里插入图片描述

  3. 两集群真正启动之后就会有如下效果
    在这里插入图片描述

  4. Dsc0节点启动dmasmtool创建共享磁盘

./dmasmtool DCR_INI=/dm/data/dsc/dmdcr.ini
create diskgroup 'DMLOG' asmdisk '/dev/dmarchive'  #创建磁盘日志组
create diskgroup 'DMDATA' asmdisk '/dev/dmdata' #创建数据磁盘组
  1. 在/dm/data/dsc目录下新建一个dminit.ini文件
DB_NAME                  = DSC_DSC
SYSDBA_PWD               = SYSDBA_PWD
SYSTEM_PATH              = +DMDATA/data
SYSTEM                   = +DMDATA/data/SYSTEM.dbf
SYSTEM_SIZE              = 1024
ROLL                     = +DMDATA/data/ROLL.dbf
ROLL_SIZE                = 1024
MAIN                     = +DMDATA/data/MAIN.dbf
MAIN_SIZE                = 1024
CTL_PATH                 = +DMDATA/data/dm.ctl
CTL_SIZE                 = 8
LOG_SIZE                 = 256
DCR_PATH                 = /dev/dmdcr
DCR_SEQNO                = 0
AUTO_OVERWRITE           = 1
PAGE_SIZE                = 16
EXTENT_SIZE              = 16
CASE_SENSITIVE           = 1
UNICODE_FLAG             = 0

[DSC_DSC0]
CONFIG_PATH              = /dm/dsc_config/DSC_DSC0
PORT_NUM                 = 5236
MAL_HOST                 = 192.168.48.20
MAL_PORT                 = 31246
LOG_PATH                 = +DMLOG/DSC_DSC0_LOG01.log
LOG_PATH                 = +DMLOG/DSC_DSC0_LOG02.log
[DSC_DSC1]
CONFIG_PATH              = /dm/dsc_config/DSC_DSC1
PORT_NUM                 = 5236
MAL_HOST                 = 192.168.48.21
MAL_PORT                 = 31246
LOG_PATH                 = +DMLOG/DSC_DSC1_LOG01.log
LOG_PATH                 = +DMLOG/DSC_DSC1_LOG02.log
  1. 启动dminit初始化DB环境
    DSC0执行以下命令
./dminit control=/dm/data/dsc/dminit.ini

在这里插入图片描述

  1. 将dsc1_config文件夹发送到dsc1的相同目录下

启动DMDSC集群

  1. 分别在dsc0和dsc1下启动dmserver即可完成dsc搭建
./dmserver /dm/data/dsc0_config/dm.ini dcr_ini=/dm/data/dsc/dmdcr.ini #dsc0
./dmserver /dm/data/dsc1_config/dm.ini dcr_ini=/dm/data/dsc/dmdcr.ini`#dsc1

在这里插入图片描述

monitor配置

配置dmcssm.ini

CSSM_OGUID                = 210331
  
CSSM_CSS_IP            = 192.168.48.20:31286
CSSM_CSS_IP            = 192.168.48.21:31286

CSSM_LOG_PATH          = /dm/log
CSSM_LOG_FILE_SIZE     = 16
CSSM_LOG_SPACE_LIMIT   = 512

在monitor启动监视器

./dmcssm INI_PATH=/dm/data/dmcssm.ini

输入show命令即可看到当前状态

### 如何在 VMware 中修改虚拟机的 UUID #### 修改 UUID 的背景说明 UUID (Universally Unique Identifier) 是用于唯一识别每台虚拟机的重要属性。当遇到网络冲突或其他需要重新分配唯一标识的情况时,可能需要手动更改虚拟机的 UUID。 #### 使用命令行工具 vmware-vim-cmd 更改 VMWare Fusion 或 Workstation 上虚拟机的 UUID 对于 macOS 用户使用 VMware Fusion 或 Windows/Linux 平台上运行 VMware Workstation 来管理虚拟机的情况下,可以借助 `vmware-vim-cmd` 命令行工具来完成此操作[^1]。 具体步骤如下: - 打开终端应用; - 输入以下指令停止目标虚拟机(假设虚拟机名称为 "myVM"): ```bash vmrun stop ~/Virtual\ Machines.localized/myVM.vmx soft ``` - 接着通过编辑 .vmx 文件的方式改变现有虚拟机器实例的 UUID 设置,在对应的 `.vmx` 文件中添加或更新下面这行配置项: ```properties uuid.bios = "56 4d e7 b8 d9 c2 f0 a3-fb 4a 0c de ad be ef" ``` 注意:上述字符串应当替换为你希望设置的新 UUID 数值;该数值需遵循标准格式并确保全局唯一性。 - 可选地也可以利用官方提供的 API 函数调用来动态调整正在运行中的虚拟设备的 BIOS UUID 属性,但这通常适用于更高级别的自动化脚本开发场景下[^2]。 #### 编辑 .vmx 文件直接设定新的 UUID 另一种更为直观的办法就是直接打开存储于磁盘上的特定虚拟机描述文件(.vmx),找到其中有关 uuid.bios 和/或 uuid.location 的定义部分,并给予它们期望的具体取值。不过这种方法要求使用者具备一定的文本编辑能力和谨慎态度以免误删其他重要参数造成不可预见的问题发生。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值