版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第13章openGauss的高可用性数据库系统设计与开发openGauss的高可用性openGauss的高可用性主备模式安装实例主备切换openGauss的高可用性高可用性含义数据库的高可用性主要指的是在面对硬件或软件故障时,数据库系统仍能保持高服务可用性的能力。这包括数据冗余、服务节点冗余、容错等多个方面,以确保在主数据库发生故障时,系统仍能保持正常运行,保障数据的安全性和完整性,提升用户体验和系统的整体性能。保障高可用性的主要策略数据冗余:通过多份备份和存储数据,确保在主数据库故障时仍能恢复数据并保持系统运行。这包括定期备份数据、配置热备份和冷备份等方式,以提高数据的安全性和可靠性。服务节点冗余:通过配置多个服务节点,当一个节点发生故障时可以自动切换到其他节点,保证系统的持续性服务。常见的方式包括主备复制、集群部署、负载均衡等,通过部署多个服务节点并实现自动故障检测和切换,提高系统的稳定性和可用性。保障高可用性的主要策略容错:指系统在面对各种异常情况和故障时,能够保持稳定性和正常运行的能力。通过设计和实施各种机制和策略来防止系统因故障而导致数据丢失或服务中断。关键在于提高系统的鲁棒性和抗干扰能力,包括故障检测、自动故障转移、数据冗余、错误恢复等技术手段。openGauss的高可用性openGauss的高可用性高可用性主要体现在以下几个方面支持多种部署模式:openGauss支持主备同步、异步以及级联备机等多种部署模式,以确保在故障发生时能够迅速切换至备用数据库,保证服务的连续性。数据页CRC校验与自动修复:openGauss通过数据页CRC校验机制,能够在数据页损坏时通过备用机自动修复,确保数据的完整性和一致性。备机并行恢复:openGauss支持备机并行恢复功能,能够在短时间内将备机升级为主机,提供服务,确保在极短的时间内恢复服务可用性。基于Paxos分布式一致性协议的日志复制及选主框架:通过这一技术,openGauss能够实现高可用性和容灾能力,确保在多个数据中心或区域之间实现数据的实时同步和故障快速恢复。高可用性主要体现在以下几个方面两地三中心跨Region容灾:openGauss支持“两地三中心”的灾备模式,即在两个地理位置不同的数据中心设置生产中心、同城容灾中心以及异地容灾中心,这种模式兼具高可用性和灾难备份的能力,能够有效地应对自然灾害等极端情况。openGauss的高可用性实例主备切换主备切换的基本概念主库(Primary):负责处理读写请求的数据库实例。备库(Standby):负责接收主库的WAL(Write-AheadLogging)日志并进行数据同步的数据库实例。主备切换:将主库和备库的角色互换,原主库变为备库,原备库变为主库。主备切换的适用场景计划维护:在主库需要进行维护时,切换到备库以保证业务连续性。故障恢复:当主库发生故障时,切换到备库以恢复服务。负载均衡:在负载较高时,切换到备库以分担主库的压力。实例主备切换主备切换的前提条件主备同步正常:主库和备库之间的数据同步正常,备库的数据与主库一致。备库状态正常:备库处于正常运行状态,能够接管主库的角色。业务可中断:主备切换过程中,数据库服务可能会短暂中断,需确保业务能够容忍。主备切换的注意事项数据一致性:确保主备切换过程中数据的一致性,避免数据丢失。业务中断:主备切换可能会导致短暂的业务中断,需提前通知业务方。网络延迟:如果主备库之间的网络延迟较大,可能会影响切换的速度和数据同步。备份和恢复:在执行主备切换之前,建议对数据库进行备份,以防止意外情况发生。实例主备切换主备切换的步骤以操作系统用户omm登录数据库任意节点,执行如下命令,查看主备情况。gs_om-tstatus--detail以操作系统用户omm登录准备切换为主节点的备节点,执行如下命令。gs_ctlswitchover-D$PGDATAswitchover成功后,在新主机节点上执行如下命令记录当前主备机器信息。gs_om-trefreshconf第14章数据库审计数据库系统设计与开发数据库审计审计概述查看审计结果维护审计日志审计实例审计概述审计概念按照“可信计算机系统评估准则”(TrustedComputerSystemEvaluationCriteria,TCSEC)的要求,审计功能是DBMS达到C2以上安全级别必不可少的一项指标。数据库审计功能就是把用户对数据库的所有操作自动记录下来放入“审计日志”(auditlog)中,数据库审计机制以一种非常详细的级别捕获用户行为,它可以对任何用户所做的登录注销、所执行的任何SQL语句、对数据库对象的任何操作进行自动跟踪登记,以便数据库管理者在事后进行监督和检查,数据库审计又称为审计跟踪。在一些敏感性较高的应用中,审计日志还可以用于遵从合规性规定。许多行业标准和法律法规要求记录数据库操作历史,以便监管机构对业务实践进行检查。审计日志有助于确定恶意用户的行为和未经授权的访问,以便及时采取应对措施和提高安全性。通过分析审计日志,并与内部政策和规定相比较,可以确定员工是否遵守安全性规定,从而有助于加强企业文化。审计概述openGauss的审计审计总开关audit_enabled参数支持动态加载。在数据库运行期间修改该配置项的值会立即生效,无需重启数据库。默认值为on,表示开启审计功能。除了审计总开关,各个审计项也有对应的开关。只有开关开启,对应的审计功能才能生效。各审计项的开关支持动态加载。在数据库运行期间修改审计开关的值,不需要重启数据库便可生效。审计概述openGauss配置审计项配置项描述户登录、注销审计参数:audit_login_logout默认值为7,表示开启用户登录、退出的审计功能。设置为0表示关闭用户登录、退出的审计功能。不推荐设置除0和7之外的值。数据库启动、停止、恢复和切换审计参数:audit_database_process默认值为1,表示开启数据库启动、停止、恢复和切换的审计功能。用户锁定和解锁审计参数:audit_user_locked默认值为1,表示开启审计用户锁定和解锁功能。用户访问越权审计参数:audit_user_violation默认值为0,表示关闭用户越权操作审计功能。授权和回收权限审计参数:audit_grant_revoke默认值为1,表示开启审计用户权限授予和回收功能。对用户操作进行全量审计参数:full_audit_users默认值为空字符串,表示采用默认配置,未配置全量审计用户。不需要审计的客户端名称及IP地址参数:no_audit_client默认值为空字符串,表示采用默认配置,未将客户端及IP加入审计黑名单。审计概述openGauss配置审计项配置项描述数据库对象的CREATE,ALTER,DROP操作审计参数:audit_system_object默认值为67121159,表示只对DATABASE、SCHEMA、USER、DATASOURCE这四类数据库对象的CREATE、ALTER、DROP操作进行审计。具体表的INSERT、UPDATE和DELETE操作审计参数:audit_dml_state默认值为0,表示关闭具体表的DML操作(SELECT除外)审计功能。SELECT操作审计参数:audit_dml_state_select默认值为0,表示关闭SELECT操作审计功能。COPY审计参数:audit_copy_exec默认值为1,表示开启copy操作审计功能。存储过程和自定义函数的执行审计参数:audit_function_exec默认值为0,表示不记录存储过程和自定义函数的执行审计日志。执行白名单内的系统函数审计参数:audit_system_function_exec默认值为0,表示不记录执行系统函数的审计日志。SET审计参数:audit_set_parameter默认值为0,表示关闭SET审计功能。事务ID记录参数:audit_xid_info默认值为0,表示关闭审计日志记录事务ID功能。审计概述数据库审计操作步骤以操作系统用户omm登录数据库主节点。连接数据库检查审计总开关状态用show命令显示审计总开关audit_enabled的值。showaudit_enabled;如果显示为off,执行‘\q’命令退出数据库,继续执行后续步骤。如果显示为on,则无需执行后续步骤。执行如下命令开启审计功能,参数设置立即生效。其中,-N指定数据节点,all为有所节点;表示-I指定数据库实例,all表示针对所有实例;-c指定参数及赋值。gs_gucset-Nall-Iall-c"audit_enabled=on"配置具体的审计项。配置具体的审计荐时要注意以下几点:只有开启审计功能,用户的操作才会被记录到审计文件中。各审计项的默认参数都符合安全标准,用户可以根据需要开启其他审计功能,但会对性能有一定影响。查看审计结果查看审计结果只有拥有AUDITADMIN属性的用户才可以查看审计记录。审计查询命令是数据库提供的sql函数pg_query_audit,其原型为:pg_query_audit(timestamptzstartime,timestamptzendtime,audit_log)参数startime和endtime分别表示审计记录的开始时间和结束时间,audit_log表示所查看的审计日志信息所在的物理文件路径,当不指定audit_log时,默认查看连接当前实例的审计日志信息。说明:startime和endtime的差值代表要查询的时间段,其有效值为从startime日期中的00:00:00开始到endtime日期中的23:59:59之间的任何值。请正确指定这两个参数,否则将查不到需要的审计信息。查看审计结果查看审计结果操作步骤以操作系统用户omm登录数据库主节点。使用如下命令连接数据库。gsql-dpostgres-p15600postgres为需要连接的数据库名称,15600为数据库主节点的端口号。查询审计记录。select*frompg_query_audit('2024-08-0212:08:00','2024-08-0212:10:00');维护审计日志背景信息为了有效维护数据库审计日志,需要对审计日志相关的配置参数进行操作,以确保审计需求得到满足,由于审计日志会占用较多硬盘空间,DBA可以手动将已经失效的审计日志清除。用户维护操作审计日志配置参数的前提条件是必须拥有审计权限。与审计日志相关的配置参数及其含义配置项含义默认值audit_directory审计文件的存储目录。
audit_resource_policy审计日志的保存策略。on(表示使用空间配置策略)audit_space_limit审计文件占用的磁盘空间总量。1GBaudit_file_remain_time审计日志文件的最小保存时间。90audit_file_remain_threshold审计目录下审计文件的最大数量。1048576维护审计日志背景信息审计日志保存方式目前常用的记录审计内容的方式有两种:记录到数据库的表中、记录到OS文件中。这两种方式的优缺点比较如下表所示。从数据库安全角度出发,openGauss采用记录到OS文件的方式来保存审计结果,保证了审计结果的可靠性。方式优点缺点记录到表中不需要用户维护审计日志。由于表是数据库的对象,如果一个数据库用户具有一定的权限,就能够访问到审计表。如果该用户非法操作审计表,审计记录的准确性难以得到保证。记录到OS文件中比较安全,即使一个帐户可以访问数据库,但不一定有访问OS这个文件的权限。需要用户维护审计日志。维护审计日志操作步骤以操作系统用户omm登录数据库主节点。使用如下命令连接数据库。选择日志维护方式进行维护。设置自动删除审计日志审计文件占用的磁盘空间或者审计文件的个数超过指定的最大值时,系统将删除最早的审计文件,并记录审计文件删除信息到审计日志中。配置审计文件占用磁盘空间的大小(audit_space_limit)在linux系统下运行gs_guc命令将audit_space_limit参数值设置成默认值1024MB。gs_gucreload-Nall-Iall-c"audit_space_limit=1024MB"配置审计文件个数的最大值(audit_file_remain_threshold)在linux系统下运行gs_guc命令将audit_file_remain_threshold参数值设置成默认值1048576。gs_gucreload-Nall-Iall-c"audit_file_remain_threshold=1048576"维护审计日志操作步骤选择日志维护方式进行维护。手动备份审计文件系统将会自动删除较早的审计文件,因此用户周期性地对比较重要的审计日志进行保存。使用show命令获得审计文件所在目录(audit_directory)。showaudit_directory;将审计目录整个拷贝出来进行保存。手动删除审计日志当不再需要某时段的审计记录时,可以使用审计接口命令pg_delete_audit进行手动删除。执行下列命令可以清空指定时间段的审计日志。select*frompg_delete_audit('2024-08-0212:08:00','2024-08-0212:10:00');审计实例-传统审计传统审计概念传统审计通过参数配置各个审计项开关,管理员可以通过参数配置对哪些语句或操作记录审计日志。传统审计采用记录到OS文件的方式来保存审计日志,支持审计管理员通过SQL函数接口审计日志查询和删除。传统审计会产生大量的审计日志,且不支持定制化的访问对象和访问来源配置,不方便数据库安全管理员对审计日志的分析。审计实例-传统审计配置具体的审计项audit_system_object代表审计项开关。该参数决定是否对数据库对象的CREATE、DROP、ALTER操作进行审计。该参数的值由29个二进制位的组合求出,这29个二进制位分别代表29类数据库对象。如果对应的二进制位取值为0,表示不审计对应的数据库对象的CREATE、DROP、ALTER操作;取值为1,表示审计对应的数据库对象的CREATE、DROP、ALTER操作。审计实例-传统审计审计实例-传统审计传统审计步骤查看audit_system_object参数,默认值为67121159(0100000000000011000000000111),未开启对table的Create、Alter、Drop操作审计。showaudit_system_object;修改student表结构altertablestudentaddweixinvarchar(32);查看最新审计日志,未发现表结构修改记录。select*frompg_query_audit('2025-03-1221:40:00','2025-03-1221:55:00');修改audit_system_object参数的值设置为67121167(0100000000000011000000001111),开启对table的Create、Alter、Drop操作审计。gs_gucreload-Nall-Iall-c"audit_system_object=67121167"再次修改student表结构altertablestudentaddphonevarchar(16);再次查看最新审计日志,发现表结构修改记录。select*frompg_query_audit('2025-03-1221:50:00','2025-03-1221:55:00');撤销审计,将audit_system_object参数修改回67121159即可gs_gucreload-Nall-Iall-c"audit_system_object=67121159"审计实例-全量审计全量审计概念openGauss5.0.0版本在传统审计功能基础上,新增支持用户级别全量审计功能。新增GUC参数full_audit_users配置全量审计用户列表,对列表中的用户执行的所有可被审计的操作记录审计日志;新增GUC参数no_audit_client配置无需记录审计的客户端列表;新增GUC参数audit_system_function_exec配置系统函数审计开关。审计实例-全量审计审计步骤查看full_audit_users参数的值,该参数默认为空串,表示不针对具体用户操作审计。showfull_audit_users;修改full_audit_users参数的值,开启对用户jimmy的全量审计功能。gs_gucreload-Nall-Iall-c"full_audit_users='jimmy'"首先以用户hr身份给hr.departments添加1条记录。insertintohr.departmentsvalues(280,'Test',103,1400);然后以用户jimmy身份给hr.departments添加1条记录。insertintohr.departmentsvalues(290,'OM',103,1700);查看审计日志,日志里只记录了hr用户对departments表的INSERT操作而没有记录jimmy用户对departments表的INSERT操作。select*frompg_query_audit('2025-03-1222:25:00','2025-03-1222:35:00');撤销审计,将full_audit_users参数置空即可gs_gucreload-Nall-Iall-c"full_audit_users=''"审计实例-统一审计统一审计概述统一审计机制是一种通过定制化制定审计策略而实现高效安全审计管理的一种技术。当管理员定义审计对象和审计行为后,用户执行的任务如果关联到对应的审计策略,则生成对应的审计行为,并记录审计日志。定制化审计策略可涵盖常见的用户管理活动,DDL和DML行为,满足日常审计诉求。统一审计策略支持绑定资源标签、配置数据来源输出审计日志,可以提升安全管理员对数据库监控的效率。审计实例-统一审计统一审计步骤查看enable_security_policy参数在gsql工具中执行下列语句查看enable_security_policy参数的值,该参数默认为off。showenable_security_policy;修改enable_security_policy参数的值执行“\q”命令退出gsql,在linux系统下运行gs_guc命令将enable_security_policy参数的值设置on,开启对统一审计功能。gs_gucreload-Nall-Iall-c"enable_security_policy=on"操作系统root用户进行rsyslog配置统一审计策略的审计日志单独记录,暂不提供可视化查询接口,整个日志依赖于操作系统自带rsyslog服务,通过配置完成日志归档。在操作系统后台服务配置文件/etc/rsyslog.conf中添加下面1行内容,将统一审计日志的内容写入/var/log/localmessages文件中。local0.*/var/log/localmessages以root身份执行下列命令重启rsyslog服务使配置生效。systemctlrestartrsyslog审计实例-统一审计统一审计步骤新建资源标签统一审计策略需要由具备POLADMIN或SYSADMIN属性的用户或初始用户创建,普通用户无访问安全策略系统表和系统视图的权限。安全策略管理员是指具有POLADMIN属性的帐户,具有创建资源标签、脱敏策略和统一审计策略的权限。系统管理员是指具有SYSADMIN属性的帐户,默认安装情况下具有与对象所有者相同的权限。安全策略管理员登录数据库,配置资源标签。统一审
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 苏州江苏苏州张家港市市级机关服务中心招聘公益性岗位(编外)人员3人笔试历年参考题库附带答案详解
- 盐城江苏南京师范大学盐城高级中学面向区外选调教师10人笔试历年参考题库附带答案详解
- 温州浙江温州市龙湾邮政管理局招聘编外工作人员笔试历年参考题库附带答案详解
- 江西2025年江西省检验检测认证总院招聘49人笔试历年参考题库附带答案详解
- 昆明云南昆明医科大学第一附属医院昆医大附一院招聘科研助理人员笔试历年参考题库附带答案详解
- 恩施2025年湖北恩施鹤峰县教育系统选调工作人员笔试历年参考题库附带答案详解
- 广东2025年广东省应急管理厅所属事业单位招聘博士研究生(第二批)8人笔试历年参考题库附带答案详解
- 宜宾2025年四川宜宾屏山县招用幼儿园合同制教师40人笔试历年参考题库附带答案详解
- 台州浙江台州椒江区纪委区监委机关下属事业单位面向全市选聘工作人员笔试历年参考题库附带答案详解
- 内蒙古2025年内蒙古地质调查研究院招聘13人笔试历年参考题库附带答案详解
- DZ∕T 0399-2022 矿山资源储量管理规范(正式版)
- GB 31633-2014食品安全国家标准食品添加剂氢气
- 麻风病防治知识课件整理
- 手术室物品清点护理质量控制考核标准
- 消防工程监理实施细则
- 双排桩支护设计计算书
- 权利的游戏双语剧本-第Ⅰ季
- 卫生部《臭氧消毒技术规范》
- 早期复极综合征的再认识
- 山西某2×150MW循环流化床空冷机组施工组织设计方案
- (高清正版)SL 56-2013 农村水利技术术语
评论
0/150
提交评论