本次任务为使用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集群
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"
udevadm trigger --action=add
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
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'
[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
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
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
./dmcss DCR_INI=/dm/data/dsc/dmdcr.ini #dmcss
./dmasmsvr DCR_INI=/dm/data/dsc/dmdcr.ini #dmasmsvr
单独启动dmcss只有如下输出
只启动DSC0dmcss与dmasmsvr会只有以下输出
两集群真正启动之后就会有如下效果
Dsc0节点启动dmasmtool创建共享磁盘
./dmasmtool DCR_INI=/dm/data/dsc/dmdcr.ini
create diskgroup 'DMLOG' asmdisk '/dev/dmarchive' #创建磁盘日志组
create diskgroup 'DMDATA' asmdisk '/dev/dmdata' #创建数据磁盘组
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
./dminit control=/dm/data/dsc/dminit.ini
./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
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
./dmcssm INI_PATH=/dm/data/dmcssm.ini
输入show命令即可看到当前状态
文章浏览阅读86次。首发地址:https://yq.aliyun.com/articles/221708谈到机器学习,相信很多除学者都是通过斯坦福大学吴恩达老师的公开课《Machine Learning》开始具体的接触机器学习这个领域,但是学完之后又不知道自己的掌握情况,缺少一些实际的项目操作。对于机器学习的相关竞赛挑战,有些项目的门槛有些高,参加后难以具体的实现,因此造..._scrath五子棋下载
文章浏览阅读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
文章浏览阅读376次。贪心+构造
文章浏览阅读150次。本文讲的是Linux命名空间学习教程(二) IPC,【编者的话】Docker核心解决的问题是利用LXC来实现类似VM的功能,从而利用更加节省的硬件资源提供给用户更多的计算资源。而 LXC所实现的隔离性主要是来自内核的命名空间, 其中pid、net、ipc、mnt、uts 等命名空间将容器的进程、网络、消息、文件系统和hostname 隔离开。本文是Li..._主机的 ipc 命名空间
文章浏览阅读2w次,点赞5次,收藏7次。在设备上强制安装apk。在app已有的情况下使用-r参数在app版本低于现有版本使用-d参数命令adb install -r -d xxx.apk_adb绕过安装程序强制安装app
文章浏览阅读290次。如果是越界进入硬件错误中断,MSP 或者 PSP 保存错误地址,跳转前会保存上一次执行的地址,lr 寄存器会保存子函数的地址,所以如果在 HardFault_CallBack 中直接调用 C 语言函数接口会间接修改了 lr,为了解决这个问题,直接绕过 lr 的 C 语言代码,用汇编语言提取 lr 寄存器再决定后面的操作。由于 STM32 加入了 FreeRTOS 操作系统,可能导致无法准确定位,仅供参考(日常编程需要考虑程序的健壮性,特别是对数组的访问,非常容易出现越界的情况)。_stm32flash地址越界怎么解决
文章浏览阅读1.8k次。学到了一种操作,说实话,我从来没想过还能这样正常情况下,为了管理方便,许多管理员都会开放MySQL数据库的secure_file_priv,这时就可以导入或者导出数据当我如图输入时,就会在D盘创建一个名为123456.php,内容为<?php phpinfo();?>的文件我们可以利用这一点运用到SQL注入中,从拿下数据库到拿下目标的服务器比如我们在使用联合查询注入,正常是这样的语句http://xxx?id=-1 union select 1,'你想知道的字段的内容或查询语句',
文章浏览阅读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代码
文章浏览阅读625次。近几年,蓝牙耳机市场发展迅速,越来越多的消费者希望抛弃线缆,更自由地听音乐,对于运动人士来说,蓝牙耳机的便携性显得尤为重要。但目前市面上的大多数蓝牙耳机实际上都是“有线”的,运动过程中产生的听诊器效应会严重影响听歌的感受。而在“真无线”耳机领域,除了苹果的AirPods外,可供选择的产品并不多,而AirPods又不是为运动场景打造的,防水能力非常差。那么对于喜欢运动又想要“自由”的朋友来说,有没有一款产品能够满足他们的需求呢?下面这十款小编专门为大家搜罗的蓝牙耳机或许就能找到适合的!网红击音F1_适合游戏与运动的高音质蓝牙耳机
文章浏览阅读1k次,点赞6次,收藏7次。在本篇博文中,我们在 iOS 17 beta 4(SwiftUI 5.0)测试版中发现了 SwiftUI 视图首次显示时状态的改变会导致动画“副作用”的问题,并提出多种解决方案。
文章浏览阅读1.9k次。 在 上篇文章–Flutter 实现支持上拉加载和下拉刷新的 ListView 中,我们最终实现的效果是在 listView 上面留下了一段空白,本意是用来加载轮播图的,于是今天就开发了一下,希望能给各位灵感。一 、效果如下说一下大体思路 其实图片展示是用的 PageView ,然后,下面的指示器 是用的 TabPageSelector ,当然整体是用 Stack 包裹起来的。1、..._flutter pageview轮播图 site:csdn.net