HCIE-灾备技术和安全服务
灾备技术
灾备包含两个概念:容灾、备份
备份是为了保证数据的完整性,数据不丢失。全量备份、增量备份,备份数据还原。
容灾是为了保证业务的连续性,尽可能不断业务。
快照:保存的不是底层块数据,保存的是逻辑数据(状态索引数据)。未来还原快照的速度相对于还原备份文件来说,比较快。
逻辑错误:有意或无意的删除了某文件、某数据、更新错了等类似于这种,就可以通过快照来进行快速的恢复。
物理错误:由于介质损坏导致的物理错误,磁盘坏道了等,这时候快照是无能为力的。只能靠备份文件来解决(物理备份:直接备份底层数据块)
容灾架构
1、本地高可用
同一个数据中心里面,使用两套或者多套系统来构建高可用HA (High Availability),可以是多个层面,操作系统层面/数据库层面/应用层面,下面以数据库层面为例:
2、双活
华为体系,双活特指的是存储双活,一般都在距离不远的地方,比如同城,小于100km
3、主备容灾(同城/异地)
4、两地三中心
云备份(云服务器备份),类似eBackup
华为自己的备份软件BCManager eBackup,华为自己的容灾软件BCManager eReplication。
云服务器备份和云硬盘备份流程完全一样。云服务器备份和云硬盘备份,他们的实质是一样的。因为云服务器的构成,就是由云硬盘构成的。ECS001(默认有个系统盘EVS,EVS就是云硬盘),所以在备份云服务器ECS001的时候,实质就是备份了系统盘,只不过云服务器可能会挂载多个云硬盘(1,2,3),那么在针对云服务器备份的时候,默认会把(1,2,3)ECS对应的所有磁盘全部备份,当然也可以手工选择单独备份哪个硬盘。
1、创建一个ECS弹性云服务器
2、购买云服务器存储库
注意:华为备份是这样的,第一次备份全部是“全量备份”,从第二次开始及以后备份,默认全部都是“增量备份”。
什么叫全量:完全备份,每一次都对所有数据进行备份。
什么叫增量:默认第一次全备,第二次开始只备份上一次备份以来发生变化的(快照对比)
3、创建备份策略
4、执行第一次备份(全备),注意:第一次为全备
之后,再次新增数据,在服务器创建文件touch 666.txt
5、执行第二次备份(增备)
增备,只备份发生变化的数据(666.txt),已备份的数据进行引用。
现在的情况:有一台ECS(系统盘),而且有两个备份文件,1个全备,1个增备。
假设把ECS干掉,把全备干掉,只留一个增备。
通过这一个增备文件是否可以把数据找回来?答案是可以的。
6、尝试还原
把ECS删除了,所以没有办法直接去恢复数据,只能通过备份文件创建一个镜像,再通过镜像去创建ECS。
容灾(存储容灾服务SDRS),类似eReplication
存储容灾服务SDRS(Storage Disaster Recovery Service)
公有云上的SDRS不能跨region容灾的。
1、创建ECS
2、为ECS创建保护组
3、创建保护实例
4、开启保护(开启同步)
ECS容灾服务搭建好了。如何证明?
查看生产端数据
5、容灾演练
它会通过灾备端(目前处于关机状态的ecs),创建一台临时的ECS,用来测试证明容灾环境搭建好了。
删除容灾演练
ECS会随着自动删除
6、了解容灾两个切换概念
主备架构容灾,一般在核心业务场景,会定期进行测试演练,这是很有必要的。
对于这种演练,它是一种主动机制,通过主动触发主备切换/主备倒换,这种切换方式称之为switchover(生产站点和灾备站点都是正常的情况下)
一旦出现了生产站点损坏或者起不来,被迫不得不进行主备切换/主备倒换,这种切换方式称之为failover(生产站点已经损坏的情况下被动进行的切换)
7、切换switchover
切换switchover之前,保护组内的所有ECS都必须要关闭。
8、切换failover
9、重保护(重新开启同步)
重保护就是重新开启同步的意思,如果灾备端(源主端)没有修复好,不要点,修复好了,再点。
10、停止保护(停止同步)
WAF网站应用防火墙
1、安装dvwa
DVWA:Damn Vulnerable Web Application (DVWA) 易受攻击的一个web应用程序,它是基于php和mysql开发的。是一个用来进行安全脆弱性鉴定的PHP/MySQL Web应用,旨在为安全专业人员测试自己的专业技能和工具提供合法的环境,帮助web开发者更好的理解web应用安全防范的过程。
1.创建一台ECS
2.安装好docker
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install -y docker-ce
systemctl start docker
systemctl enable docker
3.拉取dvwa镜像
docker pull registry.cn-hangzhou.aliyuncs.com/cloudcs/dvwa:latest
4.创建容器
docker run -d -p 8080:80 registry.cn-hangzhou.aliyuncs.com/cloudcs/dvwa:latest
5.登录
为ECS绑定公网,进行登录。
公有云上创建的容器,要看安全组8080有没有放行。
6.初始化/重建数据库
7.登录
相关文章:

