IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: 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)

  1. 概述

DMDSC 集群是一个多实例、单数据库的系统。多个数据库实例可以同时访问、修改同 一个数据库的数据。用户可以登录集群中的任意一个数据库实例,获得完整的数据库服务。

DMDSC 集群主要由数据库和数据库实例、共享存储、本地存储、通信网络、以及集群控制软件 DMCSS组成。

  1. 相关知识点

共享存储

物理存储器中一段可由两个以上的进程共享的存储空间。共享存储段具有大小和物理存储地址。想要访问共享存储段的进程可以连接这段存储区域到自己的地址空间中任何适合的地方,其他进程也一样。这样,多个进程便可以访问相同的物理存储。

DMDSC 集群中,为了实现多个实例同时访问、修改数据,要求将数据文件、控制文件、日志文件保存在共享存储上。配置 DMDSC 集群需要的 DCR、Voting disk 必须保存在 DMASM 文件系统管辖范围之外的共享存储上。

集群控制

集群控制是集群系统的重要组成部分。DMCSS 就是一款集群控制软件,专门负责监控 集群中各个节点的运行状态。DMCSS 主要功能包括:管理集群的启动和关闭,控制节点故障处理,以及管理节点重加入流程.

业务网卡,虚拟内部网络

虚拟内部网络:内部网络用于数据库实例之间交换信息和数据,MAL 链路使用的就是内部网络

心跳网卡,虚拟专用网络

虚拟专用网络:公共网络用于对外提供数据库服务,用户使用公共网络地址登录 DMDSC 集群,访问数据库。

共享内存

共享内存是一种快速、高效的进程间通信手段。所谓共享内存,就是同一块物理内存被 映射到多个进程的地址空间,进程 A 可以即时看到进程 B 对共享内存的修改,反之亦然。 DMASM 服务器进程和 DMASM 客户端进程之间通过共享内存方式共享 DMASM 文件到实际磁 盘的映射关系。

VIP

是一个不与特定计算机或者计算机中的网络接口相连的IP地址。 数据包被发送到这个 VIP 地址,但是所有的数据还是经过真实的网络接口。在集群环境中, 应用通过 VIP 连接数据库服务器,实例故障后,把实例配置的 VIP 设置到其他活动节点(叫 做 IP 漂移),这样应用可以不用修改配置,继续访问数据库服务。

  1. 搭建
    1. 1、集群规划

A机器

B机器

业务IP

192.168.56.101

192.168.56.105

心跳IP

192.168.56.101

192.168.56.105

软件目录

/opt/dsc/setup

/opt/dsc/setup

安装目录

/opt/dsc/dmdbms

/opt/dsc/dmdbms

配置文件目录

/opt/dsc/config

/opt/dsc/config

归档日志目录

/opt/dsc/arch_0

/opt/dsc/arch_1

远程归档目录

/opt/dsc/arch_0_remote

/opt/dsc/arch_1_remote

备份目录

/opt/dsc/bak

/opt/dsc/bak

dmdcr_cfg

CSS

DCR_EP_NAME

CSS0

CSS1

DCR_EP_HOST

192.168.56.101

192.168.56.105

DCR_EP_PORT

5336

5337

ASM

DCR_EP_NAME

ASM0

ASM1

DCR_EP_HOST

192.168.56.101

192.168.56.105

DCR_EP_PORT

5436

5437

DB

DCR_EP_NAME

DSC0

DSC1

DCR_EP_PORT

5236

5236

DCR_CHECK_PORT

5536

5537

dmasvrmal

MAL_INST_NAME

ASM0

ASM1

MAL_HOST

192.168.56.101

192.168.56.105

MAL_PORT

5636

5637

dminit

PORT_NUM

5236

5236

MAL_HOST

192.168.56.101

192.168.56.105

MAL_PORT

5736

5737

归档上限

51200

51200

OGUID

45331

说明:具体规划及部署方式以现场环境为准。

    1. 2、创建共享磁盘

测试操作系统为centos7.5两台机器IP分别为192.168.184.131(主节点dsc1),192.168.184.133 dsc2此次搭建DSC是测试环境,在虚拟机VM16.0pro上需要新建共享磁盘。

在两台虚拟机都关机的情况下设置

打开dsc1 设置

?

?

按需求设置大小

?

不要将共享磁盘放置到虚拟机的磁盘下。

?

点击确定

?

打开dsc2 设置

添加磁盘

?

不过选择磁盘要选择现有虚拟磁盘

?

选择刚刚建的盘

?

会出现下图现象

共享磁盘所在文件夹

?

?

删除lck文件之后就可以打开

至此已添加完成共享存储,启动两台虚拟机
使用命令 fdisk -l 可以查看共享磁盘信息,其中 /dev/sdb 没有使用

?

共享磁盘添加成功。

储存规划

用途

空间规划(总共6T)

sdb1用于dcr信息

100M

sdb2用于存放vote信息

100M

sdb3用于存放redo log

20480M

sdb4用于存放data

剩下的全部空间

使用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命令分别查看设备大小。看是否对应

?

对应,证明划分正确

    1. 搭建DSC
      1. 改主机名1(2号机换成2)

?[root@~]# hostname dmdsc01

[root@~]# vi /etc/sysconfig/network

? NETWORKING=yes

? HOSTNAME=dmdsc01

[root@~]# vi /etc/hostsname

? dmdsc01

      1. 关防火墙

?[root@~]# systemctl stop firewalld

[root@~]# systemctl disable firewalld

[root@~]# systemctl status firewalld

      1. 网卡自启

?[root@~]# vi /etc/sysconfig/network-scripts/ifcfg-eth33

? ONBOOT=yes

[root@~]# systemctl restart network

      1. 创建用户、目录、安装数据库安装到/opt/dsc/dmdbms目录下

?[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

      1. 创建dmdcr_cfg.ini(11、2配置相同)

?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节点名,和dmasvrmalMAL_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.iniINSTANCE_NAME一致

? DCR_EP_SEQNO??????? ?????= 0? #组内序号,不能重复

? DCR_EP_PORT???????? ?????= 5236? #实例端口,和dm.iniPORT_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. 初始化磁盘

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'

      1. 创建dmasvrmal.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.ini

?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

注:当前是手动拉起,等配置完成后将#删除,可自动拉起

      1. 启动CSS、ASM服务bin目录下1、2号机依次启动

Css

./dmcss DCR_INI=/opt/dsc/config/dmdcr.ini

Asm

./dmasmsvr DCR_INI=/opt/dsc/config/dmdcr.ini

      1. 创建DMASM磁盘组

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. 创建dminit.ini

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

      1. 初始化实例

?--初始化实例

[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. 创建dmarch.ini,开归档

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

      1. ?启动DMSERVER服务

/opt/dsc/dmdbms/bin/dmserver /opt/dsc/config/dsc0_config/dm.ini dcr_ini=/opt/dsc/config/dmdcr.ini

看是否有报错。

      1. 注册CSS、ASM、DMSERVER后台服务

[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. 配置监视器

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

      1. 启动监视器

/opt/dsc/dmdbms/bin/dmcssm INI_PATH=/opt/dsc/dmdbms/bin/dmcssm.ini

      1. 启停集群

启动: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)服务全部停止后,要检查后台进程是否全部停止。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-01-08 14:27:52  更:2022-01-08 14:30:20 
 
开发: 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-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码