DM7集群部署方案之数据守护集群Linux(主备)
linux双机热备方案
linux双机热备方案在现代信息技术高速发展的背景下,高可用性和数据安全性成为企业日常运营中非常重要的课题。
特别是对于采用Linux操作系统的企业来说,实施一个可靠的双机热备方案是至关重要的。
本文将介绍一种基于Linux操作系统的双机热备方案,以帮助企业实现高可用性和数据容灾。
一、方案概述双机热备方案是通过利用两台运行相同应用和环境的服务器,以实现故障转移和数据灾备的目的。
在该方案中,主服务器负责处理正常的业务请求,而备用服务器则实时复制主服务器上的数据和配置信息,并保持与主服务器的高度同步。
一旦主服务器发生故障,备用服务器将自动接管业务,并在最短的时间内实现故障恢复。
二、硬件要求在部署Linux双机热备方案之前,首先需要确保服务器硬件满足要求。
这包括两个方面:1. 服务器性能要求:主服务器和备用服务器的硬件性能应该相当,以确保业务在两台服务器之间的切换时不会出现性能瓶颈。
服务器应具备足够的处理能力和内存容量,以支持所运行的应用和服务。
2. 存储设备要求:为了实现数据的高可用性和容灾备份,主服务器和备用服务器应采用相同的存储设备。
这可以保证数据在主备服务器之间的实时同步和复制。
三、软件配置在Linux双机热备方案中,需要配置一系列软件来实现主备服务器之间的数据同步和故障转移。
以下是必要的软件配置内容:1. Heartbeat软件:Heartbeat是一种开源软件工具,用于检测主服务器的可用性。
它会定期发送心跳信号给备用服务器,以确认主服务器的正常运行。
一旦主服务器发生故障,备用服务器将接收到心跳信号的中断,并立即启动故障切换操作。
2. DRBD软件:DRBD是一种分布式块设备复制工具,在主备服务器之间实现数据的实时同步。
通过配置DRBD,主服务器上的数据将实时复制到备用服务器上,从而保持数据的高可用性和一致性。
3. Cluster软件:Cluster软件用于管理和控制主备服务器之间的故障转移。
它可以自动监测主服务器的状态,并在主服务器发生故障时触发备用服务器的接管操作,以实现业务的持续运行。
达梦主备集群段错误(核心已转储)
达梦主备集群段错误(核⼼已转储)在给客户部署两套主备集群的时候,出现⼀件让我⾮常头疼的问题。
第⼀套集群在政务外⽹,第⼆套集群在互联⽹。
部署第⼀套集群的时候,启动达梦守护进程报错(段错误(核⼼已转储)),主备节点都报错,检查dm.ini 、 dmarch.ini 、 dmmal.ini和dmwatcher.ini,都没发现有任何错误。
这个时候我们猜测,会不会是安装包的问题,我们⽤的安装包如下:dm8_20210915_HWarm_centos7_64_ent_8.1.2.70.iso这是最新的安装包,我之前没⽤这个安装包部署过集群,猜测可能是安装包中有bug。
正好,在客户的第⼆套集群上试⼀下,看看会不会出现同样的问题。
吭哧吭哧部署完后,发现互联⽹上的那套集群,⼀切正常,这下傻眼了,检查了下集群配置,政务外⽹的和互联⽹的集群配置⼀模⼀样,那为什么政务外⽹那套集群会报错呢?接下来开始正式排查问题。
⼀、查看报错信息这是启动守护进程时报的错,从报错信息上看不出什么问题,后来也查看了watcher的⽇志,也没发现什么问题,最后只能⽣成core⽂件,查看core⽂件中的报错信息。
⼆、⽣成core⽂件集群出现问题,core⽂件⼀般会⾃动⽣成,可以直接查找对应的core⽂件,也可以指定core⽂件⽣成路径。
1、直接查找core⽂件因为我们是在启动dmwatcher的时候报错,所以可以直接通过守护进程的关键字进⾏查找。
1)、find查找find / -name *dmwatcher*查到的内容如下:2)、拷贝出来如果觉得直接在这⾥查看不⽅便,可以拷贝最新的core到指定⽬录,最好把名字重命名⼀下,默认的名称太长了。
cp拷贝出来拷贝最新的,⼀般最下⾯的⽐较新:cp /var/lib/systemd/coredump/core.dmwatcher.1001.88045ab03b7c437bb3b6ebbc53218cb6.16566.1631948801000000000000.lz4/home/dmdba/3)、Lz4解压lz4 core.dmwatcher.1001.88045ab03b7c437bb3b6ebbc53218cb6.16566.1631948801000000000000.lz44)、重命名mv core.dmwatcher.1001.88045ab03b7c437bb3b6ebbc53218cb6.16566.1631948801000000000000 core.165665)、查看core[root@localhost dmdba]# cd dmdbms/bin[root@localhost bin]# gdb /home/dmdba/core.16566输⼊bt6)、猜测core报错说“连接已存在”,猜测可能是ip和端⼝冲突导致的。
DM集群功能概述
DM集群功能概述DM提供了基于高级复制功能的实时高性能负载均衡容错集群。
集群系统采用无共享的结构,由若干台计算机组成,每台计算机上运行有各自的数据库系统,作为集群系统的一个运行节点,节点之间通过TCP/IP协议的网络互连,彼此协同计算,做为统一的数据库系统提供服务。
具有以下功能特性:(1)支持2至N个数据库节点(2)对外提供统一可配置的服务(3)所有节点数据实时同步(4)支持智能的负载均衡(5)支持无延时的故障转移,集群中只要有一个节点正常,对外提供的服务就不会中断,保证前端应用/服务不间断运行(6)具有智能维护功能,在不中断服务的情况下维护故障节点并能将其动态加入到集群系统集群结构图如下所示。
用户使用标准的接口(JDBC, ODBC, API, OLEDB, .NET PROVIDER),通过控制器,访问后台的数据库服务器群。
对客户来说,控制器就如同一个真正的单服务器。
控制器管理集群的各个节点,当任何一个节点失效时,该节点将从集群中移除。
只要还剩下一个节点,系统还能正常运转。
集群控制器集群控制器对集群技术的支持如下:(1)负责对查询处理负载的管理,即当一个客户端工具对集群控制器发出一个请求消息后,如果集群控制器发现请求的类型是查询类型,则根据节点的负载情况,挑选一个空闲节点处理这个任务。
(2)负责集群服务器节点信息的管理,具体为一台服务器要加入集群,首先通过用户安全验证,然后注册为集群的一个服务器节点,由集群控制器记录相关的注册信息;当一个集群服务器节点要退出集群,也是先通过用户安全验证,然后由控制器删除相关的服务器节点注册信息。
(3)负责在服务器节点出现故障时的处理,具体为当控制器发现某个服务器节点对DDL消息处理没有响应或执行失败,并且经过若干次重试后依然如此,则控制器将该节点从集群中移除。
在其他情况下有的节点没有响应或执行失败,则控制器会自动在某个活动的服务器节点上建立起和故障节点的异步复制关系。
达梦7守护进程配置
搭建守护进程在以前的文章中,介绍了即将推出的达梦7的一些新特性,如水平分区、批量处理技术、并行集群技术等。
现在为大家结合介绍一下数据守护中的守护进程方案的相关配置。
一、概述数据守护(DATA WATCH),可以满足用户对数据可靠性、安全性的需求,解决由于硬件故障、自然灾害等原因导致的数据库服务长时间中断问题,提高系统的可用性。
数据守护方案是一个集成化的灾难恢复解决方案,为DM可靠性解决方案之一,可有效避免主机单点故障,备机可作为只读服务器对外提供服务,实现负载均衡。
达梦数据守护方案DATA WATCH有两种实现方式:一种是基于观察器的数据守护(OBSV);另外一种是基于守护进程的数据守护(DMWATCH)。
故障处理策略守护进程有三种故障处理策略:a)不支持,在此模式下,可以与观察器共存,故障切换由观察器完成,守护进程只负责重启本地数据库实例。
b)基本型,在守护进行之间可相互通信的前提下,数据库实例异常时,提供故障自动切换以及故障恢复功能。
适合无法确保网络可靠性的应用场景。
不能与观察器同时配置。
c)增强型,守护进程可自主决定是否进行故障切换,数据库实例异常或者出现硬件故障时,提供故障自动切换以及故障恢复功能。
适合守护进程之间的网络是绝对可靠的应用场景。
不能与观察器同时配置。
基本型与增强型的区别在于网络是否通畅以及是否是硬件故障。
例如实例DM1发生异常,当前模式是基本型,那么只有当监控发生故障的实例的守护进程A将发生故障的消息发送到另一个守护进程B,并且B接收到了消息之后,才会进行故障恢复或者是故障自动切换,否则在网络状况不好的情况下,B没有收到消息,那么就不会进行任何处理;如果当前模式是增强型,也就意味着网络是通畅的,当守护进程A将DM1故障的消息广播出去之后,守护进程B一定会接收到,那么就可以进行故障恢复或者状态切换。
守护进程的构成基于守护进程的数据守护方案由守护进程和监视器两个模块共同完成数据守护的功能,主要由以下几个部件构成:1.一个监视器dmmon(可以没有)。
DM7集群部署方案之数据共享集群Linux(2节点)
DM7集群部署方案之数据共享集群Linux(2节点)武汉达梦数据库有限公司2019年9月版本历史目录1 前期准备工作 (1)1.1硬件准备 (1)1.2网络架构 (1)1.3硬件环境建议 (1)1.4硬件环境环境验证 (2)1.5集群规划 (2)1.6修改主机名 (2)1.7关闭防火墙 (3)1.8网卡自启 (3)1.9修改系统参数 (3)2 创建目录并安装数据库 (3)2.1A机器 (3)2.2B机器 (4)3 存储准备 (4)3.1划存储 (4)3.2挂存储方法1:直接挂 (4)3.3挂存储方法2:多路径绑定 (5)4 搭建DSC (6)4.1配置DMDCR_CFG.INI (6)4.2初始化磁盘组 (7)4.3配置DMASVRMAL.INI (7)4.4配置DMDCR.INI (7)4.5启动CSS、ASM服务 (8)4.6创建DMASM磁盘组 (9)4.7配置DMINIT.INI (9)4.8初始化数据库 (9)4.9配置DMARCH.INI (10)4.10启动DMSERVER服务 (10)4.11设置后台启动脚本 (11)4.12启停集群 (12)5 配置监视器 (13)5.1配置DMCSSM.INI (13)5.2启动监视器 (13)6配置DM_SVC.CONF文件 (13)6.1 DM_SVC.CONF配置内容 (13)6.2应用连接 (14)7附加操作 (14)7.1操作系统/数据库调优 (14)7.2数据库备份 (14)7.3项目管理维护 (14)1前期准备工作1.1硬件准备1.2网络架构1.3硬件环境建议1.心跳网络方面:①集群间的心跳网络要走数据,最好走两个交换机,来实现冗余和负载均衡。
②需要把服务器多个心跳网卡绑定为一个逻辑网卡来使用(比如bond方式)。
③交换机速度建议为万兆。
2.存储网络方面:①每台数据库服务器上必须有两块HBA卡连接光纤交换机,做冗余和负载均衡。
3.存储方面:①两台服务器都连接到同一个存储上(共享存储只需要映射到服务器端fdisk -l可以查看到就行,不需要格式化)。
达梦数据库主备集群(数据守护)搭建
达梦数据库主备集群(数据守护)搭建实时主备概述实时主备由⼀个主库以及⼀个或者多个配置了实时(Realtime)归档的备库组成,其主要⽬的是保障数据库可⽤性,提⾼数据安全性。
实时主备系统中,主库提供完整的数据库功能,备库提供只读服务。
主库修改数据产⽣的Redo⽇志,通过实时归档机制,在写⼊联机Redo⽇志⽂件之前发送到备库,实时备库通过重演Redo⽇志与主库保持数据同步。
当主库出现故障时,备库在将所有Redo⽇志重演结束后,就可以切换为主库对外提供数据库服务1 环境准备服务器主库IP:192.168.118.120 dm8数据库实例名:RAC1 端⼝号:5236服务器备库IP:192.168.118.121 dm8数据库实例名:RAC2 端⼝号:5236# 数据库启动服务命令路径/dm8/bin,实例配置⽂件路径/dm8/data/DAMENG/2 主备库分别初始化实例(按客户要求)./dminit path=/dm8/data page_size=32 instance_name=RAC1./dminit path=/dm8/data page_size=32 instance_name=RAC23 备份还原# 如果是初始搭建环境,可以通过对主库脱机备份、对备库脱机还原的⽅式来准备数据,如果主库已经处于运⾏状态,则可以对主库进⾏联机备份、对备库脱机还原的⽅式来准备数据。
3.1 主库创建实例之后,启动数据库并登录./dmserver /dm8/data/DAMENG/dm.ini3.2 关闭数据库,以dmrman备份数据库BACKUP DATABASE '/dm8/data/DAMENG/dm.ini' BACKUPSET '/dm8/data/backup';3.3 将备份⽂件复制到备库对应⽬录下(如果是root⽤户,复制成功需要将备份⽂件设置属于dmdba:dinstall⽤户组)scp -r /dm8/data/backup dmdba@192.168.118.121:/dm8/data/backup3.4 备库启动dmrman执⾏数据库还原RESTORE DATABASE '/dm8/data/DAMENG/dm.ini' FROM BACKUPSET '/dm8/data/backup';RECOVER DATABASE '/dm8/data/DAMENG/dm.ini' FROM BACKUPSET '/dm8/data/backup';RECOVER DATABASE '/dm8/data/DAMENG/dm.ini' UPDATE DB_MAGIC;4 配置集群⽂件4.1 vim dm.ini #主备库实例都需更改下⾯参数ALTER_MODE_STATUS = 0 #不允许⼿⼯⽅式修改实例模式/状态/OGUIDENABLE_OFFLINE_TS = 2 #不允许备库 OFFLINE 表空间MAL_INI = 1 #打开 MAL 系统ARCH_INI = 1 #打开归档配置4.2 vim dmmal.ini #主备库配置必须完全⼀致MAL_CHECK_INTERVAL = 5 #MAL 链路检测时间间隔MAL_CONN_FAIL_INTERVAL = 5 #判定 MAL 链路断开的时间[MAL_INST1]MAL_INST_NAME = RAC1 #实例名,和 dm.ini 中的 INSTANCE_NAME ⼀致MAL_HOST = 192.168.118.120 #MAL 系统监听 TCP 连接的 IP 地址MAL_PORT = 61141 #MAL 系统监听 TCP 连接的端⼝MAL_INST_HOST = 192.168.118.120 #实例的对外服务 IP 地址MAL_INST_PORT = 5236 #实例的对外服务端⼝,dm.ini 中的 PORT_NUM ⼀致MAL_DW_PORT = 52141 #实例对应的守护进程监听 TCP 连接的端⼝MAL_INST_DW_PORT = 33141 #实例监听守护进程 TCP 连接的端⼝[MAL_INST2]MAL_INST_NAME = RAC2MAL_HOST = 192.168.118.121MAL_PORT = 61141MAL_INST_HOST = 192.168.118.121MAL_INST_PORT = 5236MAL_DW_PORT = 52141MAL_INST_DW_PORT = 331414.3 vim dmarch.ini #主备库归档⽬标实例名不⼀致,其他⼀致#与联机 Redo ⽇志⽂件可以被覆盖重⽤不同,本地归档⽇志⽂件不能被覆盖,写⼊其中Redo ⽇志信息会⼀直保留,直到⽤户主动删除;如果配置了归档⽇志空间上限,系统会⾃动删除最早⽣成的归档 Redo ⽇志⽂件,腾出空间。
达梦数据库管理系统DM7
扫描了解更多资讯通用性高可用性高性能高安全性易用性兼容性03 04 06 11 15 19概述产品特性目录小结产品架构主机E P守护备机系统监视器DMWMON事务处理系统主机备机分析业务内网:224.254.16外网:10内网:224.内网:图3 DM7主备系统的典型架构双因子结合的身份鉴别提供基于用户口令和用户数字证书相结合的用户身份鉴别功能。
当接收的用户口令和用户数字证书均正确时,才算认证通过,用户口令和用户数据证书有一个不正确或与相应的用户名不匹配,则认证不通过,这种增强的身份认证方式可以更好的防止口令被盗、冒充用户登录等情况,为数据库安全把好了第一道关。
另外,DM7还支持基于操作系统的身份认证、基于LDAP集中式的第三方认证。
审计分析与实时侵害检测提供数据库审计功能,审计类别包括:系统级审计、语句级审计、对象级审计。
同时DM7还通过了中国信息安全评测中心的EAL 级评测4。
图6 安全等级DM7图7 EAL4级证书图8 安全结构体系DM7加密引擎DM7提供加密引擎功能,当DM7内置的加密算法,比如AES系列、DES系列、DESEDE系列、RC4等加密算法,无法满足用户数据存储加密要求时,用户可能希望使用自己特殊的加密算法,或强度更高的加密算法。
用户可以采用DM7的加密引擎功能,将自己特殊的或高强度的加密算法按照DM7提供的加密引擎标准接口要求进行封装,封装后的加密算法,即可以在DM7的存储加密中按常规的方法进行使用,大大提高了数据的安全性。
产品特性客体重用D 7内置的客体重用机制使数据库管理系统能够清扫被重新分配的系统资源,以保证数据信息不会因为资源的动态分配而泄露给未授权的用户。
M 产品特性所有主客体的强制访问控制DM7达到了安全四级的要求。
强制访问控制是利用策略和标记实现数据库访问控制的一种机制。
该功能主要是针对数据库用户、各种数据库对象、表以及表内数据。
控制粒度同时达到列级和记录级。
Red Hat Enterprise Linux 7 DM 多路径配置和管理文档说明书
Red Hat Enterprise Linux 7DM 多路径Configuring and managing Device Mapper MultipathLast Updated: 2023-03-25Red Hat Enterprise Linux 7 DM 多路径Configuring and managing Device Mapper Multipath Steven LevineRed Hat Customer Content Services******************. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .目录第 1 章 设备映射器多路径1.1. NEW AND CHANGED FEATURES 1.2. OVERVIEW OF DM MULTIPATH 1.3. 存储阵列支持1.4. DM MULTIPATH COMPONENTS1.5. DM MULTIPATH SETUP OVERVIEW 第 2 章 多路径设备2.1. 多路径设备识别器2.2. 在群集中保持多路径设备名称一致2.3. 多路径设备属性2.4. 逻辑卷中的多路径设备第 3 章 SETTING UP DM MULTIPATH 3.1. SETTING UP DM MULTIPATH 3.2. 在生成多路径设备时忽略逻辑磁盘3.3. CONFIGURING STORAGE DEVICES 3.4. SETTING UP MULTIPATHING IN THE INITRAMFS FILE SYSTEM 第 4 章 THE DM MULTIPATH CONFIGURATION FILE 4.1. 配置文件总览4.2. 配置文件黑名单4.3. 配置文件默认设置4.4. 多路径设备配置属性4.5. 配置文件设备4.6. ISCSI AND DM MULTIPATH OVERRIDES 第 5 章 DM MULTIPATH ADMINISTRATION AND TROUBLESHOOTING5.1. AUTOMATIC CONFIGURATION FILE GENERATION WITH MULTIPATH HELPER 5.2. RESIZING AN ONLINE MULTIPATH DEVICE 5.3. MOVING ROOT FILE SYSTEMS FROM A SINGLE PATH DEVICE TO A MULTIPATH DEVICE 5.4. MOVING SWAP FILE SYSTEMS FROM A SINGLE PATH DEVICE TO A MULTIPATH DEVICE 5.5. THE MULTIPATH DAEMON 5.6. ISSUES WITH QUEUE_IF_NO_PATH FEATURE 5.7. MULTIPATH COMMAND OUTPUT 5.8. MULTIPATH QUERIES WITH MULTIPATH COMMAND 5.9. MULTIPATH COMMAND OPTIONS 5.10. 使用 DMSETUP 命令确定设备映射器条目5.11. THE MULTIPATHD COMMANDS 5.12. TROUBLESHOOTING WITH THE MULTIPATHD INTERACTIVE CONSOLE 5.13. CLEANING UP MULTIPATH FILES ON PACKAGE REMOVAL 附录 A. 修订记录索引335778999101012121314151616172031364345454545474747484949505051525354目录1DM 多路径2第 1 章设备映射器多路径3DM 多路径4第 1 章设备映射器多路径5DM 多路径6第 1 章设备映射器多路径在这个配置中,可将 I/O分布到那四条路径中。
DM7技术白皮书
功能 查询重写 读写二进制流 GET_DDL 函数用于获取数据库对象 DDL 语句 预警事件 随机数 网络地址转换 读和写操作系统数据文件 与外部 TCP/IP 服务器通讯 动态 SQL 访问数据库 展示所有物理对象和逻辑对象的存储空间信息 获取页信息 调试 PL/SQL 定时任务的创建 日志分析
核心技术
支持层次查询
包括相关伪列 LEVEL、CONNECT_BY_ISLEAF、CONNECT_BY_ISCYCLE。
支持伪列
包括 ROWNUM、ROWID、UID、USER、TRXID。
方差集函数实现
包括 AVG、MAX、MIN、SUM、COUNT(DISTINC | ALL)、 VARIANCE、STDDEV、 STDDEV_SAMP。
支持多种开发接口
DM 支持多种数据库开发接口,包括 ODBC、JDBC、OLE DB、PHP、DB Express 以及.Net DataProvider 等。
支持主流开发工具
支持的开发工具包括 PowerBuilder、Delphi、Visual studio、.NET、C++Builder、 JBuilder 等;支持各种持久层组件技术,主要有 Hibernate、IBATIS sqlmap 等;支持主 流系统中间件,包括 Weblogic、Websphere、Tomcat、Jboss、TongWeb、Apusic 等。
外连接(+)语法支持
多列 IN 实现以及相关的优化
按名调用存储过程功能
支持 comments 注释
静态数据字典视图
DM7 支持常用的静态视图,用户可以方便地查询数据库对象定义信息。主要包括: 1.用户本地对象定义视图。(前缀为 USER_):记录当前登录用户所拥有的对象的定义 信息。包括 USER_OBJECTS、USER_SOURCE、USER_TABLES、USER_INDEXES 等。 2.所有用户的对象定义视图。(前缀为 DBA_):记录数据库中所有对象的信息。包括
linux 主备机之间切换 原理
linux 主备机之间切换原理Linux主备机之间切换的原理在计算机网络中,主备机切换是指当主机出现故障或不可用时,备机能够自动接管主机的工作,以保证系统的连续性和可靠性。
Linux 系统中,实现主备机切换通常采用热备份(Hot Standby)或冷备份(Cold Standby)的方式。
1. 热备份(Hot Standby)热备份是指备机实时地与主机保持数据同步,一旦主机发生故障,备机立即接管主机的工作。
在Linux系统中,常用的热备份方案是通过Heartbeat软件实现。
Heartbeat是一个高可用性(HA)软件,它可以在多个服务器之间实现故障监测和自动主备机切换。
Heartbeat通过在主备机之间周期性地发送心跳包来检测主机的可用性,一旦主机无法响应,备机就会接管主机的IP地址,并启动相关服务,确保系统的连续性。
同时,Heartbeat还可以通过STONITH(Shoot The Other Node In The Head)机制,在切换主备机时强制关闭故障的主机,以避免数据一致性问题。
2. 冷备份(Cold Standby)冷备份是指备机并不实时地与主机保持数据同步,而是在主机故障时才启动并接管主机的工作。
在Linux系统中,常用的冷备份方案是通过Pacemaker软件实现。
Pacemaker是一个集群管理软件,它可以实现故障监测和自动主备机切换。
与Heartbeat不同的是,Pacemaker通过资源代理(Resource Agent)来管理主备机的资源,包括IP地址、文件系统、服务等。
当主机发生故障时,Pacemaker会启动备机并通过资源代理来配置和管理主机的资源,确保系统的连续性。
3. 主备机切换的流程无论是热备份还是冷备份,主备机切换的流程大致相同,包括以下几个步骤:(1)故障监测:主备机之间通过心跳包或其他方式进行故障监测,以检测主机的可用性。
(2)故障判定:当主机发生故障或不可用时,备机会判定主机已经故障,并准备接管主机的工作。
达梦DM8数据库数据守护
达梦(DM8)数据守护一、DM8数据守护架构 (2)1、DM8数据守护架构图 (2)2、DM8数据守护架构组成 (3)1. DMWA TCHER (3)2. DMMONITOR (3)二、DM8数据守护搭建 (3)1. 环境说明 (3)1.服务器规划 (3)2. 端口规划 (4)3. 数据准备 (4)1. 打包主库数据目录DMANGE (4)2. 删除从库数据目录DMANGE数据 (4)3. scp主库DMANGE数据到从库 (5)4. 修改主库配置文件 (5)1. 配置dm.ini (5)2. 配置dmmal.ini (5)3. 配置dmarch.ini (7)4. 配置dmwatcher.ini (7)5. 配置dmwatcher.ctl (7)5. 修改从库配置文件 (8)6. 配置dm.ini (8)7. 配置dmmal.ini (8)8. 配置dmarch.ini (9)9. 配置dmwatcher.ini (10)10. 配置dmwatcher.ctl (10)11. 配置dmmonitor.ini (10)4. 配置主库 (11)1. 启动主库 (11)2. 设置OGUID (11)3. 修改数据库模式 (11)5. 配置从库 (11)1. 启动备库 (11)2. 设置OGUID (12)3. 修改数据库模式 (12)6. 启动守护进程 (12)7. 启动监视器 (12)三、DM8数据守护验证 (12)1. 验证主从数据是否同步 (12)1. 主库新建一个表空间 (12)2. 通过DM管理工具分别查看主库和从库是否新建表空间 (13)2. 验证主从故障切换 (14)一、DM8数据守护架构1、DM8数据守护架构图2、DM8数据守护架构组成1.DMWATCHER守护进程(dmwatcher)是DM 数据守护系统不可或缺的核心部件,是数据库实例和监视器之间信息流转的桥梁。
数据库实例向本地守护进程发送信息,接收本地守护进程的消息和命令;监视器(dmmonitor)接收守护进程的消息,并向守护进程发送命令;数据库实例与监视器之间没有直接的消息交互;守护进程解析并执行监视器发起的各种命令(Switchover/Takeover/Open force 等),并在必要时通知数据库实例执行相应的操作。
DM7总体构架解析知识分享
D M7总体构架解析DM7总体构架解析郭琰概述DM7数据库管理系统是在总结DM系列产品的经验和教训基础上,吸收主流数据库产品优点,学习适应OLAP应用的专用数据库技术,采用类JAVA的虚拟机技术,重新设计的新一代数据库产品。
采用全新的体系架构,极大提升了达梦数据库产品的性能、语言丰富性、可扩展性,能同时兼顾OLTP和OLAP请求,从根本上提升了DM产品的品质。
相对于DM6,DM7中新增和改进特性多达数百项,本文将为您介绍DM7众多新特性中最为重要和最具创新性的部分。
系统核心构架DM7采用高效的多线程体系结构,由不同的功能线程协同完成服务器的整体功能。
图1 系统结构系统总体结构如图1所示,数据库内核提供词法和语法分析、事务管理、封锁、多核查询引擎、安全管理、备份恢复、缓冲区、日志以及操作系统和硬件抽象层等功能。
在此基础上,用户可以基于数据库内核来搭建两种类型的集群结构:无共享的大规模并行集群和共享磁盘的集群。
在客户端,用户可以通过DM7提供的各种标准接口来访问达梦数据库或者是数据库集群,也可以通过各种客户端工具来对达梦数据库进行管理。
操作系统和硬件抽象层:对操作系统和硬件环境提供封装API,使得一套源代码可以在不同平台下运行,屏蔽操作系统和硬件的差异,简化上层处理逻辑。
各种操作系统和硬件环境下保持一致的存储格式和消息通信格式。
缓冲区管理:该模块将用户需要访问的数据从磁盘加载到内存中,并提供高效、高并发的缓冲区访问和淘汰机制,使得可以支撑大量并发用户的数据访问。
日志管理:提供事务的持久性能力,任何已提交的事务都持久性的生效。
事务管理:提供多版本并发控制机制,使得系统能够保证事务的原子性、隔离性,并提供很高的并发访问能力,查询在任何时候能够不被封锁。
锁管理:提供并发更新数据时的封锁能力,避免出现数据的不一致。
多核查询引擎:内置多个查询处理引擎,针对不同的查询使用自适应的查询引擎,如全文检索引擎、对象-关系数据处理引擎、空间数据处理引擎等。
达梦DM7MPP架构轻松应对数据的爆发式增长
达梦DM7 MPP 架构轻松应对数据的爆发式增长为了支持海量数据存储和处理、高并发处理、高性价比、高可用性等需求,提供高端数据仓库解决方案,达梦数据库7.0版本(DM7 )提供了大规模并行处理MPP架构,以极低的成本代价,为客户提供业界领先的计算性能。
DM7 采用完全对等无共享( share-nothing )的MPP 架构,支持SQL 并行处理,可自动化分区数据和并行查询,无I/O 冲突。
MPP 架构凸显六大特色MPP 系统工作起来就像是一台单独的计算机,由于采用自动化的并行处理,执行速度比传统的单节点数据库大大提高。
采用了MPP 架构的DM7 具有以下6 大特色:1.大规模并行处理。
DM7的MPP架构最多可以同时部署1024 个节点,采用统一的并行操作数据库引擎,由于数据分散在不同的数据库节点上,在高速的内部网络环境下,对于海量数据的并发查询可极大地减少I/O,提高查询效率。
2.核心的MPP架构。
DM7的MPP架构提供数据存储和查询的自动化并行,插入的数据会被自动分区保存到相应的节点,查询时在各节点的数据库引擎上并行执行查询,并将所有结果数据自动汇集到主查询节点上,数据无共享、无I/O 冲突。
3.可靠的数据保护机制。
DM7 提供了数据守护系统,满足用户对数据可靠性、安全性的需求,解决由于硬件故障、自然灾害等原因导致的数据库服务长时间中断问题,提高系统的可用性。
MPP 系统中的每个节点都可配置数据守护系统,增加节点数据的完整冗余镜像。
节点和镜像节点之间可以互相转换成MPP 中的工作节点。
4.持列存储。
在数据仓库(OLAP)、数据挖掘等查询密集型应用中可使用列存储表,在查询只需要少数几个字段的时候,能大大减少I/O,同时列存储也利于使用设计更好的压缩/ 解压算法,进一步减少存储空间。
5.功能齐全。
DM7的MPP系统和单节点数据库相比,几乎没有任何功能上的限制,支持各种约束,支持触发器,支持存储过程、系统函数、复杂查询等。
达梦7可靠的读写分离系统操作手册
INST_OGUID
同,同一个读写分离系统中的所有数据库、守护进程和监视器,都 必须配置相同的 OGUID 值,取值范围为 0-2147483647
INST_NAME
守护进程监控的数据库实例名, 与 dm.ini 的 INSTANCE_NAME 配 置项保持一致 数据库 UDP 端口Байду номын сангаас 守护进程使用这个端口向数据库发送 UDP 消息,
系统概述
在一个高并发的事务型系统中,当写事务占的比例相对读事务相对较小时,可以借助 DM7 的主备系统备机可读的特点,将读事务转移到备机执行,减少单节点的并发压力,通 过增加备机节点资源,提高系统的并发能力,增强系统性能。 DM7 提供一种独具创新的主备方案,读写分离主备系统,该系统可通过客户端来实现 读写事务的自动分离,读事务在备机执行,写事务在主机执行,减轻主机的负载。备机可以 配置多个,理论上说,在允许的范围内,备机配置的越多,更能分担主机的压力,系统整体 并发效率越高。 目前该系统: 限制最多支持 8 个即时备机 支持 JDBC、DPI、DCI、ODBC、Provider 等多种接口。
由器个数,取值范围为 1 到 128,默认为 3,TCP 方式下不需要配 置此项。 UDP 广播或组播地址,TCP 方式下不需要配置此项:
RWW_BRO_ADDR
广播地址根据 dmmal.ini 中的 MAL_HOST 配置项计算得出。 组播地址取值范围为(224.0.1.0-- 238.255.255.255),同 一套读写分离系统中需要取相同的组播地址。 守护进程 UDP 广播端口,和 dm.ini 的 DW_UDP_PORT 配置项,
即时归档
DM7 支持多种归档类型,本地归档、实时归档、同步归档、异步归档等类型。为了实现 读写分离,新增一种即时归档(Timely archive)类型,以区别实时归档。 实时归档是实时发送日志到备机,备机收到日志不会等待日志 APPLY 完成,立即响应 给主机,主机收到响应后才刷本地日志。 即时归档的归档方式是先刷本地日志,然后发送到备机,并且等待备机 APPLY 完成, 之所以要这么做,原因有 2 个: 首先, 在主机发送完日志到备机后刷日志前主机崩溃的情况下, 不能让备机多一段日志, 确保主机数据是完整且最新的。 其次, 需要保证主备机的数据一致性, 避免从备机读的数据到主机进行更新时数据已经 不一致了。 在 某 些 不 需 要 保 证 严 格 一 致 性 的 情 况 下 , 可 以 通 过 dmarch.ini 中 的 ARCH_WAIT_APPLY 配置项,来配置不需要等待备机重做完日志的主备系统,类似于实时 归档,可以进一步提高系统性能。
达梦数据库主备搭建(数据守护)
达梦数据库主备搭建(数据守护)话不多说,上环境和操作⽅法:⼀、环境准备⾸先主备,要规划好机器的,我准备了两台机器,主节点master:192.168.107.111 ,从节点slave:192.168.107.112。
主节点数据库测试实例名:master 两者端⼝同为5240从节点数据库测试实例名:slavedm_ini⽂件位置:/DMINSTALL/database/dmsql/dm.iniback备份位置:/DMINSTALL/backarch归档⽂件存放路径:/DMINSTALL/arch⼆、主备库数据同步同步原理:主节点的数据备份,通过SCP到从节点,然后从节点回滚主节点的数据库备份⽂件,做到主从同步。
1、主从节点创建实例master:./dminit PATH=/DMINSTALL/database/ DB_NAME=master INSTANCE_NAME=master PORT_NUM=5240./dm_service_installer.sh -t dmserver -dm_ini /DMINSTALL/database/master/dm.ini -p master2、主节点脱机备份BACKUP DATABASE '/DMINSTALL/database/master/dm.ini' BACKUPSET '/DMINSTALL/back',执⾏完毕之后,会⽣成⼀个备份⽂件,通过scp命令传输到从库的/DMINSTALL/ ⽬录下⾯,若scp命令不熟悉的,可以利⽤xftp⼯具,⼿动拖包到从节点机器,该处注意back包的⽤户权限。
主节点的备份⽂件以及传过去了,那现在要⼲什么呢?3、从库执⾏数据库还原。
从库:RESTORE DATABASE '/DMINSTALL/database/master/dm.ini' FROM BACKUPSET '/DMINSTALL/back'RECOVER DATABASE '/DMINSTALL/database/master/dm.ini' UPDATE DB_MAGIC三、主从配置⽂件(配置⽂件路径⽆具体说明,都与dm.ini⽂件路径同级)1、修改dm.iniALTER_MODE_STATUS = 0 #不允许⼿⼯⽅式修改实例模式/状态/OGUIDENABLE_OFFLINE_TS = 2 #不允许备库 OFFLINE 表空间MAL_INI= 1 #打开 MAL 系统ARCH_INI = 1 #打开归档配置2、增加⽂件dmmal.inivim ./dmmal.ini3、配置 vim./dmarch.ini主节点:[ARCHIVE_REALTIME]ARCH_TYPE = REALTIME #实时归档类型ARCH_DEST = slave #实时归档⽬标实例名[ARCHIVE_LOCAL1]ARCH_TYPE = LOCAL #本地归档类型ARCH_DEST = /DMINSTALL/arch #本地归档⽂件存放路径ARCH_FILE_SIZE = 128 #单位 Mb,本地单个归档⽂件最⼤值ARCH_SPACE_LIMIT = 0 #单位 Mb,0 表⽰⽆限制,范围 1024~4294967294M 从节点:[ARCHIVE_REALTIME]ARCH_TYPE = REALTIME #实时归档类型ARCH_DEST = master #实时归档⽬标实例名[ARCHIVE_LOCAL1]ARCH_TYPE = LOCAL #本地归档类型ARCH_DEST = /DMINSTALL/arch #本地归档⽂件存放路径ARCH_FILE_SIZE = 128 #单位 Mb,本地单个归档⽂件最⼤值ARCH_SPACE_LIMIT = 0 #单位 Mb,0 表⽰⽆限制,范围 1024~4294967294M4、配置守护进程 vim ./dmwatcher.ini主库:[GRP1]DW_TYPE = GLOBAL #全局守护类型DW_MODE = AUTO #⾃动切换模式DW_ERROR_TIME = 10 #远程守护进程故障认定时间INST_RECOVER_TIME = 60 #主库守护进程启动恢复的间隔时间INST_ERROR_TIME = 10 #本地实例故障认定时间INST_OGUID = 453331 #守护系统唯⼀ OGUID 值INST_INI = /DMINSTALL/database/master/dm.ini #dm.ini 配置⽂件路径INST_AUTO_RESTART = 1 #打开实例的⾃动启动功能INST_STARTUP_CMD = /DMINSTALL/bin/dmserver #命令⾏⽅式启动RLOG_SEND_THRESHOLD = 0 #指定主库发送⽇志到备库的时间阀值,默认关闭RLOG_APPLY_THRESHOLD = 0 #指定备库重演⽇志的时间阀值,默认关闭从库:[GRP1]DW_TYPE = GLOBAL #全局守护类型DW_MODE = AUTO #⾃动切换模式DW_ERROR_TIME = 10 #远程守护进程故障认定时间INST_RECOVER_TIME = 60 #主库守护进程启动恢复的间隔时间INST_ERROR_TIME = 10 #本地实例故障认定时间INST_OGUID = 453331 #守护系统唯⼀ OGUID 值INST_INI = /DMINSTALL/database/slave/dm.ini #dm.ini 配置⽂件路径INST_AUTO_RESTART = 1 #打开实例的⾃动启动功能INST_STARTUP_CMD = /DMINSTALL/bin/dmserver #命令⾏⽅式启动RLOG_SEND_THRESHOLD = 0 #指定主库发送⽇志到备库的时间阀值,默认关闭RLOG_APPLY_THRESHOLD = 0 #指定备库重演⽇志的时间阀值,默认关闭四、启动主从库⾸先启动主库:以 Mount ⽅式启动主库./dmserver /DMINSTALL/database/master/dm.ini mount启动命令⾏⼯具 DIsql,登录主库设置 OGUID 值。
linux服务器集群的详细配置
linux服务器集群的详细配置一、计算机集群简介计算机集群简称集群是一种计算机系统, 它通过一组松散集成的计算机软件和/或硬件连接起来高度紧密地协作完成计算工作;在某种意义上,他们可以被看作是一台计算机;集群系统中的单个计算机通常称为节点,通常通过局域网连接,但也有其它的可能连接方式;集群计算机通常用来改进单个计算机的计算速度和/或可靠性;一般情况下集群计算机比单个计算机,比如工作站或超级计算机性能价格比要高得多;二、集群的分类群分为同构与异构两种,它们的区别在于:组成集群系统的计算机之间的体系结构是否相同;集群计算机按功能和结构可以分成以下几类:高可用性集群 High-availability HA clusters负载均衡集群 Load balancing clusters高性能计算集群 High-performance HPC clusters网格计算 Grid computing高可用性集群一般是指当集群中有某个节点失效的情况下,其上的任务会自动转移到其他正常的节点上;还指可以将集群中的某节点进行离线维护再上线,该过程并不影响整个集群的运行;负载均衡集群负载均衡集群运行时一般通过一个或者多个前端负载均衡器将工作负载分发到后端的一组服务器上,从而达到整个系统的高性能和高可用性;这样的计算机集群有时也被称为服务器群Server Farm; 一般高可用性集群和负载均衡集群会使用类似的技术,或同时具有高可用性与负载均衡的特点;Linux虚拟服务器LVS项目在Linux操作系统上提供了最常用的负载均衡软件;高性能计算集群高性能计算集群采用将计算任务分配到集群的不同计算节点而提高计算能力,因而主要应用在科学计算领域;比较流行的HPC采用Linux操作系统和其它一些免费软件来完成并行运算;这一集群配置通常被称为Beowulf集群;这类集群通常运行特定的程序以发挥HPC cluster的并行能力;这类程序一般应用特定的运行库, 比如专为科学计算设计的MPI 库集群特别适合于在计算中各计算节点之间发生大量数据通讯的计算作业,比如一个节点的中间结果或影响到其它节点计算结果的情况;网格计算网格计算或网格集群是一种与集群计算非常相关的技术;网格与传统集群的主要差别是网格是连接一组相关并不信任的计算机,它的运作更像一个计算公共设施而不是一个独立的计算机;还有,网格通常比集群支持更多不同类型的计算机集合;网格计算是针对有许多独立作业的工作任务作优化,在计算过程中作业间无需共享数据;网格主要服务于管理在独立执行工作的计算机间的作业分配;资源如存储可以被所有结点共享,但作业的中间结果不会影响在其他网格结点上作业的进展;三、linux集群的详细配置下面就以WEB服务为例,采用高可用集群和负载均衡集群相结合;1、系统准备:准备四台安装Redhat Enterprise Linux 5的机器,其他node1和node2分别为两台WEB服务器,master作为集群分配服务器,slave作为master的备份服务器;所需软件包依赖包没有列出:2、IP地址以及主机名如下:3、编辑各自的hosts和network文件mastervim /etc/hosts 添加以下两行vim /etc/sysconfig/networkHOSTNAME= slavevim /etc/hosts 添加以下两行vim /etc/sysconfig/network HOSTNAME= node1vim /etc/hosts 添加以下两行vim /etc/sysconfig/network HOSTNAME= node2vim /etc/hosts 添加以下两行vim /etc/sysconfig/networkHOSTNAME= 注:为了实验过程的顺利,请务必确保network文件中的主机名和hostname命令显示的主机名保持一致,由于没有假设DNS服务器,故在hosts 文件中添加记录;4、架设WEB服务,并隐藏ARPnode1yum install httpdvim /var//html/添加如下信息:This is node1.service httpd startelinks 访问测试,正确显示&nbs隐藏ARP,配置如下echo 1 >> /proc/sys/net/ipv4/conf/lo/arp_ignoreecho 1 >> /proc/sys/net/ipv4/conf/all/arp_ignore echo 2 >> /proc/sys/net/ipv4/conf/lo/arp_announce echo 2 >> /proc/sys/net/ipv4/conf/all/arp_announce ifconfig lo:0 netmask broadcast uproute add -host dev lo:0node2yum install httpdvim /var//html/添加如下信息:This is node2.service httpd startelinks 访问测试,正确显示隐藏ARP,配置如下echo 1 >> /proc/sys/net/ipv4/conf/lo/arp_ignore echo 1 >> /proc/sys/net/ipv4/conf/all/arp_ignore echo 2 >> /proc/sys/net/ipv4/conf/lo/arp_announce echo 2 >> /proc/sys/net/ipv4/conf/all/arp_announceifconfig lo:0 netmask broadcast uproute add -host dev lo:0mastervim /var//html/添加如下内容:The service is bad.service httpd startslavevim /var//html/添加如下内容:The service is bad.service httpd start5、配置负载均衡集群以及高可用集群小提示:使用rpm命令安装需要解决依赖性这一烦人的问题,可把以上文件放在同一目录下,用下面这条命令安装以上所有rpm包:yum --nogpgcheck -y localinstall .rpmmastercd /usr/share/doc/ cp haresources authkeys /etc/cd /usr/share/doc/ cp /etccd /etcvim开启并修改以下选项:debugfile /var/log/ha-debuglogfile /var/log/ha-logkeepalive 2deadtime 30udpport 694bcast eth0增加以下两项:node node vim haresources增加以下选项:ldirectord::/etc/为/etc/authkeys文件添加内容echo -ne "auth 1\n1 sha1 "注意此处的空格 >> /etc/authkeysdd if=/dev/urandom bs=512 count=1 | openssl md5 >> /etc/authkeys &nbs更改key文件的权限chmod 600 /etc/authkeysvim /etc/修改如下图所示:slave 注:由于slave的配置跟master配置都是一样的可以用下面的命令直接复制过来,当然想要再练习的朋友可以自己手动再配置一边;scp root:/etc/{,haresources} /etc/输入的root密码scp root:/etc/ /etc输入的root密码6、启动heartbeat服务并测试master & slaveservice heartbeat start这里我就我的物理机作为客户端来访问WEB服务,打开IE浏览器这里使用IE浏览器测试,并不是本人喜欢IE,而是发现用google浏览器测试,得出的结果不一样,具体可能跟两者的内核架构有关,输入,按F5刷新,可以看到三次是2,一次是1,循环出现;7、停止主服务器,再测试其访问情况masterifdown eth0再次访问,可以看到,服务器依然能够访问;。
mongodb安装--linux--集群
mongodb安装--linux--集群注:因为服务器紧张,所以这里我的集群服务是安装在一个服务器上的,通过多端口部署多服务1、下载mongodb的linux安装包/downloads我下载的是mongodb-linux-x86_64-2.6.4.tgz2、mongodb集群介绍(摘录:/luonanqin/article/details/8497860)注:上面链接的教程,在启动mongodb时和replset配置时,有文档,始终不成功,不怎么是什么原因,后来换了一种启动方式Mongodb(master)表示主节点,Mongodb(slaver)表示备节点,Mongodb(arbiter)表示仲裁节点。
主备节点存储数据,仲裁节点不存储数据。
客户端同时连接主节点与备节点,不连接仲裁节点。
默认设置下,主节点提供所有增删查改服务,备节点不提供任何服务。
但是可以通过设置使备节点提供查询服务,这样就可以减少主节点的压力,当客户端进行数据查询时,请求自动转到备节点上。
这个设置叫做Read Preference Modes,同时Java 客户端提供了简单的配置方式,可以不必直接对数据库进行操作。
仲裁节点是一种特殊的节点,它本身并不存储数据,主要的作用是决定哪一个备节点在主节点挂掉之后提升为主节点,所以客户端不需要连接此节点。
这里虽然只有一个备节点,但是仍然需要一个仲裁节点来提升备节点级别。
我开始也不相信必须要有仲裁节点,但是自己也试过没仲裁节点的话,主节点挂了备节点还是备节点,所以咱们还是需要它的。
介绍完了集群方案,那么现在就开始搭建了。
3、建立数据文件夹我在199服务器的mongodb账户的home目录下,创建了一个“mongodata”目录,然后再mongodata 目录创建各个节点的目录—— arbiter master slaver创建mongodb数据目录[mongodb@trekizdell ~]$ mkdir -p mongodata[mongodb@trekizdell ~]$ cd mongodata/[mongodb@trekizdell mongodata]$ mkdir -p master[mongodb@trekizdell mongodata]$ mkdir -p slaver[mongodb@trekizdell mongodata]$ mkdir -p arbiter4、解压mongodb软件包,并重命名到各个节点的安装目录我在199服务器的mongodb账户的home目录下,各个节点的安装目录—— mongodbarbiter mongodbmaster mongodbslaver创建mongodb数据目录[mongodb@trekizdell ~]$ tar -zxvf mongodb-linux-x86_64-2.6.4.tgz[mongodb@trekizdell ~]$ mv mongodb-linux-x86_64-2.6.4/ mongodbmaster[mongodb@trekizdell ~]$ tar -zxvf mongodb-linux-x86_64-2.6.4.tgz[mongodb@trekizdell ~]$ mv mongodb-linux-x86_64-2.6.4/ mongodbslaver[mongodb@trekizdell ~]$ mv mongodb-linux-x86_64-2.6.4/ mongodbarbiter[mongodb@trekizdell ~]$ lsmongodata mongodbarbiter mongodb-linux-x86_64-2.6.4.tgz mongodbmaster mongodbslaver5、给各个节点创建日志目录文件(下面命令以master节点为例)注:我原本以为目录创建好了就行了,不需要创建日志文件,后来启动发现报错了,说找不到日志文件,所以还是需要手动创建日志文件创建日志目录[mongodb@trekizdell ~]$ cd mongodbmaster/[mongodb@trekizdell mongodbmaster]$ mkdir -p logs[mongodb@trekizdell mongodbmaster]$ lsbin GNU-AGPL-3.0 logs README THIRD-PARTY-NOTICES[mongodb@trekizdell mongodbmaster]$ cd logs[mongodb@trekizdell mongodbmaster]$ touch master.log6、给各个节点创建存储进程id的目录文件(下面命令以master节点为例)注:我原本以为目录创建好了就行了,不需要pid文件,后来启动发现报错了,说找不到日志文件,所以还是需要手动创建pid文件(就是一个空文本)创建日志目录[mongodb@trekizdell ~]$ cd mongodbmaster/[mongodb@trekizdell mongodbmaster]$ mkdir -p workpid[mongodb@trekizdell mongodbmaster]$ lsbin GNU-AGPL-3.0 logs README THIRD-PARTY-NOTICES workpid[mongodb@trekizdell mongodbmaster]$ cd workpid[mongodb@trekizdell mongodbmaster]$ touch pid7、依次启动 master slaver arbiter各个节点(下面命令以master节点为主例)创建日志目录[mongodb@trekizdell ~]$ cd mongodbmaster/[mongodb@trekizdell mongodbmaster]$ cd bin[mongodb@trekizdell mongodbmaster]$ ./mongod --replSet trekizlogs --port 27017 --dbpath /home/mongodb/mongodata/master --logpath/home/mongodb/mongodbmaster/logs/master.log --pidfilepath/home/mongodb/mongodbmaster/workpid/pid --logappend --fork --rest启动命令依次是:./mongod --replSet trekizlogs --port 27017 --dbpath/home/mongodb/mongodata/master --logpath/home/mongodb/mongodbmaster/logs/master.log --pidfilepath/home/mongodb/mongodbmaster/workpid/pid --logappend --fork --rest./mongod --replSet trekizlogs --port 27018 --dbpath/home/mongodb/mongodata/slaver --logpath/home/mongodb/mongodbslaver/logs/slaver.log --pidfilepath/home/mongodb/mongodbslaver/workpid/pid --logappend --fork --rest./mongod --replSet trekizlogs --port 27028 --dbpath/home/mongodb/mongodata/arbiter --logpath/home/mongodb/mongodbarbiter/logs/arbiter.log --pidfilepath/home/mongodb/mongodbarbiter/workpid/pid --logappend --fork --rest其中一些参数说明:dbpath:数据存放目录logpath:日志存放路径pidfilepath:进程文件,方便停止mongodbdirectoryperdb:为每一个数据库按照数据库名建立文件夹存放logappend:以追加的方式记录日志replSet:replica set的名字bind_ip:mongodb所绑定的ip地址port:mongodb进程所使用的端口号,默认为27017oplogSize:mongodb操作日志文件的最大大小。
DM8集群部署方案之读写分离集群Linux(3节点)
2.1 注册服务 ...................................................................................................................................... 2 2.2 配置 DM.INI................................................................................................................................... 3 2.3 配置 DMARCH.INI........................................................................................................................... 3 2.4 配置 DMMAL.INI ............................................................................................................................ 4 2.5 配置 DMWATCHER.INI..................................................................................................................... 4 2.6 配置 DMWATCHER.CTL ................................................................................................................... 5 2.7 拷贝实例 ...................................................................................................................................... 5
数据守护 集群使用场景
数据守护集群使用场景
数据守护集群是一个由多台服务器组成的集群,用于在处理大数据任务时提供高可用性、高性能和可扩展性。
以下是几个常见的数据守护集群使用场景:
1. 数据存储和备份:数据守护集群可以用于存储和备份大量的数据。
通过使用分布式文件系统和数据冗余备份的机制,可以确保数据的安全性和可靠性。
在集群中的任何一台服务器发生故障时,能够自动切换到其他服务器上进行数据访问,避免数据丢失或中断。
2. 数据处理和分析:数据守护集群可以通过分布式计算框架(如Hadoop、Spark等)对大量的数据进行处理和分析。
通过将数据分割成多个块,并在集群中的多台服务器上并行处理,可以大幅提高数据处理的速度和效率。
同时还可以通过分布式的任务调度和资源管理系统来管理集群中的计算资源,提供更好的性能和可扩展性。
3. 实时数据处理:数据守护集群也可以用于实时数据处理。
通过将数据分布在集群中的多台服务器上,并使用流式处理框架(如Storm、Flink等),可以实现对大量实时数据进行快速的处理和分析。
同时,集群中的各个节点可以通过消息传递的方式进行协调和通信,实现实时数据的处理和传输。
4. 负载均衡和容灾:数据守护集群可以通过负载均衡的机制,自动将任务和请求分配到集群中的各个节点上,实现任务的平衡和优化。
同时,也可以通过备份和复制的方式来实现容灾和
故障恢复,提高系统的可用性和可靠性。
总之,数据守护集群可以在大数据场景下提供高可用性、高性能和可扩展性的数据存储、处理和分析能力,满足不同类型的需求。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DM7集群部署方案之数据守护集群
Linux(主备)
武汉达梦数据库有限公司
2019年9月
版本历史
目录
1 安装前准备 (1)
1.1集群规划 (1)
1.2网络架构 (1)
1.3硬件环境建议 (2)
1.4硬件环境环境验证 (2)
1.5A机器:实例、启服务 (2)
2 配置A机器 (2)
2.1注册服务 (2)
2.2配置DM.INI (3)
2.3配置DMARCH.INI (3)
2.4配置DMMAL.INI (4)
2.5配置DMWATCHER.INI (4)
2.6配置DMWATCHER.CTL (4)
2.7拷贝实例 (5)
3 配置B机器 (5)
3.1注册服务 (5)
3.2配置DM.INI (6)
3.3配置DMARCH.INI (6)
3.4相同配置项 (6)
4 配置监视器 (6)
4.1注册服务 (6)
4.2配置DMMONITOR.INI (7)
4.3监视器使用 (7)
5 启动服务及查看信息 (8)
5.1启动数据库服务并修改参数 (8)
5.2查询主备库信息是否一致 (8)
5.3启动守护进程 (8)
5.4启动监视器 (8)
5.5启停集群 (9)
6 配置DM_SVC.CONF文件 (9)
6.1 DM_SVC.CONF配置内容 (9)
6.2应用连接 (9)
7 附加操作 (10)
7.1操作系统/数据库调优 (10)
7.2数据库备份 (10)
7.3项目管理维护 (10)
1安装前准备
1.1集群规划
说明:具体规划及部署方式以现场环境为准。
1.2网络架构
主机备机
1.3硬件环境建议
心跳网络方面:①集群间的心跳网络要走数据,最好走两个交换机,来实现冗余和负载均衡。
②需要把服务器多个心跳网卡绑定为一个逻辑网卡来使用(比如bond方式)。
③交换机速度建议至少为千兆。
存储方面:①需要在每台机器上挂在独立存储,其中主机所在机器挂载的存储建议大一些。
②需要格式化好,且所有机器挂载路径保持一致。
③在空间不够用时,要求支持在挂载目录上直接进行扩充。
④文件系统建议使用ext4。
1.4硬件环境环境验证
心跳网络方面:①关闭其中一台交换机或者模拟其中一条线路故障,是否能做到网络方面的冗余。
②测试心跳网络的稳定性,会不会出现断连或者丢包等情况。
存储方面:反复重启集群机器,检查存储是否会出现只读、脱挂、挂载路径是否会发生改变等情况。
1.5A机器:实例、启服务
2配置A机器
2.1注册服务
①复制数据库和守护进程服务文件到/etc/rc.d/init.d目录
②vi /etc/rc.d/init.d/DmServiceRT1_01文件
③vi /etc/rc.d/init.d/DmServiceWatcher文件
④修改启动服务的等级连接
备注:删除自启
2.2配置 dm.ini
2.3配置 dmarch.ini
2.4配置 dmmal.ini
MAL_CHECK_INTERVAL = 30 #MAL链路检测时间间隔
MAL_CONN_FAIL_INTERVAL = 60 #判定MAL链路断开的时间
MAL_TEMP_PATH = /opt/dmdbms/data/malpath/ #临时文件目录
MAL_BUF_SIZE = 512 #单个MAL缓存大小限制,单位MB
MAL_SYS_BUF_SIZE = 2048 #MAL系统总内存大小限制,单位MB
MAL_COMPRESS_LEVEL = 0 #MAL消息压缩等级,0表示不压缩
[MAL_INST1]
MAL_INST_NAME = RT1_01 #实例名,和dm.ini中的INSTANCE_NAME一致
MAL_HOST = 192.168.1.1 #MAL系统监听TCP连接的IP地址
MAL_PORT = 5336 #MAL系统监听TCP连接的端口
MAL_INST_HOST = 172.16.1.1 #实例的对外服务IP地址
MAL_INST_PORT = 5236 #实例的对外服务端口,和dm.ini中的PORT_NUM一致 MAL_DW_PORT = 5436 #实例对应的守护进程监听TCP连接的端口
[MAL_INST2]
MAL_INST_NAME = RT1_01B
MAL_HOST = 192.168.1.2
MAL_PORT = 5336
MAL_INST_HOST = 172.16.1.2
MAL_INST_PORT = 5236
MAL_DW_PORT = 5436
2.5配置 dmwatcher.ini
2.6配置 dmwatcher.ctl
2.7拷贝实例
3配置B机器
3.1注册服务
①复制数据库和守护进程服务文件到/etc/rc.d/init.d目录
②vi /etc/rc.d/init.d/DmServiceRT1_01B文件
③vi /etc/rc.d/init.d/DmServiceWatcher文件
④修改启动服务的等级连接
备注:删除自启
3.2配置 dm.ini
3.3配置 dmarch.ini
3.4相同配置项
与A机器RT1_01的dmmal.ini、dmwatcher.ini、dmwatcher.ctl相同
4配置监视器
①在确认监视器机器上注册确认监视器自启服务。
②在各节点数据库的bin目录中存放非/确认监视器配置文件。
4.1注册服务
①复制DmServiceMonitor文件到/etc/rc.d/init.d目录
②vi /etc/rc.d/init.d/DmServiceMonitor文件
③修改启动服务的等级连接
备注:删除自启
4.2配置 dmmonitor.ini
4.3监视器使用
5启动服务及查看信息
5.1启动数据库服务并修改参数
①A机器
②B机器
5.2查询主备库信息是否一致
查看归档是否打开、归档信息、MAL信息、OGUID信息
5.3启动守护进程
①A机器
②B机器
5.4启动监视器
5.5启停集群
启动:A机器守护进程→B机器守护进程
①A机器
②B机器
停止:定时(所有机器)→A机器守护进程→B机器守护进程→A机器RT1_01主库→B机器RT1_01B备库
①A机器:[dmdba@bin]#/etc/rc.d/init.d/DmServiceWatcher stop
②B机器:[dmdba@bin]#/etc/rc.d/init.d/DmServiceWatcher stop
③A机器:[dmdba@bin]#/etc/rc.d/init.d/DmServiceRT1_01 stop
④B机器:[dmdba@bin]#/etc/rc.d/init.d/DmServiceRT1_01B stop
6配置dm_svc.conf文件
6.1dm_svc.conf配置内容
6.2应用连接
①文件存放:
Linux:将dm_svc.conf文件放在应用服务器/etc目录下。
Windows32位:将dm_svc.conf文件放在应用服务器system32目录下。
Windows64位:将dm_svc.conf文件放在应用服务器system32和syswow64目录下。
②配置应用连接串:
7附加操作
7.1操作系统/数据库调优
执行级别:高
参见<产品操作手册>。
7.2数据库备份
执行级别:高
参见<产品操作手册>。
7.3项目管理维护
执行级别:高
新增/更新/删除<项目管理>。