HCIE-灾备技术和安全服务
灾备技术 灾备包含两个概念:容灾、备份 备份是为了保证数据的完整性,数据不丢失。全量备份、增量备份,备份数据还原。 容灾是为了保证业务的连续性,尽可能不断业务。 快照:保存的不是底层块数据,保存的是逻…...
【图论实战】Boost学习 01:基本操作
文章目录 头文件图的构建图的可视化基本操作 头文件 #include <boost/graph/adjacency_list.hpp> #include <boost/graph/graphviz.hpp> #include <boost/graph/properties.hpp> #include <boost/property_map/property_map.hpp> #include <boost/…...

Rust 中的引用与借用
目录 1、引用与借用 1.1 可变引用 1.2 悬垂引用 1.3 引用的规则 2、slice 类型 2.1 字符串字面量其实就是一个slice 2.2 总结 1、引用与借用 在之前我们将String 类型的值返回给调用函数,这样会导致这个String会被移动到函数中,这样在原来的作用域…...

Azure 机器学习:在 Azure 机器学习中使用 Azure OpenAI 模型
目录 一、环境准备二、Azure 机器学习中的 OpenAI 模型是什么?三、在机器学习中访问 Azure OpenAI 模型连接到 Azure OpenAI部署 Azure OpenAI 模型 四、使用自己的训练数据微调 Azure OpenAI 模型使用工作室微调微调设置训练数据自定义微调参数部署微调的模型 使用…...

XML Web 服务 Eclipse实现中的sun-jaxws.xml文件
说明 在sun-jaxws.xml文件,可以配置endpoint、handler-chain等内容。在这个文件中配置的内容会覆盖在Java代码中使用注解属性配置的的内容。 这个文件根据自己的项目内容修改完成以后,作为web应用的一部分部署到web容器中(放到web应用的WEB…...

16.1 二次根式 教学设计及课堂检测设计
课堂检测如下:...
Android数据流的狂欢:Channel与Flow
在 Android 应用程序的开发中,处理异步数据流是一个常见的需求。为了更好地应对这些需求,Kotlin 协程引入了 Channel 和 Flow,它们提供了强大的工具来处理数据流,实现生产者-消费者模式,以及构建响应式应用程序。 本文…...
Java 单元测试最佳实践:如何充分利用测试自动化
单元测试是众所周知的做法,但还有很大的改进空间!在这篇文章中,我们讨论最有效的单元测试最佳实践,包括在此过程中最大化自动化工具的方法。我们还将讨论代码覆盖率、模拟依赖关系和整体测试策略。 什么是单元测试? 单…...

windows系统用于 SDN 的软件负载均衡器 (SLB)
适用于:Azure Stack HCI 版本 22H2 和 21H2;Windows Server 2022、Windows Server 2019、Windows Server 2016 软件负载均衡器包括哪些内容? 软件负载均衡器提供以下功能: 适用于北/南和东/西 TCP/UDP 流量的第 4 层 (L4) 负载均…...

漏洞复现--IP-guard flexpaper RCE
免责声明: 文章中涉及的漏洞均已修复,敏感信息均已做打码处理,文章仅做经验分享用途,切勿当真,未授权的攻击属于非法行为!文章中敏感信息均已做多层打马处理。传播、利用本文章所提供的信息而造成的任何直…...

Electron-vue出现GET http://localhost:9080/__webpack_hmr net::ERR_ABORTED解决方案
GET http://localhost:9080/__webpack_hmr net::ERR_ABORTED解决方案 使用版本解决方案解决总结 使用版本 以下是我解决此问题时使用的electron和vue等的一些版本信息 【附】经过测试 electron 的版本为 13.1.4 时也能解决 解决方案 将项目下的 .electron-vue/dev-runner.js…...

Linux---(六)自动化构建工具 make/Makefile
文章目录 一、make/Makefile二、快速查看(1)建立Makefile文件(2)编辑Makefile文件(3)解释(4)效果展示 三、背后的基本知识、原理(1)如何清理对应的临时文件呢…...
谷歌:编写干净的代码以减少认知负荷
您是否曾经阅读过代码却发现很难理解?您可能正在经历认知负荷! 认知负荷是指完成一项任务所需的脑力劳动量。阅读代码时,您必须记住变量值、条件逻辑、循环索引、数据结构状态和接口契约等信息。随着代码变得更加复杂,认知负荷也…...

微信小程序display常用属性和子元素排列方式介绍
wxss中display常用显示属性与css一致,介绍如下: 针对元素本身显示的属性: displayblock,元素显示换行displayinline,元素显示换行,但不可设置固定的宽度和高度,也不可设置上下方向的margin和p…...

设计模式—结构型模式之代理模式
设计模式—结构型模式之代理模式 代理模式(Proxy Pattern) ,给某一个对象提供一个代理,并由代理对象控制对原对象的引用,对象结构型模式。 静态代理 比如我们有一个直播平台,提供了直播功能,但是如果不进行美颜,可能就比较冷清…...
C# PDF转HTML字符串
需要nuget安装Aspose.PDF插件,本文使用23.10.0版本 一、获取PDF文件,保存到某个路径;再读取返回字符串。 //html文件保存路径 string filePath dirPath "xxx.html"; if (!File.Exists(filePath)) {//获取pdf文件流Byte[] pdfBy…...

el-table解决数据过少小于高度有留白的问题
问题:给el-table设置个高度,高度为500px,之后就添加如下4条数据,那么底部就没数据,直接就空白了,本文章就是为了解决这个问题,如果底部留白那么就添加几条空数据就行了.如果数据已达到高度了那么就不会留白了 1.效果 这个空列可以根据高度来决定添加几个空格子去铺满列表&…...
vue实现无感刷新token
vue实现无感刷新token 1、前言2、实现思路2.1 方法一2.2 方法二2.3 方法三 3、可能遇到的问题3.1 问题一:如何防止多次刷新token3.2 问题二:同时发起两个或者两个以上的请求时,其他接口怎么解决 1、前言 最近在做vue3管理系统项目的时候&…...

竞赛选题 深度学习的动物识别
文章目录 0 前言1 背景2 算法原理2.1 动物识别方法概况2.2 常用的网络模型2.2.1 B-CNN2.2.2 SSD 3 SSD动物目标检测流程4 实现效果5 部分相关代码5.1 数据预处理5.2 构建卷积神经网络5.3 tensorflow计算图可视化5.4 网络模型训练5.5 对猫狗图像进行2分类 6 最后 0 前言 &#…...

Python高级语法----Python C扩展与性能优化
文章目录 1. 编写Python C扩展模块示例代码编译和运行运行结果2. 利用Cython优化性能示例代码编译和运行运行结果3. Python性能分析工具示例代码分析结果1. 编写Python C扩展模块 Python C扩展模块允许你将C语言代码集成到Python程序中,以提高性能。这对于计算密集型任务特别…...

2.Vue编写一个app
1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...

k8s业务程序联调工具-KtConnect
概述 原理 工具作用是建立了一个从本地到集群的单向VPN,根据VPN原理,打通两个内网必然需要借助一个公共中继节点,ktconnect工具巧妙的利用k8s原生的portforward能力,简化了建立连接的过程,apiserver间接起到了中继节…...
【Go语言基础【12】】指针:声明、取地址、解引用
文章目录 零、概述:指针 vs. 引用(类比其他语言)一、指针基础概念二、指针声明与初始化三、指针操作符1. &:取地址(拿到内存地址)2. *:解引用(拿到值) 四、空指针&am…...
Qt 事件处理中 return 的深入解析
Qt 事件处理中 return 的深入解析 在 Qt 事件处理中,return 语句的使用是另一个关键概念,它与 event->accept()/event->ignore() 密切相关但作用不同。让我们详细分析一下它们之间的关系和工作原理。 核心区别:不同层级的事件处理 方…...

C++实现分布式网络通信框架RPC(2)——rpc发布端
有了上篇文章的项目的基本知识的了解,现在我们就开始构建项目。 目录 一、构建工程目录 二、本地服务发布成RPC服务 2.1理解RPC发布 2.2实现 三、Mprpc框架的基础类设计 3.1框架的初始化类 MprpcApplication 代码实现 3.2读取配置文件类 MprpcConfig 代码实现…...

【Linux】Linux安装并配置RabbitMQ
目录 1. 安装 Erlang 2. 安装 RabbitMQ 2.1.添加 RabbitMQ 仓库 2.2.安装 RabbitMQ 3.配置 3.1.启动和管理服务 4. 访问管理界面 5.安装问题 6.修改密码 7.修改端口 7.1.找到文件 7.2.修改文件 1. 安装 Erlang 由于 RabbitMQ 是用 Erlang 编写的,需要先安…...

jdbc查询mysql数据库时,出现id顺序错误的情况
我在repository中的查询语句如下所示,即传入一个List<intager>的数据,返回这些id的问题列表。但是由于数据库查询时ID列表的顺序与预期不一致,会导致返回的id是从小到大排列的,但我不希望这样。 Query("SELECT NEW com…...

C# winform教程(二)----checkbox
一、作用 提供一个用户选择或者不选的状态,这是一个可以多选的控件。 二、属性 其实功能大差不差,除了特殊的几个外,与button基本相同,所有说几个独有的 checkbox属性 名称内容含义appearance控件外观可以变成按钮形状checkali…...

欢乐熊大话蓝牙知识17:多连接 BLE 怎么设计服务不会乱?分层思维来救场!
多连接 BLE 怎么设计服务不会乱?分层思维来救场! 作者按: 你是不是也遇到过 BLE 多连接时,调试现场像网吧“掉线风暴”? 温度传感器连上了,心率带丢了;一边 OTA 更新,一边通知卡壳。…...

使用ch340继电器完成随机断电测试
前言 如图所示是市面上常见的OTA压测继电器,通过ch340串口模块完成对继电器的分路控制,这里我编写了一个脚本方便对4路继电器的控制,可以设置开启时间,关闭时间,复位等功能 软件界面 在设备管理器查看串口号后&…...