vmware 以uuid绑定共享存储磁盘_vmware 共享磁盘uuid-程序员宅基地

技术标签: 笔记  运维  linux  服务器  

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

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

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

本次规划的目标

磁盘名称 空间大小
DCR 100MB
VOTE 200MB
REDO 1GB
DATA 10GB
ARCHIVE 5GB

存放目标目录为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命令即可看到当前状态

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_43350987/article/details/122011195

智能推荐

适合入门的8个趣味机器学习项目-程序员宅基地

文章浏览阅读86次。首发地址:https://yq.aliyun.com/articles/221708谈到机器学习,相信很多除学者都是通过斯坦福大学吴恩达老师的公开课《Machine Learning》开始具体的接触机器学习这个领域,但是学完之后又不知道自己的掌握情况,缺少一些实际的项目操作。对于机器学习的相关竞赛挑战,有些项目的门槛有些高,参加后难以具体的实现,因此造..._scrath五子棋下载

oracle 12c avg,Oracle 12c新特性系列专题-安徽Oracle授权认证中心-程序员宅基地

文章浏览阅读83次。原标题:Oracle 12c新特性系列专题-安徽Oracle授权认证中心 随着Oracle database 12c的普及,数据库管理员 (DBA) 的角色也随之发生了转变。 Oracle 12c数据库对 DBA 而言是下一代数据管理。它让 DBA 可以摆脱单调的日常管理任务,能够专注于如何从数据中获取更多价值。未来我们会推出基于Oracle12c的技术文章,帮助DBA尽快掌握新一代数据库的新特性..._ilm add policy row store compress advanced row after

第七周项目三(负数把正数赶出队列)-程序员宅基地

文章浏览阅读150次。问题及代码:*Copyright(c)2016,烟台大学计算机与控制工程学院 *All right reserved. *文件名称:负数把正数赶出队列.cpp *作者:张冰 *完成日期;2016年10月09日 *版本号;v1.0 * *问题描述: 设从键盘输入一整数序列a1,a2,…an,试编程实现: 当ai>0时,ai进队,当ai<0时,将队首元素出队,当ai

Linux命名空间学习教程(二) IPC-程序员宅基地

文章浏览阅读150次。本文讲的是Linux命名空间学习教程(二) IPC,【编者的话】Docker核心解决的问题是利用LXC来实现类似VM的功能,从而利用更加节省的硬件资源提供给用户更多的计算资源。而 LXC所实现的隔离性主要是来自内核的命名空间, 其中pid、net、ipc、mnt、uts 等命名空间将容器的进程、网络、消息、文件系统和hostname 隔离开。本文是Li..._主机的 ipc 命名空间

adb强制安装apk_adb绕过安装程序强制安装app-程序员宅基地

文章浏览阅读2w次,点赞5次,收藏7次。在设备上强制安装apk。在app已有的情况下使用-r参数在app版本低于现有版本使用-d参数命令adb install -r -d xxx.apk_adb绕过安装程序强制安装app

随便推点

STM32F407 越界问题定位_stm32flash地址越界怎么解决-程序员宅基地

文章浏览阅读290次。如果是越界进入硬件错误中断,MSP 或者 PSP 保存错误地址,跳转前会保存上一次执行的地址,lr 寄存器会保存子函数的地址,所以如果在 HardFault_CallBack 中直接调用 C 语言函数接口会间接修改了 lr,为了解决这个问题,直接绕过 lr 的 C 语言代码,用汇编语言提取 lr 寄存器再决定后面的操作。由于 STM32 加入了 FreeRTOS 操作系统,可能导致无法准确定位,仅供参考(日常编程需要考虑程序的健壮性,特别是对数组的访问,非常容易出现越界的情况)。_stm32flash地址越界怎么解决

利用SQL注入上传木马拿webshell-程序员宅基地

文章浏览阅读1.8k次。学到了一种操作,说实话,我从来没想过还能这样正常情况下,为了管理方便,许多管理员都会开放MySQL数据库的secure_file_priv,这时就可以导入或者导出数据当我如图输入时,就会在D盘创建一个名为123456.php,内容为<?php phpinfo();?>的文件我们可以利用这一点运用到SQL注入中,从拿下数据库到拿下目标的服务器比如我们在使用联合查询注入,正常是这样的语句http://xxx?id=-1 union select 1,'你想知道的字段的内容或查询语句',

Html CSS的三种链接方式_html链接css代码-程序员宅基地

文章浏览阅读2.9w次,点赞12次,收藏63次。感谢原文:https://blog.csdn.net/abc5382334/article/details/24260817感谢原文:https://blog.csdn.net/jiaqingge/article/details/52564348Html CSS的三种链接方式css文本的链接方式有三种:分别是内联定义、链入内部css、和链入外部css1.代码为:<html>..._html链接css代码

玩游戏哪款蓝牙耳机好?2021十大高音质游戏蓝牙耳机排名_适合游戏与运动的高音质蓝牙耳机-程序员宅基地

文章浏览阅读625次。近几年,蓝牙耳机市场发展迅速,越来越多的消费者希望抛弃线缆,更自由地听音乐,对于运动人士来说,蓝牙耳机的便携性显得尤为重要。但目前市面上的大多数蓝牙耳机实际上都是“有线”的,运动过程中产生的听诊器效应会严重影响听歌的感受。而在“真无线”耳机领域,除了苹果的AirPods外,可供选择的产品并不多,而AirPods又不是为运动场景打造的,防水能力非常差。那么对于喜欢运动又想要“自由”的朋友来说,有没有一款产品能够满足他们的需求呢?下面这十款小编专门为大家搜罗的蓝牙耳机或许就能找到适合的!网红击音F1_适合游戏与运动的高音质蓝牙耳机

iOS 17 测试版中 SwiftUI 视图首次显示时状态的改变导致动画“副作用”的解决方法-程序员宅基地

文章浏览阅读1k次,点赞6次,收藏7次。在本篇博文中,我们在 iOS 17 beta 4(SwiftUI 5.0)测试版中发现了 SwiftUI 视图首次显示时状态的改变会导致动画“副作用”的问题,并提出多种解决方案。

Flutter 自定义 轮播图的实现_flutter pageview轮播图 site:csdn.net-程序员宅基地

文章浏览阅读1.9k次。  在 上篇文章–Flutter 实现支持上拉加载和下拉刷新的 ListView 中,我们最终实现的效果是在 listView 上面留下了一段空白,本意是用来加载轮播图的,于是今天就开发了一下,希望能给各位灵感。一 、效果如下说一下大体思路   其实图片展示是用的 PageView ,然后,下面的指示器 是用的 TabPageSelector ,当然整体是用 Stack 包裹起来的。1、..._flutter pageview轮播图 site:csdn.net