| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> DM 共享存储数据库集群(DSC) -> 正文阅读 |
|
[系统运维]DM 共享存储数据库集群(DSC) |
DM 共享存储数据库集群(DSC)
DMDSC 集群是一个多实例、单数据库的系统。多个数据库实例可以同时访问、修改同 一个数据库的数据。用户可以登录集群中的任意一个数据库实例,获得完整的数据库服务。 DMDSC 集群主要由数据库和数据库实例、共享存储、本地存储、通信网络、以及集群控制软件 DMCSS组成。
共享存储 物理存储器中一段可由两个以上的进程共享的存储空间。共享存储段具有大小和物理存储地址。想要访问共享存储段的进程可以连接这段存储区域到自己的地址空间中任何适合的地方,其他进程也一样。这样,多个进程便可以访问相同的物理存储。 DMDSC 集群中,为了实现多个实例同时访问、修改数据,要求将数据文件、控制文件、日志文件保存在共享存储上。配置 DMDSC 集群需要的 DCR、Voting disk 必须保存在 DMASM 文件系统管辖范围之外的共享存储上。 集群控制 集群控制是集群系统的重要组成部分。DMCSS 就是一款集群控制软件,专门负责监控 集群中各个节点的运行状态。DMCSS 主要功能包括:管理集群的启动和关闭,控制节点故障处理,以及管理节点重加入流程. 业务网卡,虚拟内部网络 虚拟内部网络:内部网络用于数据库实例之间交换信息和数据,MAL 链路使用的就是内部网络 心跳网卡,虚拟专用网络 虚拟专用网络:公共网络用于对外提供数据库服务,用户使用公共网络地址登录 DMDSC 集群,访问数据库。 共享内存 共享内存是一种快速、高效的进程间通信手段。所谓共享内存,就是同一块物理内存被 映射到多个进程的地址空间,进程 A 可以即时看到进程 B 对共享内存的修改,反之亦然。 DMASM 服务器进程和 DMASM 客户端进程之间通过共享内存方式共享 DMASM 文件到实际磁 盘的映射关系。 VIP 是一个不与特定计算机或者计算机中的网络接口相连的IP地址。 数据包被发送到这个 VIP 地址,但是所有的数据还是经过真实的网络接口。在集群环境中, 应用通过 VIP 连接数据库服务器,实例故障后,把实例配置的 VIP 设置到其他活动节点(叫 做 IP 漂移),这样应用可以不用修改配置,继续访问数据库服务。
说明:具体规划及部署方式以现场环境为准。
测试操作系统为centos7.5两台机器IP分别为192.168.184.131(主节点dsc1),192.168.184.133 dsc2此次搭建DSC是测试环境,在虚拟机VM16.0pro上需要新建共享磁盘。 在两台虚拟机都关机的情况下设置 打开dsc1 设置 ? ? 按需求设置大小 ? 不要将共享磁盘放置到虚拟机的磁盘下。 ? 点击确定 ? 打开dsc2 设置 添加磁盘 ? 不过选择磁盘要选择现有虚拟磁盘 ? 选择刚刚建的盘 ? 会出现下图现象 共享磁盘所在文件夹 ? ? 删除lck文件之后就可以打开 至此已添加完成共享存储,启动两台虚拟机 ? 共享磁盘添加成功。 储存规划
使用fdisk /dev/sdb 命令进行分区操作 只需要再DSC1节点处划分 [root@~]# fdisk /dev/sdb ? 1) 依次输入? n? p? 1? 回车? +100M,完成第一块磁盘划分 ? 2) 依次输入? n? p? 2? 回车? +100M,完成第二块磁盘划分 ? 3) 依次输入? n? p? 3? 回车? +20480M,完成第三块磁盘划分 ? 4) 依次输入? n? p? 回车? 回车? 回车,完成第四块磁盘划分 ? 5) 输入w命令,将裸设备划分的设置进行保存 输入fdisk -l查看是否同步 ? 已同步 绑定设备 [root@~]# vi /etc/udev/rules.d/70-persistent-ipoib.rules ? ACTION=="add", KERNEL=="sdb1", RUN+="/bin/raw /dev/raw/raw1 %N" ? ACTION=="add", KERNEL=="sdb2", RUN+="/bin/raw /dev/raw/raw2 %N" ? ACTION=="add", KERNEL=="sdb3", RUN+="/bin/raw /dev/raw/raw3 %N" ? ACTION=="add", KERNEL=="sdb4", RUN+="/bin/raw /dev/raw/raw4 %N" ? ACTION=="add", KERNEL=="raw[1-4]", OWNER="dmdba", GROUP="dinstall", MODE="660" [root@~]# partprobe /dev/sdb [root@~]# reboot 注意:可通过blockdev --getsize64 /dev/raw/raw1 、2、3、4命令分别查看设备大小。看是否对应 ? 对应,证明划分正确
?[root@~]# hostname dmdsc01 [root@~]# vi /etc/sysconfig/network ? NETWORKING=yes ? HOSTNAME=dmdsc01 [root@~]# vi /etc/hostsname ? dmdsc01
?[root@~]# systemctl stop firewalld [root@~]# systemctl disable firewalld [root@~]# systemctl status firewalld
?[root@~]# vi /etc/sysconfig/network-scripts/ifcfg-eth33 ? ONBOOT=yes [root@~]# systemctl restart network
?[root@~]# groupadd dinstall -g 2001;useradd -g dinstall dmdba -u 1001;passwd dmdba [root@~]# mkdir -p /opt/dsc/setup /opt/dsc/dmdbms /opt/dsc/config /opt/dsc/arch_0 /opt/dsc/arch_0_remote /opt/dsc/bak [root@~]# chown dmdba.dinstall /opt/dsc -R;chmod 777 /opt/dsc -R [dmdba@~]# /opt/dsc/setup/DMInstall.bin -i
?DCR_N_GRP????????? ??????= 3? #集群环境有多少个GROUP,范围:1~16 ? DCR_VTD_PATH??????? ?????= /dev/raw/raw2 ? DCR_OGUID?????????? ?????= 45331 [GRP] ?#新建一个GROUP ? DCR_GRP_TYPE?????? ??????= CSS? #组类型(CSS/ASM/DB) ? DCR_GRP_NAME?????? ??????= GRP_CSS? #组名 ? DCR_GRP_N_EP????? ???????= 2? #组内节点个数 ? DCR_GRP_DSKCHK_CNT?? ????= 60? #磁盘心跳容错时间,单位:秒 [GRP_CSS] ? DCR_EP_NAME??????? ??????= CSS0? #CSS节点名 ? DCR_EP_HOST??????? ??????= 192.168.56.101? #心跳地址 ? DCR_EP_PORT??????? ??????= 5336? #CSS端口 [GRP_CSS] ? DCR_EP_NAME?????? ???????= CSS1 ? DCR_EP_HOST?????? ???????=192.168.56.105 ? DCR_EP_PORT?????? ???????= 5337 [GRP] ? DCR_GRP_TYPE??????? ?????= ASM ? DCR_GRP_NAME???????? ????= GRP_ASM ? DCR_GRP_N_EP?????? ??????= 2 ? DCR_GRP_DSKCHK_CNT ??????= 60 [GRP_ASM] ? DCR_EP_NAME???????? ?????= ASM0? #ASM节点名,和dmasvrmal的MAL_INST_NAME一致 ? DCR_EP_SHM_KEY????? ?????= 93360? #共享内存标识 ? DCR_EP_SHM_SIZE???? ?????= 10? #共享内存大小 ? DCR_EP_HOST????????? ????= 192.168.56.101 #心跳地址 ? DCR_EP_PORT????????? ????= 5436? #ASM端口 ? DCR_EP_ASM_LOAD_PATH ????= /dev/raw [GRP_ASM] ? DCR_EP_NAME????????? ????= ASM1 ? DCR_EP_SHM_KEY???? ??????= 93361 ? DCR_EP_SHM_SIZE???? ?????= 10 ? DCR_EP_HOST???????? ?????= 192.168.56.105 ? DCR_EP_PORT????????? ????= 5437 ? DCR_EP_ASM_LOAD_PATH ????= /dev/raw [GRP] ? DCR_GRP_TYPE??????? ?????= DB ? DCR_GRP_NAME???????? ????= GRP_DSC ? DCR_GRP_N_EP??????? ?????= 2 ? DCR_GRP_DSKCHK_CNT? ?????= 60 [GRP_DSC] ? DCR_EP_NAME???????? ?????= DSC0? #实例名,和dm.ini的INSTANCE_NAME一致 ? DCR_EP_SEQNO??????? ?????= 0? #组内序号,不能重复 ? DCR_EP_PORT???????? ?????= 5236? #实例端口,和dm.ini的PORT_NUM一致 ? DCR_CHECK_PORT????? ?????= 5536? #DCR检查端口 [GRP_DSC] ? DCR_EP_NAME???????? ?????= DSC1 ? DCR_EP_SEQNO??????? ?????= 1 ? DCR_EP_PORT??????? ??????= 5236 ? DCR_CHECK_PORT???? ??????= 5537
1号机,在bin下面的./dmasmcmd ASM> create dcrdisk '/dev/raw/raw1' 'dcr' ASM> create votedisk '/dev/raw/raw2' 'vote' ASM> create asmdisk '/dev/raw/raw3' 'LOG0' ASM> create asmdisk '/dev/raw/raw4' 'DATA0' ASM> init dcrdisk '/dev/raw/raw1' from '/opt/dsc/config/dmdcr_cfg.ini' identified by 'admin1234' ASM> init votedisk '/dev/raw/raw2' from '/opt/dsc/config/dmdcr_cfg.ini'
?两机器相同配置在/opt/dsc/config下 [MAL_INST1] ? MAL_INST_NAME????? ??????= ASM0 ? MAL_HOST?????????? ??????= 192.168.56.101 #心跳地址 ? MAL_PORT?????????? ??????= 5636? #MAL监听端口 [MAL_INST2] ? MAL_INST_NAME???? ???????= ASM1 ? MAL_HOST????????? ???????= 192.168.56.105 ? MAL_PORT??????????? ?????= 5637
?1号机 DMDCR_PATH????????? ???????= /dev/raw/raw1 DMDCR_MAL_PATH?????? ??????= /opt/dsc/config/dmasvrmal.ini DMDCR_SEQNO????????? ??????= 0 DMDCR_AUTO_OPEN_CHECK??? ??= 90 #DMDCR_ASM_RESTART_INTERVAL = 30? #CSS认定ASM故障重启的时间 #DMDCR_ASM_STARTUP_CMD ?????= /opt/dsc/dmdbms/bin/dmasmsvr dcr_ini=/opt/dsc/config/dmdcr.ini #DMDCR_DB_RESTART_INTERVAL ?= 60? #CSS认定DSC故障重启的时间 #DMDCR_DB_STARTUP_CMD ??????= /opt/dsc/dmdbms/bin/dmserver path=/opt/dsc/config/dsc0_config/dm.ini dcr_ini=/opt/dsc/config/dmdcr.ini 注:当前是手动拉起,等配置完成后将#删除,可自动拉起
Css ./dmcss DCR_INI=/opt/dsc/config/dmdcr.ini Asm ./dmasmsvr DCR_INI=/opt/dsc/config/dmdcr.ini
1号机器 [dmdba@~]# /opt/dsc/dmdbms/bin/dmasmtool DCR_INI=/opt/dsc/config/dmdcr.ini ? ASM> create diskgroup 'DMLOG' asmdisk '/dev/raw/raw3' ? ASM> create diskgroup 'DMDATA' asmdisk '/dev/raw/raw4'
1、2机器配置相同 vi /opt/dsc/config/dminit.ini ? db_name?????????? ???????= dsc ? system_path???????? ?????= +DMDATA/data ? main?????????????? ??????= +DMDATA/data/dsc/main.dbf ? main_size????????? ??????= 128 ? roll?????????????? ??????= +DMDATA/data/dsc/roll.dbf ? roll_size????????? ??????= 128 ? system???????????? ??????= +DMDATA/data/dsc/system.dbf ? system_size??????? ??????= 128 ? ctl_path???? ????????????= +DMDATA/data/dsc/dm.ctl ? ctl_size?????????? ??????= 8 ? log_size????????? ???????= 2048 ? dcr_path????????? ???????= /dev/raw/raw1 ? dcr_seqno ???????????????= 0 ? auto_overwrite?????????? = 1 ? PAGE_SIZE???????? ???????= 32 ? CASE_SENSITIVE??? ???????= Y ? CHARSET?????????? ???????= 0 [DSC0] ? config_path??????? ??????= /opt/dsc/config/dsc0_config ? port_num?????????? ??????= 5236 ? mal_host?????????? ??????= 192.168.56.101 ? mal_port????????? ???????= 5736 ? log_path????????? ???????= +DMLOG/log/dsc0_log01.log ? log_path??????????? ?????= +DMLOG/log/dsc0_log02.log [DSC1] ? config_path???????? ?????= /opt/dsc/config/dsc1_config ? port_num??????????? ?????= 5236 ? mal_host?????????? ??????= 192.168.56.106 ? mal_port????????? ???????= 5737 ? log_path?????????? ??????= +DMLOG/log/dsc1_log01.log ? log_path?????????? ??????= +DMLOG/log/dsc1_log02.log
?--初始化实例 [dmdba@~]# /opt/dsc/dmdbms/bin/dminit control=/opt/dsc/config/dminit.ini ? ... ? create dm database success. 2020-11-14 21:25:31 --拷贝文件 [dmdba@~]# scp -r /opt/dsc/config/dsc1_config dmdba@192.168.56.106:/opt/dsc/config/
1号 vi /opt/dsc/config/dsc0_config/dmarch.ini [ARCHIVE_LOCAL] ? ARCH_TYPE???????? ???????= LOCAL ? ARCH_DEST????????? ??????= /opt/dsc/arch_0 ? ARCH_FILE_SIZE???? ??????= 1024 ? ARCH_SPACE_LIMIT??? ?????= 51200 [ARCHIVE_REMOTE] ? ARCH_TYPE????????? ??????= REMOTE ? ARCH_DEST????????? ??????= DSC1 ? ARCH_INCOMING_PATH ??????= /opt/dsc/arch_0_remote ? ARCH_FILE_SIZE???? ??????= 1024 ? ARCH_SPACE_LIMIT?? ??????= 51200 2号 vi /opt/dsc/config/dsc1_config/dmarch.ini [ARCHIVE_LOCAL] ? ARCH_TYPE?????????? ?????= LOCAL ? ARCH_DEST????????? ??????= /opt/dsc/arch_1 ? ARCH_FILE_SIZE????? ?????= 1024 ? ARCH_SPACE_LIMIT??? ?????= 51200 [ARCHIVE_REMOTE] ? ARCH_TYPE??????????? ????= REMOTE ? ARCH_DEST?????????? ?????= DSC0 ? ARCH_INCOMING_PATH? ?????= /opt/dsc/arch_1_remote ? ARCH_FILE_SIZE???? ??????= 1024 ? ARCH_SPACE_LIMIT?? ??????= 51200
/opt/dsc/dmdbms/bin/dmserver /opt/dsc/config/dsc0_config/dm.ini dcr_ini=/opt/dsc/config/dmdcr.ini 看是否有报错。
[root@~]# /opt/dsc/dmdbms/script/root/dm_service_installer.sh -t dmcss -dcr_ini /opt/dsc/config/dmdcr.ini -p CSS [root@~]# /opt/dsc/dmdbms/script/root/dm_service_installer.sh -t dmasmsvr -dcr_ini /opt/dsc/config/dmdcr.ini -y DmCSSServiceCSS.service -p ASM [root@~]# /opt/dsc/dmdbms/script/root/dm_service_installer.sh -t dmserver -dm_ini /opt/dsc/config/dsc0_config/dm.ini -dcr_ini /opt/dsc/config/dmdcr.ini -y DmASMSvrServiceASM.service -p DSC
1、2号机相同 vi /opt/dsc/dmdbms/bin/dmcssm.ini CSSM_OGUID??????????? ?????= 45331 CSSM_CSS_IP?????????? ?????= 192.168.56.101:5336 CSSM_CSS_IP?????????? ?????= 192.168.56.106:5337 CSSM_LOG_PATH????????? ????= ../log CSSM_LOG_FILE_SIZE??? ?????= 512 CSSM_LOG_SPACE_LIMIT?? ????= 2048
/opt/dsc/dmdbms/bin/dmcssm INI_PATH=/opt/dsc/dmdbms/bin/dmcssm.ini
启动:1/2机器CSS /opt/dsc/dmdbms/bin/DmCSSServiceCSS start CSS启动后30秒自动拉起ASM,60秒自动拉起DMSERVER。 停止: 1/2机器DMSERVER→A/B机器ASM→A/B机器CSS 说明:1)DSC正常停库必须2节点同时停止,根据目前脚本配置,CSS启动后30秒自动拉起ASM,60秒自动拉起DMSERVER,所以停止DMSERVER和ASM后,要尽快停止CSS,避免被自动拉起。2)ASM服务在任意节点停止,2个节点的ASM服务都会停止,为了保险起见,可以两边都执行停止命令。3)服务全部停止后,要检查后台进程是否全部停止。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/16 6:46:08- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |