首页
统计信息
友情链接
壁纸
Search
1
【更新】CommentToMail typecho2017&v4.1& Mailer三版本,支持php5.6/7,插件详解
158,173 阅读
2
【90APT开源免费】第三代哈弗H6、哈弗大狗、H6经典版、坦克300车机开启无线ADB、升级地图、安装软件全流程
17,721 阅读
3
CentOS 7安装bbr教程
12,916 阅读
4
纯小白10分钟变身linux建站高手?宝塔linux面板全体验
12,508 阅读
5
深信服超融合架构测试介绍
11,957 阅读
技术相关
ACG相关
胡言乱语
数码杂烩
登录
Search
标签搜索
进击的巨人
漫画
宝塔
php
typecho
diy
vps
折腾
动漫
优酷路由宝
ubuntu
路由器
QQ
KMS
王忘杰
累计撰写
287
篇文章
累计收到
179
条评论
首页
栏目
技术相关
ACG相关
胡言乱语
数码杂烩
页面
统计信息
友情链接
壁纸
搜索到
287
篇与
的结果
2025-05-23
一键安装、图形配置、快速开发 OceanBase 桌面版部署开发体验
一句话介绍OceanBase 桌面版是一款具备部分OCP云平台图形化管理功能、可一键部署、方便用户快速进行数据库开发的平台化数据库软件。OceanBase 桌面版介绍OceanBase Desktop 是一个用于管理和操作 OceanBase 数据库的桌面应用程序。它提供了图形化界面,使用户能够方便地进行数据库管理、查询执行、数据导入导出等操作。OceanBase Desktop 具有如下特性:图形化界面:直观易用的图形化界面,简化数据库管理任务。数据库管理:支持创建和管理数据库实例。查询执行:提供 SQL 查询命令行。监控与日志:实时监控数据库状态。下载地址:https://www.oceanbase.com/softwarecenter文档地址:https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000002866370安装前须知OceanBase Desktop 需依赖 WSL(Windows Subsyetem for Linux,适用于 Linux 的 Windows 子系统),并且只能使用WSL2,此功能实际是虚拟化技术,对系统资源占用较多。若使用OceanBase 桌面版,建议配置为8核16线程、32G内存,硬盘剩余空间建议50G以上,否则可能系统体验较差。OceanBase 桌面版安装准备工作我使用的操作系统为windows11 24H2、windows10 LTSC 2021开启虚拟化查看虚拟化是否开若未开启,则进入bios开启英特尔处理器开启方法Intel Virtualization Technology 改为[ON]AMD处理器开启方法OC->CPU Features->SVM Mode 选项改成[Enabled]安装WSL使用管理员命令提示符 一键开启WSL2wsl --install软件安装OceanBase 桌面版启动启动默认密码为空OceanBase 桌面版使用使用命令行连接数据库wsl.exe -d oceanbase-desktop --exec obclient -h127.0.0.1 -P2881 -uroot@test -Doceanbase -A Copyright (c) 2000, 2018, OceanBase and/or its affiliates. All rights reserved. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. obclient(root@test)[oceanbase]>管控页面停止数据库OceanBase 桌面版开发GUI图形界面简单使用桌面版默认有两个租户,一个sys,一个test,若你电脑资源不够强,则使用test租户即可,不必新建租户我们通过gui界面为test租户创建数据库和用户进入test租户创建一个数据库创建一个用户,并赋予数据库权限注意密码有复杂度要求可使用数据库连接工具登录数据库obclient -h127.0.0.1 -P2881 -uhaha@test -p如DBeaver,已支持OceanBase数据库登陆成功基于 OceanBase 桌面版进行python开发我这里我简单演示使用python进行OB数据库连接和初始化import mysql.connector mqdb = mysql.connector.connect( host="127.0.0.1", user="haha@test", passwd="设置的密码", database="haha", port=2881 ) mqcursor = mqdb.cursor() mqcursor.execute("CREATE TABLE mqdata (id INT AUTO_INCREMENT PRIMARY KEY,time VARCHAR(255), name VARCHAR(255), number VARCHAR(255))") mqcursor.execute("CREATE TABLE configkey (name VARCHAR(255), config VARCHAR(255))") insert_sql = "INSERT INTO configkey (name, config) VALUES ('config','1')" mqcursor.execute(insert_sql) mqdb.commit() mqcursor.close()查看数据库表后续可正常进行数据库开发使用意见与建议影响使用的BUG在运行一个OceanBase 桌面版的情况下,再次点击启动OceanBase 桌面版图标,会导致数据库崩溃退出,只能重启电脑解决,建议启动时判断是否已启动建议右下角增加后台运行托盘图标小结OceanBase 桌面版能够为数据库的学习提供更简单的部署体验,可以在项目开发阶段本地很方便的进行数据库使用,但对配置有一定要求,大家一起来体验一下吧~
2025年05月23日
61 阅读
0 评论
0 点赞
2025-05-22
一个可以在线玩红白机的网站
网站的由来:某天做了个梦,梦到小时候在黑白电视机前和小伙伴抢着玩小霸王游戏机。醒来后,回忆起自己小时候为了买一个卡带,攒了好久的硬币,最后买到卡带后的那种开心。。感慨万千,就做了个网站回忆回忆。只是回不去童年的那个时光了。网站介绍:网址: https://www.yikm.net 公众号回复官网,即可点击网址开始玩耍。域名没什么特别的意义,为了好记,可以记成“一千米”。1.网站首页导航可以根据自己喜欢的游戏类型选择。会记录8种最近在玩的游戏,方便下次打开的时候直接继续玩(注意这个记录是存储在本地的,换个浏览器就会无效。。)。2.随便选一个游戏进去,选个最喜欢的超级马里奥。可以看到右侧菜单里有几个选项。第一个是键盘设置,鼠标点击需要设置的按键,按下键盘的按键就能设置了。同时可以点击第一排的“手柄”切换到手柄设置界面,也可以自由设置习惯的按键。游戏支持存档功能,但是存档也是存在本地的。。换个浏览器也会没有。没办法,我懒。支持金手指功能。金手指覆盖了部分游戏,如果需要加金手指的欢迎联系我。3.联机功能联机需要点击首页导航的"联机大厅"进入联机界面,需要先用qq登录。创建房间后,别人可以进入到你的房间开始联机。(部分网络原因会没法连通。由于服务器限制,有时候会卡顿。。特别是2p)由于目前只支持电脑,所以玩的人会少一些。4.手机上玩,在浏览器里打开即可。苹果手机用户可以在Safari中打开,然后添加到主屏幕,这样不会有浏览器的地址栏,防止误按。或者在微信中打开网址。有空记得关注下公众号,最后祝各位玩的开心,找回童年的那份快乐。
2025年05月22日
46 阅读
0 评论
1 点赞
2025-05-22
解决运维痛点,提高运维安全性-雷池 SafeLine WAF新功能身份认证深度体验
雷池介绍使用雷池 SafeLine WAF已经两年多了,在1.5.x版本时就已经开始测试使用,并在推出LTS版本后转入LTS分支。近期雷池 SafeLine WAF重点更新了身份认证功能,并提供了SSO单点登录认证,因此本次对此功能进行深度体验。业务痛点在公司运维中,会部署一些独立的自开发运维工具,如MQ消息队列监控工具、JVM虚拟机内存监控工具、交换机巡检备份工具;本次介绍我自己开发使用的MQ消息队列监控工具结合雷池的使用。MQ消息队列监控工具整个工具由下面几部分组成MQ消息队列-Agent采集写入数据库、分析、企业微信webhook告警(python)-企业微信webhook消息配置为PHP网页-PHP网页可视化展示最近的MQ分析数据库由于开发的工具较多,均没有配置独立的身份认证,即任何人都可以通过连接访问雷池WAF身份认证为防止隐私泄露,本次全新安装雷池WAF雷池WAF安装安装docker使用anolis8.10操作系统,关闭防火墙,安装docker{alert type="info"}关闭防火墙是为了防止干扰实验结果{/alert}1、安装dockeryum install -y yum-utils #阿里云加速源 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo yum install docker-ce docker-ce-cli containerd.io2、配置docker网段和加速源/etc/docker/daemon.json { "bip": "192.168.120.1/24", "registry-mirrors": [ "https://docker.1panel.live" ] }3、启动服务systemctl enable --now docker4、关闭防火墙systemctl disable --now firewalld安装雷池yum install python3 bash -c "$(curl -fsSLk https://waf-ce.chaitin.cn/release/latest/manager.sh)"部署完成MQ消息队列监控工具部署部署php环境yum install httpd php php-mysqli php-json systemctl enable --now httpd将MQ查询的PHP程序放入/var/www/html/index.php,运行正常雷池WAF身份认证配置添加应用防护可配置基础账号密码认证也可配置三方账号密码认证,注意个人免费版和收费版可配置项不同配置基础身份认证演示可配置授权访问或直接访问直接访问效果错误账号密码效果通过验证效果显示正在进入并跳转审批授权效果配置为审批授权登陆提示未授权雷池-身份认证 进行授权审批通过后,页面自动跳转,访问成功微信开放平台对接效果由于微信开放平台需要实名认证,这里无法演示,最终效果为扫码登录身份认证高级功能-特定条件身份认证可设置条件、IP范围、地理范围身份认证高级功能-用户认证信息传递官方文档如何配置将用户认证信息传递给应用服务器? 用户认证成功后,雷池会重定向到以下地址,其中http://example.com/application是在应用配置的认证回调地址: http://example.com/application?code=123456&redirect_uri=用户原访问地址 在雷池控制台 通用设置-控制台管理 页面找到 API Token ,获取 Token 应用在 认证回调地址 中实现用 code 来请求雷池的/.safeline/auth/api/user接口获取认证用户信息,code 只能使用一次 // 请求: GET http://safeline-console.com/.safeline/auth/api/user?code=123456 X-SLCE-API-TOKEN: safeline-api-token // 响应: Content-Type: application/json { "code": 0, // 0: 成功,非0: 失败 "msg": "错误描述", "data": { "id": 1, "username": "username" } } 应用成功获取到用户信息之后缓存登录信息,用于后续判断当前用户是否登录,然后重定向到 redirect_uri注意GET http://safeline-console.com/这里域名是应用的域名,不是雷池控制台,即GET http://example.com/.safeline/auth/api/user?code=123456简单DEMO实现获取雷池身份验证用户名auth.php<?php // 打印更多报错信息 error_reporting(E_ALL); ini_set('display_errors', 1); // 判断是否是HTTPS $protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://"; // 获取域名和请求URI $currentUrl = $protocol . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; $parsedUrl = parse_url($currentUrl); $queryString = $parsedUrl['query']; parse_str($queryString, $queryParams); $code = isset($queryParams['code']) ? $queryParams['code'] : null; $url = 'http://这里是我的应用域名/.safeline/auth/api/user?code=' . urlencode($code); // 替换为实际API地址 $ch = curl_init(); curl_setopt_array($ch, [ CURLOPT_URL => $url, CURLOPT_HTTPHEADER => [ 'X-SLCE-API-TOKEN: 这里是我的密钥' ], CURLOPT_RETURNTRANSFER => true, CURLOPT_SSL_VERIFYPEER => false, CURLOPT_SSL_VERIFYHOST => false ]); $response = curl_exec($ch); if(curl_errno($ch)){ die('CURL Error: '.curl_error($ch)); } $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); if($httpCode !== 200){ die('HTTP Error: '.$httpCode); } print_r($response); $data = json_decode($response, true); if(json_last_error() !== JSON_ERROR_NONE){ die('JSON解析失败: '.json_last_error_msg()); } print_r($data); curl_close($ch);配置回调地址登陆测试登录heihei返回用户名heiheiArray ( [code] => 0 [msg] => [data] => Array ( [id] => 2 [username] => heihei ) )拿到用户名后,下一步可以写入session或cookie,跳转页面,完成权限认证操作意见与建议1、登录界面无法直接回车登录,需要鼠标点击登录,建议改为回车登录2、身份认证审核信息,建议使用浏览器消息通知机制,直接在标签页弹消息提醒小结太强大了!
2025年05月22日
62 阅读
0 评论
0 点赞
2025-05-21
OceanBase OBCP V4.0 认证 学习资料
OBCP介绍https://www.oceanbase.com/training/obcp本培训课程主要讲解 OceanBase 的高级特性(全局索引、全局数据一致性、负载均衡策略、SQL引擎优化),以及 OceanBase 内存构成、内存数据落盘策略和HTAP等知识,同时提供了进阶实验课程。参加此培训基本要求为:通过 OBCA 初级认证;2 年以上数据库 DBA 工作经验。 适合架构师、高级数据库管理员、高级应用开发人员等合作伙伴高级售后服务人员本培训课程主要讲解 OceanBase 的高级特性以及进阶实验,通过本课程的学习,您将更加深刻的理解 OceanBase 的架构和高级功能,掌握 OceanBase 的高级运维、故障处理以及性能优化等技能,成为 OceanBase 数据库专家。课程内容包括索引、全局数据一致性、负载均衡策略、内存数据落盘策略、SQL 引擎及优化、SQL 执行模式、HTAP 能力、读写分离能力、兼容性详解。OBCA 考试报名在线考试 考试费用1200元不过无需花钱,可通过积分兑换,2999积分兑换OBCP 考试券https://open.oceanbase.com/coinmarket学习资料
2025年05月21日
24 阅读
0 评论
0 点赞
2025-05-20
网安竞赛年年有,今年你还在吗? ——CTF 的旋转门,转走了多少“热爱安全”的人
原文:喜吾安璇 公众号:攻防SRChttps://mp.weixin.qq.com/s/Ls64uEhvaXrAynwGYRqXtw零、CTF,曾是技术的试炼场你还记得你第一次打 CTF 的那年吗?那时候你满眼都是技术的光。你把 IDA 装上了正版皮肤,把 Ghidra 的主题调成了夜间模式,还给 Burp Suite 装了个自制插件,只为自动识别 Set-Cookie 中的 SameSite 绕过点。你相信:能进校队,是被看见的起点;能进决赛,是走向“大厂”或“实验室”的敲门砖。你在比赛群里刷题刷到凌晨三点,看到某个“前辈”说一句“没啥难度”,就赶紧回去复现几遍;你担心自己的题解写得不够“骚”,怕评委一句“无新意”打入冷宫。你也知道,师兄靠一个国赛一等奖进了实验室,拿了保研,最后顺利直博,所以你打算跟上。你问自己:“不打比赛,我还能靠什么出头?”你第一次做 Heap Pwn 题,半夜对着 libc-2.31.so 看源码,看了三个小时 free_hook 都没找到解法; 你第一次爆破 RSA,手动脚造 factor_base.csv,把 Sage 的 qsieve 算法反复调整参数; 你第一次刷 Real-World Web 题,一边抓包一边逆 js 混淆,最后靠打点找到了原型链污染的 gadget; 你甚至自己写了解题脚本,调了三版 socket 连接,最终稳定执行远程 ROP 链,成功拿下 shell。脚本是你写的,payload 是你调的,服务是你复现的,漏洞是你挖的—— 你以为这就是“技术人的荣耀”。但后来你才明白,CTF,也进了体制。你以为解的是 Web、Pwn、Crypto; 实际上你解的是厂商的投标 KPI、领导的预算模板、项目组的资源倾斜表。你在现场修 payload,后台有人在问“这次能进前五吗?” 你认真写 writeup,后援团在隔壁准备演示用的 PPT; 你熬夜调环境,调到天亮就为了一个完整复现,结果 PPT 上那句“支持全流程攻防实战”,压根没提你名字,只写了“由××团队保障”。你拼了命,甲方说:“我们团队成功挺进总决赛”; 你拿了第一,乙方说:“本平台支撑全国冠军”; 你写的上万行 EXP,最终出现在投标文档里当作“自主技术支撑材料”; 你搭建的环境,被写进项目报告里的“一体化攻防平台”——当然,产品 logo 不属于你。你以为你是主角,后来才发现你是工程量表里的“外包人日”; 你以为你在打比赛,后来才知道你在演“可交付的竞争态”。比赛结束那天,你在领奖台下,看到你的名字被印在最边缘; 中间站着的是:领导、客户、还有一整排 sponsor logo 和“特别支持单位”。你默默拿着奖牌,打开手机,刷到下一场 CTF 的线上赛公告; 你点进报名通道,告诉自己:再打一次,这次争取进决赛。但你不知道,那些没进决赛、没保研、没进厂、没被记住的人——他们也熬夜写过 payload,也在凌晨三点调过 TLS handshake,也独立复现过构造 ROP 链,也搭建过你现在用的环境。你可能用过他们写的脚本,或者用它成功抓过 flag; 但你已经不记得他们是谁了,只记得他们留下的脚本名叫:solve_heap_off_by_one_final_backup_fixed.py它仍在你比赛用的 Docker 镜像里正常运行,甚至被你加入了模板脚本, 但运行它的人,早就不在项目群里了。而 CTF,只留下了新的报名表、下一轮预算审核、和一个越来越熟悉的旋转门。一、利益链条:一场比赛,三方通吃CTF 早已不是一场单纯的技术竞赛,而是一场精密设计过的三方共赢(或者说共演)剧本。表面是国赛、省赛、邀请赛,实际是“预算场”、“资源场”、“关系场”。每一场比赛的背后,藏着三份报销单、两份立项申请、和一份等待审批的年终绩效表。每一道题目都夹在项目结项表和采购清单中间,每一次“成功打通”都要转化为一句“平台表现良好,建议纳入采购名单”。有的单位要的是获奖背书,便于年底上报; 有的厂商要的是产品露出,用于展会展台宣传; 有的媒体要的是热点炒作,好让标题变成“XX攻防赛在××地火热展开”。有人奔着奖项去,好拿荣誉证书换下一份保研推荐; 有人奔着资源去,希望手里的平台能顺势打进甲方预算池; 而你,只是奔着“月底 HR 那封邮件不会写你的名字”去。你不求夺冠,也不求曝光,你只求组里别裁到你头上; 你白天在打比赛,晚上还得写日报; 你刚解出一道题,leader 在群里发了个 Excel 表:“比赛完顺便把这个填一下。”你站在聚光灯下,却明白聚光灯不属于你; 你在写 payload,他们在写“合作成果简报”; 你用 TCPDump 抓包,他们用你做背景给领导合影; 你调试了十小时的漏洞利用链,最后变成了 PPT 上的一句话:“本次赛事展现了××团队优秀的漏洞利用能力,凸显了平台的协同联动效果。”你是用技术参加比赛,他们是用你参加预算审批流程。你明白这不是技术竞赛,这是一种产业行为,一场体制内的安全仪式感秀场。只是你还在场上,脚本还在跑,shell 还在弹, 可你自己已经不知道是选手,还是替人搬砖的 NPC。1.1 甲方:要成绩,更要预算对甲方来说,CTF 是 KPI,是立项理由,是“数字化转型中的攻防能力指标”展示窗口,更是向上级“要资源”的通行证。你以为他们在乎比赛水平?错了。他们更在乎——“这次我们进了全国十强”。这句话能印进年终总结,贴进汇报 PPT 的第一页,加粗、加红,还能配张合影—— 最好再打个红框圈住领导站在中间,PPT左下角加一句:“本单位高度重视实战攻防能力建设”。你会看到这份成绩单出现在多场会议材料中,成为“申请专项经费”的附属依据,和“拟采购平台”的佐证数据,还能变身为年终述职中那段“自然”带出的话术:“我们团队在XX攻防竞赛中表现优异,荣获×等奖项,建议明年继续加大投入,强化能力建设。”于是,队伍必须得有,至于是不是自己的无所谓; 牌子必须得挂,至于挂在哪不重要; 参赛照必须要拍,能不能解题另说。没有实力怎么办?“外援”来凑。你见过的,他们早就见过了。你见过挂着“××大学战队”名头的,其实是某安全厂商的三人小组——只有比赛前一晚才第一次踏进校门; 你见过“某局技术骨干”在比赛时火力全开,比赛结束立刻回公司开发下一个产品特性,参赛只是“友情支援”; 你见过连题目都没打开过的学校,照样在朋友圈发喜报,标配文案是:“冲进国赛,感谢团队努力,感谢学校支持。”你质疑这些安排的公平性, 有人拍了拍你肩膀,说:“别太单纯,这不是比赛,是生态合作。”背后的算盘很清楚:成绩换预算,预算换设备,设备换项目,项目换升迁。你解决的是漏洞,他们解决的是关系链; 你在忙着绕过沙箱,他们在忙着绕过财务审批; 你打的是 flag,他们打的是年终评分权重。至于你说“技术是否成长”? 没人关心。 成长不能盖章,不能走流程,不能成为项目验收里的一项打勾。关键是“有没有形成闭环”—— 闭环的定义是:有成绩可展示,有合作可宣传,有合同可签署,有预算可发包,最好还能带动一轮“平台升级与产品引入”。你说你真的解出一道题,那只是“技术过程”; 他们要的是“成果展示”,最好有图、有表、有访谈。他们要的不是你怎么解出题,而是这场比赛怎么支撑了“能力体系建设”、“攻防实战演练闭环”、“国产平台适配验证”三大内容。你做得再好,不如有份PPT写得巧。你打完比赛,在饭盒里翻找有没有辣酱; 而他们打完比赛,在资源池里翻找有没有剩余经费。你以为自己是队员,后来才发现你是预算的“试用凭证”。1.2 乙方:卖产品,卖服务,顺便打比赛对乙方来说,CTF 是什么?是一次集品牌营销、客户维系、资源打包、样板工程于一体的年度大型线下展示活动。比赛本身?那只是个引流入口,主战场早在赛前的微信对接群和赛后的“需求调研表”里。平台方主打“全流程一站式服务”:出题、搭题、运维、监控、直播、赛后复盘报告,最后还附送一份含水量极高但格式非常标准的《技术支撑成效评估分析摘要》。 攻防服务方更“贴心”:提前签约“协助参赛”,提供一整套“技术扶持方案”——包含参赛外援、落地部署脚本、平台演示账号、赛后答辩模板、甚至还有额外赠送的“热点解题视频复盘”。你在上场打比赛,他们在上场打公关。你调试 DNS 隧道链路时,发现对面用了他们的“威胁狩猎引擎(beta版)”; 你构造 SSRF+Redis写马打通反弹链时,乙方说:“慢点发,等我们产品部写完白皮书”; 你刚打出一条 Shell,他们已经把你打通的 IP 加进了 PowerPoint。你在打 payload,他们在打 pitch deck。他们不是你的战友,他们是站在身后默默截图、录屏、抓流量、同步给销售同事的商业合作代表。你打完比赛第二天刚起床,平台已经发了公众号:“热烈祝贺我司平台支撑××单位成功斩获大赛一等奖,充分展现国产安全平台实战支撑能力。”你还在调内网回连稳定性,他们已经提交了客户续约合同。你以为你是临时外援,其实你是“产品成熟度验证人员”; 你以为你是参赛技术骨干,其实你是“案例转化合作专家”; 你以为你做出了贡献,他们真诚地告诉你:“这场比赛我们非常重视,领导全程关注!”最终成果汇总如下:政企客户签了一年攻防托管服务;某平台成功列入省级采购白名单;某国产终端检测系统“在实战中进一步适配国家级赛事需求”;某“可视化威胁追踪平台”顺利通过“实战验证”。你拿了奖牌,他们拿了预算; 你写的是 EXP,他们写的是销售案例; 你调的是内存,他们调的是资源池; 你是临时拉来的临时工,他们是坚定执行“客户全生命周期伴随计划”的甲级合作伙伴。他们向上汇报:“通过攻防竞赛,进一步强化了与政企单位的合作关系,持续提升我司在攻防演练和威胁分析方面的领先优势。” 你回到工位,收到了一封邮件:“你所在团队荣获优秀参赛团队,奖励积分 300,可兑换一次年度体检或‘定制笔记本封皮’。”你笑了笑,点进积分商城,发现商品已经兑换完了,只剩下几个 PDF 档案模板和一个“纪念徽章 JPG 下载包”。你曾在比赛中打开沙箱、抓堆栈、绕 WAF、搞旁路; 他们则在比赛中打开大屏、抓机会、绕竞标、搞合同。你打穿的是系统,他们打穿的是客户预算审批流程。你做出了一道三重链式提权的题,他们做出了一套“威胁发现闭环”的产品故事; 你调通了一条由 LDAP 注入+内网探测+文件投递组成的利用链,他们同步更新了“下一版本宣传册的核心亮点”:“平台在真实攻防环境下成功发现链式多段攻击,精准还原攻击者路径。”你明明没用他们的产品,他们说:“本次比赛在我司平台支撑下稳定运行。”你明明是在帮忙解题,他们说:“感谢专家在我司环境中进行攻防能力展示。”你回头看看自己的工号,再看看产品白皮书,默默在桌面新建一个文件夹,名为:vendor_success_case_template/你已经不想争辩了,毕竟你也不敢说你是打比赛的; 因为你知道,他们可能会回你一句:“你是比赛的哪一环?我好像没在画布图里标出来。”1.3 学生 & 社畜:积分兑换未来学生为比赛而生,社畜为比赛而活。你以为大学生打 CTF 是兴趣驱动?是的,一开始是。直到他们被导员喊去开会,说:“最近有个省赛,打个奖回来可以加三分综合测评,还有竞赛加分。”你问为什么不直接靠 GPA? 导员笑了笑,说:“GPA 是学习能力,CTF 是实践能力,我们要‘德智体美劳全面发展’。”于是有的学生,开始刷题不是为了技术,而是为了奖学金的加权计算; 有的学生连比赛平台都没登陆过,但已经出现在了报名表上——名字由导员代填,参赛由学长代打,writeup 由 ChatGPT 代写。你以为赛后能看到热血 writeup? 不,你看到的是 PDF 格式、三段论结构、参考链接全失效的“竞赛成果总结报告”。有人全场划水,最后进了保研名单; 有人全力冲刺,最后只拿到了“优秀组织奖”; 你很想较真,老师拍拍你肩膀:“比赛嘛,参与最重要。”而社畜更惨。他们打比赛不是为了名气,而是为了饭碗。你可能见过某安全岗的中级工程师,凌晨在酒店蹲在马桶盖上远程 ssh 登录跳板机,只因为领导说:“这道题别出错,甲方在看。”你也见过平台的技术总监,一边解 RSA Partial Leakage,一边自言自语:“这个我熟,上个月刚在我们产品里加了这个防护检测。”他们调 exploit,不是为了 flag,是为了“别被问责”; 他们写解法文档,不是为了公开分享,是为了在答辩会上多讲三分钟,争取一张续约框架合同。你以为比赛结果重要? 他们以为:只要别出 bug、别掉线、别被客户截图骂,就算赢了。而更荒唐的是,比赛越来越多,岗位越来越少。你看到某平台年年办赛、月月更新题库,连官网都上线了“CTF 赛题商城”,点击购买还能开票; 你再转头看自己工位,隔壁同事刚被 HR 请去会议室,回来桌面已被清空。行业在热,岗位在冷; 比赛在开,人却在关。你刚写完一段 RCE payload,弹出了 shell; 领导拍了拍你肩膀,说:“这场打完你别急着走,下周绩效沟通。”你很懂这句话的意思。你知道它不是表扬,不是鼓励,而是:“你太贵了,或者,没产出。”你打开后台复现环境,发现一道 Web 题居然还留着去年比赛的残留注释——flag格式CTF{xxx},请勿提前泄露你问平台“这题谁出的”? 对面支支吾吾,最后回你一句:“脚本传了八代人,原作者早就离职了。”你往上溯源,docker-compose 文件注释全乱码,config.yaml 格式都错位; 你试图恢复 exp.py,发现里面引用的是 Pastebin 上早就被封禁的链接; 你想分析环境,连镜像仓库都被迁移了,密码没人记得。你找到一份孤零零的文档,写着:“本题改编自 2021 某某比赛,脚本参考自 solve_final_v2_but_actually_final.py。”你愣了一下,笑了。你不是在比赛,你在考古。你不是在解题,你在挖掘遗址。 那不是 writeup,是出土文物; 那不是漏洞,是数字化幽灵。你站在熟悉的比赛现场,手里拿着新一届赛题公告, 周围是“战略合作伙伴”的展台、反光条横幅、扫码送小礼品的拉新活动, 耳边还响着主持人喊着“实战攻防,共建网安命运共同体”。你低头看着比赛后台系统,卡顿延迟、崩溃重启、某平台还在调试选手分数同步接口; 你耳机里还在连着被你反复调试的 reverse shell。你心里却异常清楚:这场比赛,早已不是为了技术的竞技, 而是你、你的领导、你的甲方、和那一排 logo,一场流程完整、预算清晰、名利有序的合作演出。有人赢得奖金; 有人赢得采购; 有人赢得升职;你呢?你赢得了一串 IP, 一份平台积分, 和一张还没到账的体检预约二维码。二、赛制演变:CTF 成为形式化大型工程曾几何时,CTF 是几个人围着一张桌子、拿着几台风扇轰鸣的旧笔记本、在网吧凌晨的灯光下,对着 Ubuntu 里的沙箱、GDB 窗口、IDA 死循环,硬啃 payload、构造 ROP 链、猜逻辑漏洞。那时候的 Writeup 没有排版,只有一堆截图和注释写着“这里卡了我两个小时”; 那时候的比赛没有直播,连 VPN 都要抢时间段; 那时候没人发朋友圈晒战队合照,只在 QQ 群里说一句“拿了个二等”。而如今,CTF 更像是一场由“立项申请 - 品牌露出 - 成果展示”组成的三段式全流程仪式化工程。这不是比赛,是一台“技术内容产业链协同工厂”:比赛前:方案申报、资源统筹、合作洽谈;比赛中:场景搭建、媒体统筹、现场摄制;比赛后:PPT复盘、成果输出、汇报模板合成。你以为你在比赛; 领导说你在“参与实战演练”; 组织认为你在“锻炼红蓝对抗能力”; 而 PPT 则坚定认为你是“在深入推进攻防对抗协同联动机制闭环建设”。你看到了 Web 中的 SSTI, 他们看到了“平台可支撑复杂攻击链条检测的能力验证”; 你一边写着 exp.py, 另一边某部门已经把它包装成“算法对抗样例支撑材料”提交立项材料; 你刚准备写题解,宣传部已经拟好新闻稿:“本校学子在某某大赛中斩获佳绩,推动我校信息安全人才培养迈上新台阶。”你坐在台下调参数、翻源码、写脚本, 而台上大屏展示的是你根本没参与过的“实战复盘流程图”。你以为你是主角, 实际上你是成果汇报视频中的动态配角; 你以为你是攻防核心成员, 实际上你是“技术可视化呈现方案”的背景素材。你忙了一整夜搭建环境,他们一句“这题我们平台环境里也跑通了”直接盖章; 你现场调试出 RCE 链,他们发来消息:“辛苦,把这个动作说成‘平台辅助发现’”。你在刷的是得分榜,他们在刷的是预算表; 你等的是 flag 提交成功,他们等的是媒体通稿审核通过。你打完比赛,写的是复现笔记; 他们打完比赛,写的是下一期营销计划、一个合作机会、三份项目线索跟进文档。而你,只能点进选手系统,看着最后一页提示:“感谢参赛,期待下次再见。”你关掉浏览器,忽然发现,你连这场比赛的下载链接都没权限保存。2.1 从线上赛到总决赛,一场赛事三波宣传现在的 CTF,早已不是一次技术能力的展示,而是一次素材收集计划,一次PR 联动专场,一场“宣传-合作-成果”完整闭环的预演。你以为你在比赛,实际上你在做内容生产; 你以为你在解题,他们以为你在“强化安全人才供给能力”。这不是比赛,是一套内容运营流水线:线上赛产流量,为平台刷数据;半决赛出素材,为单位供图;总决赛搞曝光,为厂商贴 logo。第一波:线上赛,流量争夺战线上赛一开,主办方公众号准时发文:“全国数万名网络安全精英同台竞技,赛题高度模拟真实场景,平台支撑稳定有力。”你点进平台,发现题目是 localhost:5000 开的小 flask 服务,页面上大喇喇写着 flag = "CTF{congratulations}"。你一度以为点进了某个新手题平台,或者是 flask 官方文档教程的例子。可没关系,截图已经收集完毕:PV 过万;Redis 没挂;Dashboard 数据实时同步;运维照三张:一个盯屏幕,一个敲键盘,一个举着能量饮料;加一句:“技术团队通宵达旦保障平台运行稳定”——流量闭环达成。你刚写完第一道题,比赛群里已经开始宣传素材征集:“各战队请提供风采照,要求清晰、带横幅,赛场氛围浓厚。”你说没拍,他们建议你回寝室摆个 pose 也行。因为线上赛拼的不只是解题,还有话语权—— 谁能先发朋友圈,谁就先赢一次“公众形象战”。第二波:半决赛,产出冲刺期半决赛开始,“实战对抗”进入重点宣传期。这时候要求的是“团队协作”,但真正协作的是三组人:你和队友在协作解题;学校宣传部在协作拍片;平台商务部在协作撰稿。你在刷日志,他们在刷文案; 你在改 exp.py,他们在改 font-family。你刚提交完一道 SSRF 解法,PPT 填报表来了:“请描述您如何在某平台支撑下完成此题解,并强调国产平台在其中的关键作用。”你想写技术细节,他们回你:“太长了,尽量控制在一页内,最好配张图。”你刚截图一段 TCPDump,领导进机房说:“拍张照,这张桌子 logo 清晰。”你只好掀开 hoodie、整理下坐姿、假装在操作,实则 alt+tab 到 calculator。宣传片拍摄现场像极了高考新闻现场复刻版:镜头前,你手放键盘,神情专注,眼神坚定;镜头外,你嘴里小声说着:“快点出 crypto 解法,我装不下去了……”你以为你在“沉浸式攻防”, 他们说你在“全场景技术体验式实训演练平台上构建对抗思维”。第三波:总决赛,资源调动秀场总决赛不是比技术,是比调动资源的能力。你看到的,是 scoreboard; 他们看到的,是 logo 排布顺序。设备必须贴牌,桌面要统一壁纸,衣服要印标语,合照要供媒体多角度裁剪。团队感言要提前写,不能随便写,必须有“关键词占位”:“国家战略”“人才建设”“信创生态”“攻防融合”“能力闭环”你试着写一句“我们通宵调 heap 段,最后打通 shell”, 结果被改成了:“在平台支撑下完成了模拟真实场景中的漏洞利用,体现出对复杂攻击链的精准还原与深入理解。”你调 shell 的时候,后台人员已经上传了宣传文档:“我校代表队在全国CTF总决赛中奋勇拼搏,展现出良好的技术素养和精神风貌,彰显了××高校在网络空间安全人才培养上的丰硕成果。”你本想改个错别字, 但 Word 是加密的,只能“只读”。你以为这三轮是预选、晋级、夺冠; 他们以为这三轮是“造势、展示、闭环”。你最后翻开题目 writeup, 发现你和你朋友辛苦复现的内容,已经以“合作成果”形式, 被纳入平台的【案例展示页面】,配了一张你从未见过的背景图。你终于明白: 你解的不是题, 你解的是合同流程、内容营销、资源包装的三道“隐写题”。flag 不过是流程里的一个 trigger, 而你,是他们那张流程图里, 一个可复用的“技术参与节点”。2.2 “外援经济”盛行,技术力外包成常态曾几何时,CTF 战队拼的是校队之间的技术积累与默契协作, 谁能打出ROP链,谁能首杀Crypto,谁就是英雄。而如今,所谓“校队”,实则是“战队混编”,甚至可以称为—— “赞助联名款战术单位”。表面上,你看到的是××大学代表队,穿着统一战服,头像挂着校徽,风采照挂在官网首页。 实际上,战队背后站着某安全厂商的“CTF战略合作小组”,负责所有实际操作,涵盖:赛题训练集(含解法对照);脚本模板库(按方向分类归档);内部题解讲解视频(支持倍速播放);远程调试账号;以及必要时直接派驻操作员,执行“现场连控”或“平行答题”任务。你以为你看到的是学生在敲键盘, 其实你看到的是“学生在对接外援打比赛的前端接口”。实名制检查? 没关系——人是实名的,手可以是外包的,意识流来自写字楼。很多比赛都强调“现场参赛、摄像头覆盖、VPN封禁”, 于是你看到每位选手戴着胸牌、机房设了高清监控、比赛系统弹窗提示“违规即取消资格”。 表面一片庄重,制度齐全。但你并不知道,TeamViewer 和 RustDesk 正在后台静静地挂着,图标都改成了“系统工具”,小窗口上偶尔弹出“您的会话正在被共享”。你还以为这是他们在测试沙箱逃逸? 其实只是外援在调 payload。你见过最离谱的外援现场“进驻”: 他们坐在隔壁会议室,通过本地跳板进入比赛终端; 学生在前排假装点题,后排外援真正在改脚本; 组委会巡视时,学生把屏幕最大化到题目描述界面,鼠标来回拖动制造“认真”假象。 领导来打卡,媒体来采访,学校来录像,人人都说“这是实战人才的缩影”, 却没人问那行 shell 是谁写的,那句 flag 是谁爆的。你还看到比赛前发了一份“岗位调研表”, 上面写着:A 同学:前排负责答辩;B 同学:负责截图供校宣使用;C 同学:负责本地调试 + 键盘声音营造氛围;D 外援:主打 Web & Cloud;E 外援:主打 Binary,专精 glibc 2.35;F 外援:厂商特派,带专用字典和 0day。你质疑这种形式? 人家反问你一句:“我们这是政产学研联合攻防队伍建设。”你想举报? 平台翻了下操作记录,冷静地说:“确实是选手本人提交的。”你想竞争? 对面团队从平台训练营调来一整套题库,脚本按编号命名,writeup 带配图配注释,还打包成 Markdown 供调用。你刚还在 Google 搜“java RCE gadget list”, 人家那边 run_exp.sh 已经跑完了第二条命令行。你是来“比赛”的, 他们是来“交付”的。你写的 shell 是 reverse.py,他们写的 shell 是 deliverable_v1.sh,还附带自动截图上传、日志导出、打点标记。你还在调反序列化链子绕 filters, 人家的打包文档已经写上:CTF成果清单: - 解题记录 x6 - 平台实战支撑截图 x10 - 白皮书引用样例 x1 - 战队联合 logo 成果页 x1 - 合作新闻稿草案 x1(已审阅)“外援经济”不是偶然,而是供需自然演化的结果:高校缺人,厂商有人;高校要成绩,厂商要客户;高校讲规则,厂商讲报价单;高校说“人才培养”,厂商说“项目协作”;最后汇总成一句话:“联合完成”。你做的是 writeup,别人写的是“POC能力交付模板”; 你复现的是 glibc heap 泄露,别人复现的是 PRD 第 4.2 节“场景级攻击链完整复现演示”。你是校队的“主力选手”, 但最终写进合同、登上新闻稿的,是:“平台支撑 XX 高校获得一等奖,充分展现国产安全能力体系的适配能力。”你站在领奖台上,左手捏着一张奖状,右手站在厂商 logo 背景墙前。 你表情疲惫地合了个影,想回去吃口饭。结果一上楼,对接老师告诉你:“咱们和厂商合作很愉快,下个月还有一场比赛,到时候你还在名单里啊。”你笑了笑,说“好”。你不是战队主力, 你是“交付成果中的身份认证素材”。你不是攻防选手, 你是“联合协作流程中最后一环的认证人脸”。你不是参与者, 你是“厂商品牌价值的数字承载单位”。三、生态异化:CTF的边界正在消失3.1 安全人才评估,逐渐只看竞赛名次曾经,CTF 是一面镜子,照出选手对安全体系的理解深度、实战经验的扎实程度,以及在面对未知时的冷静与敏锐。而如今,它更像是一张准入门票,一个打分指标,一串被 HR 系统识别的“关键词字段”,甚至是科研管理平台里的一个下拉选项。你投出简历,写得满满当当:熟悉 x86 汇编,精通函数调用栈与寄存器调试;能独立构造 Java RCE gadget 链,了解 gadget 链逃逸技巧;做过内核 fuzzing,用 QEMU trace 出过真实漏洞;在 STP 上做 SMT 求解模型,用 symbolic execution 重现逻辑漏洞;研究过 TLS 握手协议中 session ticket 的实现缺陷,追踪过 handshake 内存读写 bug。这些没人看。面试官看了一眼简历左上角,问的第一句话是:“你打过 CTF 吗?有没有国赛经历?”你说没有。他点了点头,关掉简历,换了个话题:“那我们这边可能不太适配你的背景哈。”你刚想解释你在做 iOS sandbox 绕过链设计,对方已经开始和下一位“××CTF一等奖得主”聊合作话题。你进不了“人才计划”,也进不了“高校优培专项”; 你也拿不到推荐信,理由很简单:“你技术不错,但没什么奖,写出来不好看。”你在寝室调 syscall tracing,分析某沙箱逃逸的内核层追踪路径; 而隔壁室友刚从比赛回来,奖杯还没拆塑料膜,已经接到平台 offer。他是“风采代表”,你是“非竞赛倾向学生”; 他走上领奖台,你卡在入场门槛前。保研、升学、入职、转岗、评奖、评级,越来越多场景的初筛标准,变成了一个字段:CTF Rank。HR 系统后台有个评分项:CTF 名次 ≥ 国赛二等奖 → 加 20 分;招生导师微信备注写着:“CTF 国奖,推荐面试”;某研究所岗位要求写着“熟练掌握 CTF 解题技能,附上获奖截图和 writeup。”你说你做的是无线信号栈协议漏洞分析,对方说:“这方向太偏了,无法评估。”你说你在逆向银行加密芯片,建模供电干扰,构造电压侧信道攻击,对方回你一句:“听起来很硬核,但我们还是想招些‘打得动题’的人。”你甚至见过某校在奖学金评分表里,把 CTF 奖项列为“实践成果”最高项, 而你发的论文被列在“理论研究”,后面批注一栏写着:“影响力不可量化,建议不计入。”你质疑这种评价方式, 有人拍拍你肩膀说:“别太理想主义,现在这个环境,项目需要成绩,平台需要数据,老师需要曝光,评审需要标准。”于是你明白了:不是他们不认可技术, 而是你这份技术——写不进年终报告、贴不上门户官网、印不到宣传横幅上。不是没人懂你在干嘛, 是他们根本不需要懂。因为你的能力,不能生成一个获奖名单。最讽刺的是:真正搞系统安全的,反倒成了“非主流”小众群体。你一行一行分析驱动程序,别人一题一题 Ctrl+C 脚本;你整晚构建 Linux 最小化内核环境用于隔离测试,别人一下午通关三题 Crypto;你研究 TLS 握手中的状态机切换缺陷,别人用 Python one-liner 打爆了一个 WordPress 后台注入题。你花一周写一个逆向工具, 而对面刷题时直接用 “CTF-Toolbox-2024”一键部署、自动解密、GUI 标注、结果导出成 Markdown。最终你换来一句:“你思路挺深,就是没有成果展示,不好对外说。”你走出面试场,看到走廊里挂着条幅:“我们渴望真正热爱安全的你。”你想笑,但有点笑不出来。因为你明明热爱, 但在这个“奖项优先级 > 技术深度 > 实际能力 > 理解偏好”的评价系统里, 你被自动归类成了:“热爱,但不突出。”你翻开某校官网挂出的《网络空间安全人才风采录》:有人打了六场比赛,拿了五个奖;有人是厂商定向特训营成员,战队 logo 合照已更新到第四版;有人是平台联合战队 C 位主力,writeup 全是外援写的,但署名是他;还有人比赛只做了签到题,但“技术资料收集员”身份足够混上荣誉榜。你看着自己的项目笔记、系统调用日志、硬件调试脚本、漏洞复现录像, 突然觉得这些东西,好像全都不值钱。不是没用,是没法被识别成“可供汇报的价值”。不是没人看,是系统压根不需要它被看见。你想站出来说点什么—— 但你张嘴前,才想起:你没有入场券。因为你,没进过国赛。3.2 真正的研究者被边缘化你写工具、做漏洞研究,没人认识你; 你打比赛、出现在宣传海报上,人人都喊你“安全大牛”。这是个笑话,也是真实的写照。你花了两个月写了一个高效的二进制静态分析器,能自动还原函数调用图、支持自定义指令集、兼容 IDA/Ghidra 导出格式,提升解题效率 30%。 你开源在 GitHub,Star 了十几个,Fork 了几个,没人转发,没人点赞,没人评论。 但两周后你在某平台的 CTF 套题里看到它被改了个名字叫 HeapDominator®,加了 logo,带了 UI,成了“平台产品栈中的关键辅助组件”。你写了一篇漏洞挖掘论文,用 AFL 和 Z3 定制了一个基于路径约束求解的 PoC 自动构造器,发现了某国产浏览器中的高危通用漏洞链,最终被某国际顶会接收。 导师看完论文,说了一句话:“这个方向有点冷,不如转成一篇 writeup,会更好传播。”你沉默,不是生气,而是突然意识到,你花一年做的研究,可能连一次公众号曝光都换不来。你做了一整年的设备侧信道分析,调信号、测波形、找差分模型,最终构造出针对某款商用芯片的稳定攻击流程。 结果在某人才选拔中被刷下,理由写着:“未参与 CTF 项目,实战能力无法评估。”你以为自己是搞研究的, 其实在别人眼中,你是“不好包装的技术人”。而那些“好包装的”人,都在流水线里被快速加工。你听说过“CTF 全日制特训营”:三个月课程,包学包会,保送平台战队; 你也见过“解题流水线”:题目分类、技能图谱、脚本分发、writeup 精修、考勤打分,每道题都有官方推荐解法; 你甚至看过某平台公众号发布的《CTF职业成长路径图》:校内预备役 → 战队认证选手 → 联合战队副队长 → 平台签约讲师 → 项目交付顾问 → 品牌宣传大使。这不是培养人才, 这是塑造产品经理眼中“可用、可管、可展”的技术角色模板。你写的工具叫 heap_viz_auto,没人用; 别人加了个 GUI,换个名字,叫 HeapDominator®, 平台白皮书第 34 页写着:“该工具由平台团队自主研发,用于辅助解题。”你还没申请专利, 他们已经把你 GitHub 仓库的截图印在了招商 PPT 上。你研究 RSA 幂模漏洞时,一行行手调 Python,构造非对称参数下的边界攻击; 他们打开 solve_all.py,点击运行,自动爆破、多轮输出、格式美化,一键上传战队群,自动触发“贡献值 +1”。你是研究者, 他们说你“不接地气”。你说你在分析 glibc 某版本中的 malloc_consolidate 和 unlink 组合漏洞链; 他们回你一句:“这个在我们平台题库里是 low-level,跳过。”你想和大家分享你写的 ELF 文件结构可视化工具,支持交互拖拽和节表复原; 组委会告诉你:“我们这次比赛只征集 writeup,不需要工具投稿。”你以为他们是来搞安全的, 其实他们以为你是“搞错定位的科研生”。但这不是你的错, 是整个CTF 生态已经模板化、工业化、平台化了。题目有模板;解法有推荐路径;环境有 docker-compose;报名有选手画像;writeup 有官方格式;成就有内容运营团队配文转发。选手像拼装件一样,在平台的训练营中被流水线式产出: Crypto → Pwn → Web → 高阶复现 → 联合演练 → 战队试训 → 签约平台 → 技术布道 → 安全讲师 → 招投标支撑角色。厂商给出的,是一整套“人才培养闭环模型”:CTF 成就 → writeup 展示 → 厂牌加持 → 项目支撑 → 年度荣誉 → 投标材料入库。你写的工具,是为了让大家更好解题; 他们解题,是为了证明平台“工具链完善”。你研究漏洞,是为了推动行业深度发展; 他们研究题,是为了给项目书加一条“实战成果案例”。你不是没技术, 你只是没有一个“能写进汇报”的技术;你不是不努力, 你只是没有一个“带 logo 的获奖证书”;你不是不重要, 你只是不能成为某平台“荣誉榜单上的人形符号”。你在写的是行业的未来, 他们在抄的是“今天怎么出圈”。你以为你是研究者, 其实他们早就把你归到了:“无绩效产出型技术资源”。你还在找什么是真正的 CTF 精神, 他们已经在整理下一届“平台交付模型 V3.1”。你不是“安全圈里的人”, 你只是——这个圈子里最先被边缘化的人。为什么导师说“这个方向偏冷,转成 writeup 会不会更好传播?” 这不是他否定你研究的价值,而是在提醒你:“你的研究不能被写进公众号,不能发在官网首页,不能在人才申报表上打勾——那就没法转化成‘被看见的成果’。”他知道你的研究好,但平台、评审、申报系统不需要“好”, 它们需要“可传播、可引用、可汇报”。而writeup 是被认可的“实战产出”, 而你的论文,只是“研究过程”。这不是技术判断, 而是系统性传播逻辑下的生存策略建议。你想发论文, 他希望你顺便也能变得“好包装”一点。这就是现实——技术的深度,不如一份有图有脚本的 writeup 来得值钱。3.3 模拟攻防实战,还是模拟招投标?CTF 本该是技术人的竞技场,是键盘和脑子的搏杀现场。 但现在?你打开一道题,调着调着突然意识到:“我不是在打比赛, 我在帮某平台验证交付能力。”你以为你在写 exp, 平台写的是:“题目全面复现高级攻击链,精准验证平台侦测能力。”你在构造 payload, 他们写的是:“结合异常行为画像,构建平台攻击路径识别模型。”你一边调 Redis 一边念叨“这年头还敢裸奔?” 他们已经在招投标模板上写好:“平台可自动识别未授权服务暴露风险,实现一键封禁。”你还天真地以为题目是为了考察选手, 其实早在你调试之前,它就已经挂进了人家的客户交付PPT第七页。你点进 Web 题,看着那标准得像培训教材的界面,心想:“哇,比赛环境做得真像项目。” 不,是你误会了——这是项目,顺便做成了比赛。你解出来了,拿了分; 他们截图了,拿去做“平台验证图例”。你写 writeup,标注攻击路径、修复方式; 他们写白皮书,标注:“平台协同完成攻防模拟闭环,全流程可视。”你调 YAML 注入调到中午饭都忘了吃,打穿了 CI/CD 链。 结果赛后问组委,他们说:“其实这题主要是为了突出我们平台对 DevOps 场景的适配能力。”啊对对对,你只是那个免费的测试工程师罢了。你以为自己是参赛者, 实际上你是“内容资产预生产节点”。有个 Crypto 题你熬到凌晨,终于构造出完整密钥恢复路径, 刚想在群里说一句“太爽了”,结果看到白皮书写着:“平台日志调试视图成功辅助识别密钥片段。”你的 Wireshark 抓包图成了他们的 TLS 可视化解密展示页; 你的爆破脚本成了他们产品宣传册里那个“智能识别暴力破解”的案例截图。你调的是 sandbox escape, 他们写成了“平台具备高危行为实时阻断能力”。你写 POC 写到眼花, 第二天就变成了“交付演示视频截图”。你部署的复现场景脚本,被他们贴上 Logo 印成了“平台标准题库解决方案”。你以为你在打比赛, 其实你在加班生产素材。 你以为你在做实战训练, 他们早就在会场后排讨论“这题能不能复用到下季度项目招投标”。有一次你忍不住问:“我们能不能出点偏原理、偏创新的题?”赛方认真答道:“太原理了没法展示平台能力,还是出点能截图写成闭环流程的题吧。”于是你明白了:CTF 题,不是为了让你挑战; 是为了让他们—— 截图好看、流程顺畅、关键词够多、闭环够圆。这比赛不再要求你多强, 它只要求你能打出一张能贴进汇报材料的截图。它必须满足以下条件:能展示攻击 ✅能体现防御 ✅能套产品逻辑 ✅能被放进客户培训教材 ✅最好还能留 logo ✅你打完比赛,脑袋空了,眼圈黑了; 他们打完素材,产品上线,方案进展顺利。你收到一张“优秀选手”证书, 他们收到一个项目邀约电话。你写的是题解, 他们写的是“平台场景适配示意图”。你以为你在用技术出圈, 其实你只是他们下一季度预算申请里的附带佐证。这不是模拟攻防, 这是一场模拟招投标的演练。你不是技术主角, 你是平台白皮书里的图注编号。你没被淘汰, 你被格式化了。四、尾声:技术背后的那扇旋转门CTF 的初衷,曾是技术的圣地、少年意气的归处,是我们第一次点亮 GDB 的那行汇编,是我们第一次在 stack 上蹦出 flag 时的狂喜和呐喊。那时候你以为只要努力,就能进校队; 以为只要解出题,就有人看见; 以为靠一行行调出来的 shell,就能改变命运。后来你发现:你解出来的是逻辑漏洞,他们要的是项目逻辑闭环。CTF 如今变了,变成了一场多边博弈的技术外壳秀:甲方要成绩:方便在年终述职报告里 ctrl+c;乙方要曝光:好在平台宣传页挂 logo;高校要案例:为了在教育部填表时能打上“实战演练”;厂商要交付:比赛解题能顺便锤炼“平台能力模型”;平台要素材:截图挂公众号、报告进招投标。唯一没人想要的,是你这个写脚本的人。你以为你在打比赛, 其实你是在参与一场看不见评分规则的考核剧本。你的 every move 被解构为:命令行截图 → 产品实操展示;漏洞复现 → 平台能力验证页脚注;写脚本调环境 → 实战流程标准化流程文档;通宵解题 → “技术支撑团队通宵奋战”的新闻配图。你在熬夜调 exp, 对面项目经理在调格式、调字号、调图标位置,好让那张截图更能体现“技术成果落地”。题目不是为了挑战技术,而是为了展现“国产平台的适配度”; 答辩不是交流心得,而是汇报流程闭环的“可交付内容”; 排名不是技术的标尺,而是各单位下一轮预算申请的谈资;你还在研究漏洞利用链, 人家已经把你解题时的 Wireshark 截图放进了产品彩页。你还在怀疑题目为什么这么眼熟, 原来那题出自去年某平台交付验证环境——原题。你还天真地想着“靠 flag 出圈”, 但人家早在打“平台进圈”,主打一个“能力矩阵可展示,赛题逻辑可回放”。你以为你是在“冲榜”, 实际上你是“内容生产链条的一环”,任务是:帮平台产出可复用的技术演示素材。你还在拼手速解 Pwn, 人家已经开始讨论:“这题截图放营销页第几页合适?”“CTF旋转门”看上去热闹非凡,每年开,每年转, 有人进去,变成“特约讲师”; 有人出来,成了“平台战队副队长”; 有人换个岗位,再转回甲方顾问,横跨三届总决赛,朋友圈永远有图。门内转得起劲,门外却站着:写脚本的你,没人报销的你;三年没进过国赛的你;POC 写得再漂亮,也只能给别人挂名的你。你花三天写一个 exp,他们花三分钟贴 logo; 你调半年研究成果,输给一份“合作背景介绍文档”; 你熬夜调环境,他们凌晨在群里发喜报:“我司平台再次协助高校战队斩获一等奖,感谢配合。”你看着消息,甚至不确定自己算不算那个“配合”。你写了一个漏洞分析工具,他们说“方向偏冷”; 你做了一年密码协议建模,他们说“不如打题”; 你写的 heap_viz.py 没人看, 别人复制你代码的版本,改了个名字叫 HeapEye®,出现在白皮书里。你看着屏幕上的 CTF 倒计时界面, 心想:这一届,我还要报吗?你知道,不管你写多少脚本、调多少 payload, 最后留下名字的,是能拍照、能说话、能打包成“合作案例”的人。你本来是来解题的, 后来你才知道,题早解完了—— 早被别人解成了一份方案、一个亮点、一个机会。你是那个拿着键盘的人, 但你从来没握住剧本。你写过无数 payload, 却没写进任何“优秀参赛团队简介”。你是那个凌晨三点解出 RSA 的孩子, 但在名单里,你不如“沟通顺畅、便于配合”的外援。你拿的是 flag, 他们拿的是预算。你本来是来解题的, 后来你才知道,题早解完了—— 早被别人解成了一份方案、一个亮点、一个机会。你是那个拿着键盘的人, 但你从来没握住剧本。你写过无数 payload, 却没写进任何“优秀参赛团队简介”。你是那个凌晨三点解出 RSA 的孩子, 但在名单里,你不如“沟通顺畅、便于配合”的外援。你拿的是 flag, 他们拿的是预算。结语:你以为CTF是一场技术人的修行, 却不知你早已成了平台能力展示的道具。 你以为只要足够强,就能赢得尊重, 但你忘了,这不是擂台,是舞台—— 强不强不重要,会不会配合才重要。那些让你熬夜写 exp 的题目, 第二天就被贴上了平台 logo,说是“联合创新成果”; 你通宵解出的 flag, 只换来一个不署名的报告截图,被打包进别人的荣誉墙。你不是没技术, 你只是没有预算配额、logo绑定和宣传文案。你不是没资格, 你只是没被纳入“政产学研闭环协同成果体系”。CTF 不再是“技术选拔”, 它是一场带有指标的定制展演: 打题只是手段,交付才是目的。最后你甚至开始明白, 你每写一行 exp,都在帮别人证明他们的平台“检测得准、拦得住”; 你每解出一个漏洞链,都在帮别人演一场“能力闭环、方案落地”的秀。技术是你的,名声是他们的; 你赢的是比赛,他们赢的是生意。所以—— 别太认真,认真你就输了。 你写的是 PoC,他们写的是 KPI。但也别太失落,失落也没用。 因为你写的 payload, 终将成为下一个“安全方案亮点”的开头一句话:“结合真实比赛场景,平台成功识别高危行为,保障了客户核心业务系统的安全运行。”最后的最后, 技术无罪,但你有点天真。
2025年05月20日
26 阅读
0 评论
0 点赞
2025-05-16
OceanBase OBCA V4.0 认证 学习资料
已通过,看四五遍题就差不多,很简单。OBCA介绍https://www.oceanbase.com/training/obcaOBCA 认证主要讲解 OceanBase 的发展历程、应用案例、产品架构、核心功能、部署安装等知识。帮助您理解多副本一致性协议、数据可靠及高可用、在线水平扩展、分布式事务等 OceanBase 的重要特性。OBCA 认证主要面向具备 IT 通用基础能力的学员,了解至少一门关系型数据库(MySQL 或者 Oracle),对分布式系统或分布式事务有基本了解,适合初级数据库管理员,初级应用开发人员,合作伙伴驻场服务人员等。OBCA免费课程https://open.oceanbase.com/course/415OBCA V4.0 认证培训课程OBCA V4.0 认证培训课程是基于 OceanBase 4.x 内核设计开发的全新认证课程,从产品介绍、集群架构、底层引擎等方面深入介绍 OceanBase V4.x 的产品及原理,通过安装部署、应用开发、运维管理等内容帮助学员掌握部署、开发、运维等基础操作。OBCA 考试报名在线考试 考试费用600元 不过无需花钱,可通过积分兑换,999积分兑换OBCA 考试券https://open.oceanbase.com/coinmarket学习资料数据库的发展历程 起源:关系型数据库理论起源与1970s,并被 IBM 与 Oracle 公司成功商业化。 演进:随着行业的需求变化,数据库的发展经历了关系型到非关系型再到关系型,从集中式到分布式的演变。 原生分布式:企业级原生分布式数据库提供了比传统集中式数据库更好的高可用解决方案,满足更高的并发处理需求。OceanBase 的历史与现状 原生分布式:OceanBase 是分布式数据库领域的开拓者,是第三代原生分布式数据库的代表。 自研创新:100% 纯自研。首创“三地五中心”城市级故障自动无损容灾解决方案;首个将 RTO 做到8秒以内的数据库;首创单机分布式一体化架构。 。 实力证明:全球唯一刷新 TPC-C 和 TPC-H 测试世界纪录的分布式数据库。OceanBase 核心技术能力 自主可控:完全自主研发,代码级可控,大规模金融核心场景 10 多年可靠性验证。 原生分布式:全量数据校验真正实现数据强一致,数据不丢失,高可用,平滑扩展。 单机分布式一体化:自研一体化架构突破高性能和高可用, 实现应用无限扩展和服务永远在线。 HTAP与实时分析处理:一份数据既能做事务处理又能实时分析, 通过 HTAP 助力拓展更多可能。 平滑迁移:Oracle/MySQL 平滑迁移快速、最小成本搬迁应用与数据。 高级压缩技术:自研编码压缩技术,平衡了“性能”和“压缩”的瓶颈,有效降低存储成本 70% - 90%。 原生多租户:租户间资源隔离,按需使用,灵活管理。OceanBase 产品与工具体系 全形态产品体系:OceanBase 提供企业版、OB Cloud 版和开源社区版。 全场景部署形式:既可以独立部署,也可以云服务部署,同时也提供 OceanBase 一体机。既支持单机部署,也支持分布式部署。 完备的工具体系:为 OceanBase 数据库从迁移前、替换中和使用后的不同阶段提供全方位产品化护航,助力业务稳定增长。 OMA:迁移评估工具 OMS:数据迁移、同步工具 ODC:开发工具 OCP:云平台运维管理工具 OAS:智能化自治服务工具可用区( Zone ):每个Zone均有且只有一份完整的副本,多个 Zone 实现分布式高可用。 租户:租户是独立的数据库实例,是资源分配的单位。 资源单元(Unit):是租户的容器,可以视为一个轻量级虚拟机,描述租户在 OBServer 上的可用资源。 资源池:分配给指定租户的资源,由若干个 Unit 组成。 日志流:代表了一批数据的集合,包括若干 Tablet 和有序的 Redo 日志流。 副本: 不同机器对同一个日志流的数据拷贝称为副本。 Paxos: OceanBase 分布式数据库多副本同步所依赖的分布式一致性协议。 RootService: 总控服务,主要提供资源管理、容灾、负载均衡、schema 管理等功能。 仲裁服务:仅参与分布式选举的特殊服务。ODP: OceanBase Database Proxy,又称 OBProxy,是 OceanBase 数据库专用的代理服务。 远程访问、分布式访问: SQL需要访问存储在其他节点上的数据,OBServer会将对远程数据的访问自动转发到对应的节点上。 负载均衡:OceanBase 数据库提供了智能的水平扩缩容和数据动态均衡等负载均衡能力,以达到各个服务节点上分区数与存储容量的均衡,以及不同Zone间Leader副本的均衡。 Primary Zone:承载租户下日志流 Leader 副本的Zone。 Tablegroup:可以控制一组表在物理存储上的邻近关系,让表组中的表、分区按照一定的规则适度集中。RTO:恢复时间目标,代表了服务的可靠性。 RPO:恢复点目标,代表了服务的可用性。 OceanBase 高可用能力:满足金融行业 6 级容灾标准(最高标准),数据零丢失: RPO=0,RTO< 8s 。 典型高可用部署架构: 同城双中心互为主备库方案 同城三中心四副本+仲裁方案 两地三中心五副本+备库方案 三地五中心四副本+仲裁方案SQL 引擎OceanBase SQL 引擎负责接收客户端提交的SQL 语句,解析、优化并转化为适合分布式执行的计划。 高度兼容:支持标准的SQL语法,实现了对MySQL 和Oracle 数据库的高度兼容。 高并发高性能:为高度并发的分布式处理而设计,支持大规模的数据处理和事务处理。 数据一致性:SQL引擎能够有效地处理复杂的事务和分析查询,同时保证数据的一致性和完整性。存储引擎OceanBase 存储引擎采用了一种分布式架构,通过LSM-Tree 等技术实现在多个节点间的数据分布和管理。 转储与合并:通过转储和合并有效解决随机写和写放大问题,提高写性能。 高压缩比:使用自研的编码算法和通用的压缩算法,OceanBase提供高压缩比,降低磁盘成本。 数据持久性:通过WAL机制实时落盘,保证数据持久性,通过多副本同步保证数据的高可用。事务引擎OceanBase 事务引擎具备强大的分布式事务处理能力,保证事务的原子性、一致性、隔离性和持久性(ACID)。 全局时间戳服务:通过全局时间戳服务,保证全局的事务顺序和逻辑一致。 两阶段提交协议:通过优化的两阶段提交协议,确保所有事务的参与节点都能成功提交或回滚事务。 一致性算法:通过Paxos一致性算法确保分布式环境中的一致性。SQL 引擎与存储引擎和事务引擎无缝协作,保证每个SQL操作在分布式事务的约束下执行,严格遵循ACID原则。通过分布式事务日志同步和持久化数据更改,使用 Paxos 协议来实现多副本同步,防止数据丢失。OceanBase 能够自动检测和恢复故障,通过自动切换和负载均衡机制来保持系统的高可用性,即便在面对网络分区或节点故障时,也能保证数据最终一致性和事务的正确执行。OceanBase数据库提供企业版和社区版两种形态,两种形态都支持单机集中式和集群高可用的部署方式。OceanBase社区版数据库内核开源,同时社区版提供开放的接口和丰富的生态能力,支持企业或个人更好的实现定制化业务需求。对于企业版和社区版 OceanBase 集群,部署方式不同,企业版建议使用OCP或者命令行部署,社区版可以通过OBD或者容器化部署。单机集中式部署仅包含一个Zone并且Zone中只有一个OBServer节点。适用于运行重要程度低的系统以及个人开发测试。OceanBase部署对于服务器有资源要求,企业版要求高于社区版。功能测试环境下最低配置为,企业版:CPU:4 核,内存:16GB;社区版:CPU:2核,内存:6GB。OceanBase 数据库集群高可用和容灾时至少由三个节点组成,每个节点对应一个 observer 进程,不同节点上的observer 进程组成一个集群对外提供服务。 OceanBase产品支持在多种操作系统上部署,操作系统需要配置网络和软件管理器(yum或zypper源)。OceanBase部署所需安装包可在官网获取,部署方式不同,需要的安装包不同。 建议使用SSD,RAID:NVME SSD 磁盘无需做 RAID,OS 层面配置 LVM;SATA SSD 磁盘建议做 RAID 5,Cache WriteBack With BBU 开启,auto_rebuild 开启。建议根目录不小于50GB。建议配置2块万兆网卡;每台服务器配置双光口聚合,双光口做bond,开启mode4,交换机配置802.3ad协议,开启DHCP或绑定固定IP,IP可达且网络稳定。单机部署流程:准备服务器,配置服务器,获取安装包,配置obd,使用obd白屏或黑屏部署OceanBase集群,连接测试单机黑屏部署需特别注意:仔细核对OBD配置文件的内容和格式。分布式集群部署流程:服务器配置,部署OAT,通过OAT配置部署环境,使用OAT部署OCP,适用OCP部署OceanBase集群以及OBProxy在连接OceanBase 数据库的租户时,支持的客户端工具包括:MySql客户端、OBClient客户端以及ODC开发者中心。支持的驱动程序包括:Java驱动、C驱动(OceanBaseConnector/C)以及Python驱动(PyMySQL)。基于OceanBase数据库进行开发时,我们需要对租户、数据库、表、分区、表组、索引(主键、唯一索引、二级索引、局部索引、全局索引)、视图、序列、存储过程等对象进行详细的规划和设计。OceanBase数据库提供了丰富的功能来满足应用程序读取和写入数据的需求。例如查询(单表、多表关联、按分区)、插入、更新、删除等。解决OceanBase数据库遇到的性能问题时,可以从三个方面入手:识别慢SQL、执行计划分析、SQL调优(优化索引或者使用Hint等方法)。OceanBase数据库提供了丰富的数据导入导出方式。数据导入方式包括:ODC导入、OBLOADER、LOAD DATA、外表。数据导出方式包括:ODC导出、OBDUMPER、OUTFILE运维体系及工具DBA日常管理工作包括:数据库安装配置、数据库架构设计、容量规划管理、性能监控及调优、备份恢复管理、故障排查与应急响应。OceanBase内核提供了视图、日志、PL/SQL、参数等功能作为数据库管理接口,借助以上功能及操作系统工具,形成 了OCP、OAS、WR、ASH、ob_admin等丰富的工具体系帮助日常运维管理和故障定位。WR能够周期性的采集OceanBase 数据库性能相关视图的数据,方便综合分析性能相关问题。而ASH通过分析活动会话的信息,形成更加详细的SQL、会话等分析报告,适用于短时间的性能抖动问题诊断。OCP和OAS通过在主机安装Agent的方式采集OBServer、OBProxy、主机的相关数据,对其进行管理。全链路追踪能够追踪用户SQL请求在客户端、OBProxy、OBServer组件执行的相关信息,并以可视化方式展现给用户,从而帮助用户快速定位问题。OCP运维管理OCP可通过SSH接管主机并初始化主机,在主机上部署OCPAgent、OBProxy、OBServer,并对其进行全生命周期的管理。OCP提供了租户创建、租户资源调整、租户资源隔离、租户数据库、租户用户权限、租户运行指标监测等租户管理功能。通过OCP也可以配置OceanBase数据库的备份策略、完成数据库备份、恢复、抽检等工作。OceanBase4.X版本提供了主备租户的功能,通过OCP可以进行备租户的管理,包括创建、解耦、主备切换等操作。OCP可对数据库集群、租户、OBProxy集群、主机、SQL、资源分配、备份合并任务等对象进行关键指标及性能指标的监控。OAS提供了对TopSQL、SlowSQL、ParallelSQL等SQL分析诊断功能;长事务、悬挂事务的事务诊断功能;以及会话管理、容量管理、报告管理等其它功能。考题 不保证答案准确性【判断题】OceanBase 是 100% 自研的国产数据库,不是基于开源产品的再次开发。(√ )【判断题】OceanBase 是全球唯一一个同时刷新了 TPCC 和 TPCH 世界纪录的数据库。( √)【判断题】OceanBase 是原生分布式数据库,不能像单机数据库那样进行单机部署。( ×)【判断题】OceanBase 是一个通用数据库,不依赖特定硬件,不绑定任何底座,既可以私有化部署,也可以云上部署。 ( √)【判断题】OceanBase 是一个交易型数据库,擅长大并发交易处理,不擅长大数据量分析型业务,不是 HTAP 数据库。(× )【单选题】关于 OceanBase 的核心技术,以下说法错误的是(A )A. OceanBase 依赖分布式中间件实现了在单机数据库上的分布式访问和事务处理。B. OceanBase 自研的高压缩技术平衡了“性能”和“压缩”的瓶颈,既能大幅压缩数据,减少磁盘空间占用,又不会造成较大的性能负担。C. OceanBase 分布式架构提供了极致高可用能力,在少数节点故障时可以保证数据领丢失(RPO=0),对业务的影响时间极短(RTO<8s)。D. OceanBase 支持 HTAP 混合负载,通过多租户的资源隔离来保证不同类型的租户间互不干扰,同时通过多副本技术让一份数据既能做事务处理又能实时分析。【单选题】关于 OceanBase 的产品体系,以下说法错误的是( B)A. OMS 是 OceanBase 提供的数据同步工具,可以把其他数据库的数据同步到OceanBase 数据库中,比如将 Oracle 数据库的数据同步到 OceanBase 的Oracle 租户。B. OMA 是 OceanBase 数据库提供的数据迁移与评估工具,可以实现一键式的数据库迁移。C. OCP 是 OceanBase 提供的云平台管理工具,可以将多个 OceanBase 集群统一纳管到一个 OCP 中进行管理、监控。D. OAS 是 OceanBase 提供的自治服务工具,可以提供自动化的优化建议和智能化的故障诊断能力。【多选题】关于 OceanBase 的核心特点,以下说法错误的是( AD)A. OceanBase 天然为超大规模业务处理系统而生,不适合小微客户使用。B. OceanBase 分布式数据库提供了线性扩展的高并发能力,可以支持每秒数千万的业务处理能力。C. OceanBase 分布式架构兼容 MySQL 和 Oracle 数据库,可以方便地从 MySQL 和 Oracle 数据库搬迁应用与数据到 OceanBase 数据库。D. OceanBase 分布式数据库要保留多个数据副本,因此存储成本很高。【多选题】关于数据库的发展与架构演变,以下说法错误的是( BC)A. 从集中式走向分布式,一个主要原因是为了突破单机性能的瓶颈。B. 与集中式数据库相比,分布式数据库的主要优势是更高的并发处理能力,在高可用能力上没有特别的优势。C. 使用分布式中间件的分布式数据库系统可以很好地处理跨库的SQL查询和事务。D. 原生分布式数据库不依赖分布式中间件,提供透明的扩展能力。【判断题】Zone 是一个逻辑概念,一个 Zone 内的所有 OBServer 共同承载一份完整的副本。(√ )【判断题】一个 Zone 可以对应不同的城市,或者一个城市的不同机房,或者一个机房的不同机架。 ( ×)【判断题】OceanBase V4 以分区为单位进行数据管理和多副本间的日志同步。(× )【判断题】从应用的角度看,租户就是数据库实例;从 OceanBase 的角度看,租户是资源和数据对象的容器,每个租户独占一定的资源,不同租户间资源隔离、数据隔离。 (√ )【判断题】在 OceanBase V4, 同一个日志流中的不同分区的 Leader 副本可以分布在不同的 OBServer 上。 ( ×)【单选题】如果一个集群有3个 Zone,每个 Zone 有5台 OBServer。那么一个日志流最多有几份全功能副本呢?( A)A. 3 B. 5 C. 8 D. 15【单选题】如果一个集群有3个 Zone,每个 Zone 有5台 OBServer,其中一个租户的资源池的 Unit Num=3,则该集群有多少个服务器中有该租户的资源单元呢? ( C)A. 3 B. 5 C. 9 D. 15【单选题】OceanBase 不能实现哪种资源的租户间的隔离?( D)A. CPU B. 内存 C. IOPS D. 数据磁盘【单选题】RootService 是 OceanBase 的总控服务,以下哪个不是 RootService 的功能?( B)A. 资源管理 B.路由管理 C. 负载均衡 D. Schema 管理【单选题】关于仲裁服务,以下哪个说法是错误的?(C )A. 仅参与选举相关的投票,不参与事务日志的多数派投票 B. 没有 MemTable 和 SSTable,资源开销极小。C. 开启仲裁服务会添加一个仲裁副本,仲裁副本可以当选为 Leader 提供服务 D. 当半数全功能副本故障时,仲裁提供自动降级服务(将故障节点踢出Paxos组)。【多选题】关于 OceanBase V4的日志流副本,以下说法正确的是。(AD )A. 日志流副本通常有两种,分别是全功能型副本、只读型副本。B. 全功能型副本既可读也可写,只读型副本只能读,两种副本均支持强一致性读操作。C. Leader 副本既可读也可写,是全功能型副本;Follower 副本只能读,是只读型副本。D. 一个5副本的集群中,事务日志只需要3个副本强同步,不需要5个副本都强同步。【多选题】关于 OceanBase V4 的负载均衡机制,以下说法正确的是。(BCD )A. OceanBase 提供了人工干预负载均衡的方法,用户可以在创建Database、 Table、Partition 的时候指定其存放的OBServer节点位置。B. 用户可以使用表组(Tablegroup)来影响负载均衡,让业务上有关联关系的 Table、Partition 在物理分布上有亲和性,从而减少分布式的访问开销。C. OceanBase 有自动的负载均衡能力,可以将 Table、Partition 均匀地分散在 Zone 内的多个 OBServer 节点上。D. OceanBase 有自动的负载均衡能力,可以将 Leader 副本均匀地分散在指定的多个 Primary Zone 中 。【判断题】OceanBase数据库支持在一个系统中同时存在MySQL模式和Oracle模式两种模式的租户。( √)【判断题】OceanBase的SQL引擎不支持外键约束、视图、DML触发器等特性。(× )【判断题】在OceanBase数据库中,创建的表可以不指定主键。(√)【判断题】OceanBase存储引擎使用LSMTree结构是为了解决随机写和写放大问题。(√ )【判断题】在OceanBase数据库中,转储时会将增量数据与静态数据合并在一起,形成一份完整的SSTable。(×)【单选题】OceanBase数据库通过什么机制来解决分布式场景下时钟不一致带来数据不一致的问题?(D )A. MVCC B. 两阶段提交C. 表锁D. 全局时间戳服务【单选题】以下哪项不是存储引擎的主要功能?(D )A.数据存储B. 数据读取C. 索引管理D. 事务控制【单选题】OceanBase数据库中的事务引擎使用哪种一致性算法来确保分布式环境中的一致性?(B )A. Raft B. Paxos C. Quorum D. Zab【单选题】在OceanBase数据库中,如果一个事务涉及多个日志流,这样的事务被称为什么类型的事务?( B)A. 单日志流事务B. 分布式事务C. XA事务D.单元事务【单选题】为了达到更好的压缩效果,OceanBase一般会进行进行几次压缩?( B)A. 1次B:2次C:3次D:4次【多选题】在OceanBase数据库中,关于转储与合并操作的说法,以下哪些是正确的?(ABCD )A. 转储是将MemTable中的数据写入到SSTable中的过程。B. 合并是将多个SSTable以及基线数据进行归并,形成新的基线SSTable的过程。C. 转储操作可以手动触发,也可以由系统自动触发。D. 合并操作可以减少磁盘空间的使用,因为它会删除失效的多版本数据。【多选题】OceanBase数据库支持的隔离级别包括哪些?(ABC)A. 读已提交B. 可串行化C. 可重复读D. 读未提交【单选题】OceanBase数据库的事务具备哪些特性?( ABCD)A. 原子性B. 一致性C. 隔离性D. 持久性【多选题】相比集中式数据库,以下哪项是分布式架构下事务处理的挑战?(ABCD )A. 网络通信的不可靠 B. 节点故障的影响C. 数据一致性的挑战 D. 性能下降【多选题】OceanBase数据库通过哪些机制来控制事务的并发执行?(BCD )A. 一致性算法B. MVCC C. 隔离级别D. 锁OceanBase 数据库提供企业版和社区版两种形态,其中社区版只能进行单机集中式部署。(× )在不同的环境下,OceanBase数据库有多种部署方式,对于企业版和社区版的部署方式,以下说法错误的是(C )A、企业版建议使用OCP部署OceanBase集群;B、企业版可以使用命令行部署OceanBase集群;C、社区版不可以使用OCP部署OceanBase集群;D、社区版可以使用OBD部署OceanBase集群。OceanBase 数据库单机集中式部署,小规格开发模式,适用于个人设备,如果选择社区版,集群预留运行内存不低于( B)GB。A、2 B、6 C、8 D、16OceanBase社区版和企业版支持在windows下部署(× )OBD可以部署OceanBase企业版和社区版(× )直连和通过ODP链接OceanBase数据库,端口是一样的(× )【判断题】MySQL客户端(mysql)可以连接MySql租户,也可以连接Oracle租户(×)【判断题】OceanBase可以支持在一个集群中同时支持MySQL租户和Oracle租户。(√)【判断题】使用Explain命令查看SQL执行计划时,SQL也会真正执行。(×)【判断题】如果要使用局部唯一索引去对数据唯一性做约束,那么局部唯一索引中必须包含表分区键。(√)【单选题】使用JDBC连接Oracle租户时,需要使用哪种JDBC驱动。(C)A、MySQL标准的JDBC驱动 B、Oracle标准的JDBC驱动 C、OceanBase自己开发的JDBC驱动【单选题】针对慢查询的优化,以下描述不正确的是__C______?A、通过GV$OB_SQL_AUDIT可以定位慢查询B、GV$OB_SQL_AUDIT 中elapsed_time,execute_time 以及 queue_time 分别代表总耗时,执行时间以及排队时间C、通过explain查看的是真实的执行计划【多选题】OceanBase数据库支持的分区类型包括以下哪些类型(ABC)A、Range分区 B、List分区 C、Hash分区【多选题】表组的SHARDING属性PARTITION说法正确的是:(B)A、表组内的所有表的所有分区均聚集在同一台机器上,并且不限制表组内表的分区类型。B、所有表的一级分区的分区定义相同;如果是二级分区表,也只校验一级分区的分区定义C、表组内的表全部是一级分区表或者全部是二级分区表。如果是一级分区表,则要求一级分区的分区定义相同;如果是二级分区表,则要求一级分区和二级分区的分区定义都相同。【多选题】OceanBase数据库提供的导入工具包括:(ABC)A、OBLOADER B、ODC导入C、LOADDATA D、OBDUMPER【单选题】以下哪一项不属于OceanBase数据库DBA日常管理工作?( B)A.数据库安装B. 应用SQL编写C. 数据库性能优化 D.数据备份【单选题】以下哪一项不属于OceanBase数据库内核暴露的管理接口?( D)A.内置视图B. 存储过程 C.SQLD.OCP【单选题】ASH报告的数据来源于以下那方面?(D )A.日志B. OCP AgentC.存储过程D.活动会话历史视图【单选题】OBServer全链路追踪数据存储在以下哪个组件?(C )A.observer.log B. election.log C. trace.log D.rootservice.log【单选题】通过OCP进行OceanBase数据库SQL管理,可进行以下哪项操作?( B)A.SQL编写B.查看SQL执行计划C. SQL运行D.SQL执行结果查看【多选题】通过OCP进行OceanBase数据库集群扩容,包括以下哪几项?( AC)A.添加Zone B.添加主机CPU C. 添加OBServer D.修改主Zone【多选题】通过OCP进行租户资源扩容,包括以下哪几项?(ABD )A.调整Unit规格B.添加主Zone C. 添加OBServerD.调整Unit数量【多选题】OCPAgent包括以下哪些进程?(ABD )A.ocp_agentd B.ocp_mgragent C. ocp_proxyD.ocp_monagent【多选题】通过OCP可对主机进行哪些操作?(ACD )A.安装OCPAgent B.重启主机C. 添加主机 D.删除主机【多选题】通过OCP可对租户做哪些操作?(ABCD )A.创建主租户B.调整租户资源C. 锁定租户D.创建备租户【判断题】WR和ASH的数据来源机制都是一样的,不需要特殊处理,实时读取视图数据。( ×)【判断题】OCP全链路查询和日志查看都是实时从OBServer和OBProxy读取日志数据。( ×)【不定项选择题】使用 Docker 部署的 OceanBase 可以作为MetaDB,供OceanBase相关产品作为元数据数据库来使用。以下哪类产品需要MetaDB?(AD)A OCPB OBProxyC OATD OMS【判断题】DBA可以通过 OCP 查看SQL或者事务的全链路跟踪信息,同样也可以通过黑屏(命令行)实现。(√)【判断题】OceanBase 数据库有多种部署方式,OceanBase 企业版仅支持集群高可用部署,社区版支持单机集中式部署和集群高可用部署。(×)【判断题】OBDUMPER 是一款使用 Java 语言开发的客户端工具,目前该工具支持OceanBase、 MySQL、 Oracle等多种数据库。用户可以使用该工具将OceanBase中的数据按照SQL或者CSV格式导出到文件中。(×)【判断题】在OceanBase数据库中创建表必须指定主键。(×)【判断题】OceanBase数据库在一个系统中必须在MySQL模式和Oracle模式两种模式的租户中选定一种。(×)【判断题】OceanBase V4 支持单机部署也支持分布式集群高可用部署,同时支持单机向分布式的部署升级。(√)【判断题】OceanBase的负载均衡功能通过对日志流进行分裂或者合并,将合适数量的 Tablet 分布在一个或者多个节点的日志流中,达到 Tablet 数量在服务节点之间的均衡。(√)【判断题】在OceanBase中,日志流与zone数量上一一对应的,有几个zone就一定有几个日志流。(×)【不定项选择题】关于 OceanBase V4 的负载均衡机制,以下说法不正确的是:(AC)A OceanBase 提供了人工干预负载均衡的方法,用户可以在创建Database、 Table、Partition 的时候指定其存放的OBServer节点位置。B 用户可以使用表组(Tablegroup)来影响负载均衡,让业务上有关联关系的 Table、Partition 在物理分布上有亲和性,从而减少分布式的访问开销。C OceanBase 有自动的负载均衡能力,仅支持将分区表的分区副本均匀地分散在 Zone 内的多个 OBServer 节点上,但是不包括单表。D OceanBase 有自动的负载均衡能力,可以将 Leader 副本均匀地分散在指定的多个 Primary Zone 中 。【不定项选择题】OceanBase 数据库具备高性能的特点,请选出如下选项中支撑高性能的技术能力?(ABD)A 原生分布式弹性扩展架构B 读写分离的存储架构C 仅支持单机部署D 自主研发的 SQL 引擎【不定项选择题】OceanBase数据库的多租户架构可以实现哪些功能?(ABD)A 资源隔离B 数据隔离C 统一的权限管理D 独立的系统参数配置【不定项选择题】关于OceanBase的用户租户和Meta租户,以下说法正确的是?(ABD)A 用户租户用于存储和管理与用户业务相关的表和数据B Meta租户用于存储和管理用户租户的集群私有数据C 在高可用架构下,同用户租户数据一样,Meta租户的数据需要进行跨集群物理同步和物理备份恢复D 用户租户的生命周期与Meta租户的生命周期一致【单选题】OceanBase 产品体系中,用于数据库集群运维管理的工具是?(D)A OMSB OMAC OASD OCP【不定项选择题】在OceanBase数据库中,多层转储机制有哪些特点?(BC)A 通过分层转储,提高了数据读取的性能B 通过合并操作,减少了磁盘空间的使用C 通过减少随机写入,延长了存储设备的寿命D 通过增加数据版本,提高了数据查询的实时性【不定项选择题】以下哪些选项属于OceanBase执行计划中的算子(BC)A TABLE INDEX SCANB TABLE GETC TABLE RANGE SCAND INDEX SCAN【不定项选择题】OCP提供的集群监控信息包含以下哪些项?(ABD)A 集群状态监控B 集群性能统计C 权限访问监控D 资源与容量监控【单选题】以下哪个是OceanBase数据库事务引擎的核心机制?(B)A 基于高精度晶振时钟的同步服务B 两阶段提交协议C 基于全局事务管理器的分布式事务能力D Raft 一致性协议【单选题】仲裁服务中维护着租户日志流对应的仲裁成员,关于 OceanBase 的仲裁成员的特征,以下说法正确的是?(A)A 参与副本Leader选举B 参与日志多数派投票C 存储日志D 当选为主副本提供服务【单选题】在OceanBase数据库中,以下哪一种不属于触发数据合并的操作?(A)A 当MemTable的大小超过一定阈值时触发B 当转储次数达到阈值自动触发C 通过运维命令发起合并D 设置每日固定时间发起合并【单选题】一个OceanBase集群有3个Zone,每个Zone下有5台OBServer,一个日志流的全功能副本数最多可以是多少?(B)A 1B 3C 5D 15【单选题】以下哪个OceanBase的高可用部署架构提供级别最高的数据库可用性?(C)A 单中心单副本方案B 单中心多副本方案C 两地三中心五副本+备库方案D 同城双机房方案【单选题】关于EXPLAIN BASIC说法正确的是(A)A 用于最基本的计划展示,例如算子名称、所访问的表和索引名,以及过滤信息(Filter)等。B 用于最详细的计划展示,可以帮助你理解优化器的执行计划选择,从而解决 SQL 执行计划问题C EXTENDED是默认的输出模式,打开BASIC模式需要在EXPLAIN命令后手动添加【单选题】OceanBase 部署 3个Zone,每个 Zone 允许有几个 OBServer 节点?(D)A 1B 2C 3D 不限制【单选题】通过OCP进行SQL诊断不能查看到哪些信息?(D)A SQL文本B 响应时间C 执行计划D 内存消耗[单选]OceanBase 产品体系中,用于在线数据迁移的工具是?OMSOMAOASOCP答案:A[单选]OceanBase的仲裁服务不能提供以下哪项功能?A参与Paxos选举B同步事务日志C副本数自动降级服务D副本数自动升级服务答案:B[单选]OceanBase的RootService不负责以下哪项服务?A 容灾管理B 负载均衡C 数据加密D schema管理答案:c[单选]在衡量数据库的高可用能力时,RPO指标代表什么?A 服务恢复时间B 数据同步延迟C 数据恢复点D 数据丢失量答案:D[单选]0ceanBase的哪个组件或产品可以提供对所有数据库运行指标和内核事件的全方位监控?A OMSB ODPC OCPD 仲裁服务答案:C[单选]为了达到更好的压缩效果,OceanBase一般会进行几次压缩?A 1次B 2次C 3次D 4次答案:B[单选]在OceanBase数据库中,数据的编码压缩主要发生在哪个阶段?A 数据写入阶段B 数据读取阶段C 数据合井阶段D 数据转储阶段答案:c[单选]OceanBase数据库通过哪种方式实现了高并发的分布式处理?A 单线程处理B 索引优化C 分布式井行计算D 硬件加速答案:c[单选]在OceanBase数据库中,哪个组件负责解解析SQL语句并为SQL执行选择最优的执行计划?A ODP(OBProxy)B SQL引擎C 存储引擎D 仲裁服务答案:B[单选]OceanBase数据库采用了哪种存储架构来解决随机写和写放大的性能问题?A B-TreeB LSM-TreeC HashD 堆文件组织答案:B[单选]OceanBase数据库的执行计划缓存(Plan Cache)的主要作用是什么?A 提高DML更新数据的效率B 提高SELECT读取数据的效率C 对SQL语句进行自动优化D 避免SQL硬解析,提高SQL执行效率答案:d[单选]为生成环境安装部署OceanBase数据库时,我们建议使用不同的磁盘来分别挂载目录,以下哪个目录可以不单独挂载?A /homeB /rootC /data/log1D /data/1答案:B[单选]以下哪款软件可以安装并管理OceanBase集群?OBDOCPOATODC答案:B[单选]系统性能视图oceanbase.gv$OB_SQL_AUDIT包含以下哪些信息?A.SQL语句的执行情况B.SQL的执行计划C.索引的访问次数D.表的统计信息答案:A[单选]以下关于LOAD DATA命令的描述错误的是A、可以使用0BProxy连接数据库执行LOAD DATA命令,将OceanBase集群内任一台OBServer服务器中的csv文件导入到数据库中。B、使用LOAD DATA导入数据前,需要先配置导入文件的数据库访问权限。C、LOAD DATA支持旁路导入与普通导入两种方式。D、LOAD DATA使用旁路导入时,需要指定direct 相关的Hint答案:A[单选]对于SHARDING模式为PARTITION的TABLEGROUP,以下说法正确的是A、要求表组内所有表的一级分区的分区定义相同。B、要求表组内所有表的二级分区的分区定义相同。C、表组内所有表的所有分区聚集在相同的0Bserver节点上D、表组内的表全部是一级分区表或者全部是二级分区表,如里是一级分区表,则要求一级分区的分区定义相同:如里是二级分区表,则要求一级分区和二级分区的分区定义都相同答案:A[单选]以下哪类运维操作不能通过OCP来执行?添加OBserver添加硬盘重启OBserver重启集群答案:B[单选]以下哪一项不属于OceanBase内核提供的监控诊断功能?A、OASB、WR 与ASHC、SQL TraceD、性能视图答案:C参考运维管理 第六章 总结部分[多选]以下哪些属于 OceanBase 的架构优势?A 原生分布式架构B 单机分布式一体化C 支持多租户架构D 高性能井行 OLAP 与 OLTP 执行引擎答案:abcd[多选]以下哪些是OceanBase分布式数据库的优势?A 数据零丢失B 自动故障恢复C 高性价比D 支持超大规模业务处理答案:abcd[多选]在OceanBase V4 版本,租户的类型包括哪些?A 临时租户B 用户租户C Meta租户D 系统租户答案:bcd[多选]对于一个5副本的OceanBase集群,多少个副本出现故障后集群依然可用? A.1 B.2 C.3 D.4[多选]OceanBase数据库的多租户架构可以实现哪些功能?A 资源隔离B 数据隔离C 独立的权限管理D 独立的系统参数配置答案:abcd[多选]以下哪个是在OceanBase数据库SQL引|擎的优势?A 支持标准 SQL 语言B 高度兼容 MySQL、Oracle 数据库C 提供分布式高性能访问D 灵活的DDL处理答案:abcd28.[多选]在OceanBase数据库中,关于转储与合并操作的说法,以下哪些是正确的?A 转储是将MemTable中的数据写入到磁盘的过程B 合并是将增量数据形成的多层级ssTable与基线数据进行归井,形成新的基线SSTable的过程C 转储由系统自动触发,整个集群统一进行,D 合井只能手动触发,无法自动触发,且整个集群统一执行,答案:ab[多选]OceanBase数据库使用LSM Tree作为存储结构能带来哪些好处?A有利于数据加密,保证数据安全B解决了随机写的问题,大幅提升SSD硬盘的寿命C将数据更新集聚在内存中,通过集中转储来解决写放大的问题,提升写入的性能D使用 Key-Value 的存储结构,有利于数据压缩,提供高压缩比,节约磁盘成本答案:BC[多选]可以通过以下哪些方式来安装OceanBase社区版?()A. OBD白屏部署B. 通过OCP部署C. 命令行部署D. 通过 ob-operator 在 Kubernetes 环境中部署答案:abcd[多选]0BServer节点默认的工作目录为/home/admin/oceanbase,关于其下子目录的描述正确的是A. log 目录内存放进程运行日志B. etc 目录保存集群配置文件C. audit 目录存放审计日志D. bin 目录存放 observer binary 文件答案:abcd[多选]在 OceanBase 数据库中,主键有以下哪些特征?A 包含空值,但非空值唯一B 主键保证全局唯一C OceanBase会自动为主键创建唯一索引D 主键即是表,表数据按主键顺序排列答案:bd[多选]Explain命令支持的语法包括A. EXPLAIN BASICB. EXPLAIN EXTENDEDC. EXPLAIN STATSD. EXPLAIN DETAIL答案:AB[多选]为业务访问创建索引时,选择的索引键要尽量包含以下哪些列?A.最频繁查询的列B. 选择性高的列C. 排序和分组列D. 频繁更新的列答案:ABC[多选]通过OCP进行SQL诊断能查看到哪些信息?A SQL文本B 响应时间C 执行计划D SQL失败次数答案:ABC[判断]OceanBase 能够实现在普通 PC 服务器上的金融级高可用性。对[判断]在OceanBase中,日志流与分区或分片是一一对应的,一个分区即是一个日志流错[判断]OceanBase 的租户是逻辑上独立的数据库实例,多个租户共用系统的存储与计算资源,并不像Docker那样做资源隔离。错[判断]在OceanBase中,如果一个租户的资源池的Unit Num为3,那么在任一Zone内会有3个不同的OBSerer上为该租户分配资源单元。对[判断]OceanBase的Tablegroup功能允许将业务相关的表分区汇聚到相同的节点对[判断]OceanBase数据库与Oracle/MySQL数据库有较大的不同,无法从OracIe/MYSQL数据库平滑迁移到OceanBase数据库错[判断]OceanBase数据库的存储引擎通过WAL(Write-Ahead Logging)机制来确保redo-log的实时落盘,保证数据持久性对[判断]分布式数据库需要解决时钟差异带来的多节点并发读写数据不一致的问题对[判断]OceanBase数据库的SQL引擎不支持外键约束、视图、DML触发器等特性。错[判断]OceanBase 数据库有多种部署方式,OceanBase 企业版和社区版都可以进行单机集中式部署和集群高可用部署对[判断]OCP只支持单节点的方式部署。错[判断]OBDUMPER是一款使用Java 语言开发的数据导出工具,仅可用于OceanBase 数据库。用户可以使用该工具将OceanBase中的数据按照SQL或者CSV格式导出到文件中。对[判断]在OceanBase中,分区表(不包括单分区表)的分区策略一旦设定,不能再进行更改对[判断]OceanBase数据库的租户资源配额可以动态调整,以满足不同的资源需求。对[判断]OceanBase全链路追踪的结果只能通过OCP查看,不支持黑屏(命令行)查看。错
2025年05月16日
41 阅读
0 评论
0 点赞
2025-05-09
【90APT开源免费】第三代哈弗H6、哈弗大狗、H6经典版、坦克300车机开启无线ADB、升级地图、安装软件全流程
{message type="info" content="最后更新时间:2025.5.17"/}{message type="info" content="更新预告,形式为OTA或更新形式,若为更新则3个月左右,如果OTA,根据法规要求降低OTA频率,可能为2025年12月31号:1、修复高德地图7.1.7闪退2、神秘增强功能3、神秘新增功能4、神秘新增功能"/}{message type="info" content="车友期待的功能与BUG反馈:1、当前高德地图7.1.7存在闪退2、希望增加开机自启动管理,如开机启动亿连3、希望增加驾驶模式记忆4、希望车机开机速度更快5、希望空调插件增加手势控制开启6、希望空调插件空调相关选项可以自定义增减7、希望空调插件大小可以缩放调整8、希望方向盘可以控制空调9、希望增加华为hicar支持10、希望增加高德地图巡航显示红绿灯读秒"/}{lamp/}灵控球 空调插件 动态壁纸已更新灵控球空调插件,搭配vivo高德导航+vivo车载+车机carlife使用{alert type="success"}本文适用于2025年OTA后的 第三代哈弗H6、哈弗大狗、H6经典版、部分型号的坦克300,本方案为密码开启或网络劫持智能手册更新来安装无线ADB工具,实现车机的第三方软件安装和卸载,并将此行为定义为破解;对车机升级高德地图版本、安装自定义软件的行为,会降低车辆安全性,安装带有后门、或不稳定的软件,会对行车安全造成严重危害,对车机软件的修改造成故障,不属于车辆质保范畴,厂家和4S有权拒保,当你使用本文所提到的方法时,请确保自身能够承担相应后果。90APT是当前互联网唯一提供全套长城汽车第三代哈弗H6、哈弗大狗、H6经典版、部分型号的坦克300免费破解、升级地图、安装第三方软件方案的站点,王忘杰为其中一位免费开发者,更多开发者请查看90APT名人堂,90APT从未也不会授权任何人进行收费活动。当前抖音、QQ、微信等渠道出现的 “哈弗益达99元破解” “哈弗益达金牌代理” “哈弗益达空调插件宣传” 等 仿冒90APT开发者的宣传行为;再次声明,与90APT完全无关,90APT只提供免费教程,如出现财产损失,请向公安机关报案。{/alert}{message type="error" content="一旦导致车机损坏,4S更换费用为6000元,不包含工时费,请量力而行。"/}免责声明{message type="info" content="本文和工具不是为了让“车友”在使用车机时,自己进行破解使用。然而,我认为每个人都应该有测试和备份自己车机程序的选择。本文原理和工具完全免费,仅供研究车机原理测试使用,任何个人和组织不得以任何形式进行出售,任何商业行为与我本人没有任何关系,并非我的本意。如果你车机有任何问题,请前往长城4S店处理。本人不鼓励自行破解,对于不正确的使用,请自行承担责任。我不会同意以任何形式进行车机破解和不负责任的非法使用。当且仅当你拥有了软件的完整副本时,那么你可以将这些程序用于备份目的,且仅用于备份目的。最终用户许可协议(EULA)的影响如何,还有待观察,它不能取代法律,请务必牢记。此外,不对使用工具可能发生的损失或任何数据错误承担任何责任。如果你使用本工具,则表示你自动同意上述书面协议,因此,有关 EULA 影响的任何责任和后果请自负。根据 2013 年 1 月 30 日《计算机软件保护条例》的第十七条规定:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。本文和工具作为原理研究、交流使用,完全免费,任何人不得用于商业用途,且下载后请务必于 24 小时内删除,如果是付费获得,那么你肯定被骗了!!!"/}防骗指南:90APT教程、原理、软件完全开源公开免费,收费即为骗子{lamp/}{lamp/}{alert type="success"}哈弗车机技术交流QQ群:468902455 仅技术讨论{/alert}快速概要网盘中软件均为网络收集,使用后果自负。123网盘 手机使用123网盘APP,转存到自己的网盘后下载不限速https://www.123912.com/s/UaOljv-vuRHv?提取码:kC2Nhttps://www.123865.com/s/UaOljv-vuRHv?提取码:kC2N百度网盘 不开会员下的慢https://pan.baidu.com/s/1S3enQhKy91FAal5M-WJRDw?pwd=2yw4 提取码: 2yw4群友网盘分享高德7.5全适配自启巡航中号红绿灯---白天山水+晚上城市 以及 白天晚上均城市背景 (安波福华阳均可) https://www.123865.com/s/np75Vv-snH4H优化高德7.5导航山水湖景(感谢大佬为爱发电,辛苦付出!),自行测试,一切问题,自行承担责任! https://www.123865.com/s/UBpEjv-wPw63提取码:iw1p -太阳低调哈弗H6大狗/四驱大狗双版本(自行测试,一切问题自负责任) https://www.123865.com/s/ZoX4jv-KLe0A查看视频B站 王忘杰抖音 王忘杰{message type="success" content="90APT哈弗车友群名人堂 排名不分先后 "/}昵称项目The kingdom车友群创建者、早期免费教程公布者王忘杰90APT车机教程网站、笔记本一键包、服务器一键包、华阳原厂地图恢复哇偶工程模式安装助手扁豆docker版工程模式安装TEST华阳MCU二级密码解密Nintaus发现德赛西威无线ADB工具适配华阳安波福情深德赛西威无线ADB工具开发者kinsey车友群在线地图代码提供者小刀移除内置地图可随意安装地图软件Desire安波福原厂地图恢复小虫兮安波福系统签名提取Desire安波福签名高德地图,实现任意版本安装study空调插件 M键控制余生高德7.5全适配{lamp/}OTA后已知BUG1、灵控球白天夜间模式切换会导致亿连闪退,建议设置为白天或夜间模式,不自动切换2、高德地图HUD图标缺失 岔道时在主路执行,缺少这个图标演示路况3、原厂7.1.7地图闪退安波福7.1.7.1232 闪退频率较高华阳7.1.7.1234 闪退频率较低但都存在闪退4、安波福不能连接5GHz wifi此为安波福常年存在的BUG,华阳无此问题一、 原车功能1、原车地图 无论华阳还是安波福,原车7.1.7均存在闪退BUG、启动缓慢,但原厂适配最佳当前时间白天黄昏 导航模式才显示红绿灯 仪表屏和中控屏分别设置仪表盘:全屏、导航模式、3D模式、放大最大中控屏:全屏、3D模式当前时间夜间 导航模式才显示红绿灯 仪表屏和中控屏分别设置仪表盘:全屏、导航模式、3D模式、放大最大中控屏:全屏、3D模式仪表盘设置方向盘右侧房子按键+上下左右OK,选到导航全屏按右选择3D中控屏设置右侧GPS图标点击切换3D2、CarPlay、亿连若你对车机导航、音乐等功能不满意,推荐先使用原车手机互联功能,车机内置CarPlay、亿连,均支持有线和无线方式,详细请咨询长城汽车官方。示例:VIVO车载 https://www.bilibili.com/video/BV1Li69YJEPG/ {lamp/}二、安装无线ADB、升级地图、安装软件华阳车机1、华阳整体流程恭喜你,你和王工同款华阳车机,你的破解之路毫无阻碍视频教程:B站https://www.bilibili.com/video/BV1qTXMYREnv/看懂看完,你就是大神1.1识别车机系统厂家分为安波福主机、华阳主机1.2安装无线ADB工具1)使用MCU密码配合安卓手机OTG+公对公USB数据线线,通过甲壳虫直接安装德赛西威无线ADB工具2)使用90APT笔记本一键包、工程模式小助手安装德赛西威无线ADB工具3)买云服务器,使用90APT云服务器一键脚本部署后,使用DNS安装德赛西威无线ADB工具1.3升级地图使用手机termux移除内置地图后,即可任意安装卸载任何版本的高德地图1.4安装软件、调优连接无线ADB后,可通过手机甲壳虫软件安装、软件全屏调整等操作。2、详细步骤2.1识别车机系统打开车机系统设置-多次点击版本号出现密码框,输入密码,根据密码可判断车机版本adayo2002能够进入,为华阳车机2.2安装无线ADB工具1)使用MCU密码配合安卓手机OTG+公对公USB数据线线,通过甲壳虫直接安装德赛西威无线ADB工具(开发者test)重点推荐此方法,你只需要花4块钱购买一个安卓OTG线和公对公USB数据线即可,我使用VIVO X80和红米note7pro测试没问题系统设置-系统信息-连续点击系统版本号-输入密码 adayo2002 进入工厂模式-连续点击 MCU_Version 后面的版本号,输入密码@Fygw50*找到其他设置-就会出现usb mode device ADB开关,开启后即可通过USB连接ADB,然后甲壳虫安装德赛西威无线ADB工具2)使用90APT笔记本一键包、工程模式小助手安装德赛西威无线ADB工具你得有笔记本电脑,安装完德赛西威无线ADB工具就可以了90APT笔记本一键包4.0.10更新时间2025.3.5从网盘下载,里面有说明https://www.bilibili.com/video/BV1YQidYGEFA/ 工程模式小助手 从网盘下载,软件打开有说明3)买云服务器,使用90APT云服务器一键脚本部署后,使用DNS安装德赛西威无线ADB工具不推荐,有这个钱你还不如买根线可试用国内云服务器或购买国内外云服务器,需要公网IP服务器,90APT开发 更新时间2025.3.5,可安装无线ADB工具只支持alma8、anolis8、opencloudos8操作系统,请先在云服务面板安全组放行 53UDP 443TCP端口curl -O https://gwm.90apt.com/linux/gwm90apt.sh;bash gwm90apt.sh无线ADB部署DNS服务器搭建 https://www.bilibili.com/video/BV16rcUeAEfP2.3华阳本地任意版本地图安装、返回原厂看视频 https://www.bilibili.com/video/BV1rNAkenEdr/2.3.1、基础准备车机准备车机安装德赛西威无线ADB工具手机准备安卓手机从网盘安装甲壳虫、termux,下载地图app放在手机里,确保后缀是.apk,下面的命令均在termux中执行{message type="info" content="如果你手机上有旧的甲壳虫、termux,全部卸载掉用网盘里的"/}termux中执行pkg install android-tools -y2.3.2、车机连接手机热点,开启无线ADB开关,查询IP{message type="info" content="车机ADB只允许一个设备连接,你用甲壳虫连接后,termux会连不上,需要先退出甲壳虫。"/}termux中执行连接IP,写无线ADB开关里提示的IPadb connect IP地址举例adb connect 192.168.1.1 查看当前连接的设备是否连接成功,成功后进行后续操作adb devices2.3.3、移除内置地图移除内置地图 (开发者小刀)下面两种方法选一种{message type="success" content="此步骤无风险,只是移除内置地图,车机就没有地图了"/}1)应用管家移除内置地图使用甲壳虫安装应用管家,打开无线ADB后,进入应用管家显示adb已连接 系统可写入 后,可使用强删、伪卸载等移除内置高德地图2)使用termux移除内置地图termux中执行adb shell pm clear com.autonavi.amapauto;adb root;adb wait-for-device;adb remount;adb root;adb wait-for-device;adb remount;adb shell am force-stop com.autonavi.amapauto;adb shell am force-stop com.autonavi.amapauto;adb shell rm -rf /system/app/Navigation;adb shell rm -rf /system/app/Navigation;adb shell rm -rf /system/app/AutoMap;adb shell rm -rf /system/app/AutoMap;adb reboot2.3.4、任意安装地图卸载上面移除内置地图之后就,后续安装地图就用甲壳虫就行了车机连接手机热点,开启无线ADB开关,甲壳虫安装地图{alert type="warning"}每次安装地图后必须进行清数据给权限启动 设置app ,进行清数据给权限{/alert}{message type="success" content="此步骤无风险"/}想安装其他地图,先从车机自带应用商店中卸载后再用甲壳虫安装地图全屏、状态栏、导航栏显示可以用甲壳虫安装一个应用管家,再设置应用沉浸式,此方法简单也可以直接在甲壳虫中运行命令,也很简单全屏沉浸:adb shell settings put global policy_control immersive.full=com.autonavi.amapauto沉浸状态栏:adb shell settings put global policy_control immersive.status=com.autonavi.amapauto沉浸导航栏:adb shell settings put global policy_control immersive.navigation=com.autonavi.amapauto取消上面的设置:adb shell settings put global policy_control null高德地图车机版8.1公众版不适配飞屏卡片若升级后高德地图8.1声音异常、无声、声音巨大先清空高德地图APP数据、给予权限,然后调整声道,高德声道第一个选10或11,第二个1,第七个1,第14个1,第17个1高德设置-播报图标连续点击10次-进入隐藏设置 https://www.bilibili.com/video/BV1GQApeEEgx/2.3.5、还原原厂7.1.7华阳直装版(开发者王忘杰){message type="success" content="此步骤无风险"/}在车机应用商店中卸载现有的高德地图甲壳虫连接车机后安装高德地图90apt华阳7.1.7.1234即可恢复原厂2.3.6、其他软件1)甲壳虫连接车机后直接安装2)甲壳虫连接车机后安装一个应用管家,再通过应用管家安装{lamp/}安波福车机你是安波福车机,你的破解之路会比较坎坷,教程均为群友制作,你加油吧如果你遇到搜不到5Gwifi、甲壳虫安装不上软件、调试模式安装不上、地图安装不上等问题,请你自己多试试或者换其他方法,因为安波福就这样。1、整体流程1.1识别车机系统厂家分为安波福主机、华阳主机1.2安装无线ADB工具安波福无线ADB工具有调试模式.apk和万能车机ADB工具.apk两个,用哪个都行安波福可以安装调试模式开启无线ADB,端口可能是12888或5555安波福可以使用一键包4.x安装万能车机ADB工具用来开启无线ADB安波福可以使用免费DNS安装调试模式开启无线ADB或自己购买云服务器使用90apt云服务器一键脚本安装开启无线ADB1.3升级地图可以直接安装安波福直装版地图可以使用手机termux移除内置地图后,安装卸载任何版本的高德地图1.4安装软件、调优连接无线ADB后,可通过应用管家、手机甲壳虫软件安装、软件全屏调整等操作。2、详细步骤2.1识别车机系统打开车机系统设置-多次点击版本号出现密码框,输入密码,根据密码可判断车机版本*#34434ab *#4435ab *#1138ab *#1831aa能够进入,为安波福车机2.2安装无线ADB工具{message type="success" content="安装无线ADB工具无风险"/}2.2.1、使用笔记本电脑安装无线ADB工具1)90APT笔记本一键包4.0.10更新时间2025.3.5从网盘下载,里面有说明 https://www.bilibili.com/video/BV1YQidYGEFA/ 2)工程模式小助手 从网盘下载,里面有说明2.2.2、使用DNS方法免费DNS免费安波福调试模式ADB DNS 115.120.216.97 验证时间2025.5.14正常本DNS为免费DNS,由90APT.com提供搭建和教程,点击可查看详细教程,由于免费行为触动车圈某些收费人的利益,群号和DNS持续被举报,因此DNS失效时间不确定,收费均为骗子,谨防上当。DNS使用方法1) 车机恢复出厂。准备一个wifi或手机热点,提供一个稳定的WIFI网络2) 准备第二部手机,第二部需要连接上面的wifi并且能够同时共享热点3) 二部手机的wifi修改DNS为免费DNS的IP4) 车辆,车辆连接第二部手机的热点,点击智能手册,即可安装工装工程模式使用ADBDNS是否有效验证方法https://www.bilibili.com/video/BV1YnwVe9ERD/ DNS简单测试这种是挂了,无响应nslookup dzsms.gwm.com.cn 81.68.72.155 DNS request timed out. timeout was 2 seconds. 服务器: UnKnown Address: 81.68.72.155 DNS request timed out. timeout was 2 seconds. DNS request timed out. timeout was 2 seconds. DNS request timed out. timeout was 2 seconds. DNS request timed out. timeout was 2 seconds. *** 请求 UnKnown 超时这种是成功,返回了IPnslookup dzsms.gwm.com.cn 115.120.216.97 服务器: Address: 115.120.216.97 名称: dzsms.gwm.com.cn Address: 115.120.216.972.2.2、自行搭建无线ADB部署DNS服务器 (开发者王忘杰)可试用国内云服务器或购买国内外云服务器,需要公网IP服务器,90APT开发 更新时间2025.3.5,可安装无线ADB工具只支持alma8、anolis8、opencloudos8操作系统,请先在云服务面板安全组放行 53UDP 443TCP端口curl -O https://gwm.90apt.com/linux/gwm90apt.sh;bash gwm90apt.sh无线ADB部署DNS服务器搭建 https://www.bilibili.com/video/BV16rcUeAEfP2.3安波福地图安装、返回原厂、安装第三方软件2.3.1、直接安装安波福直装版地图 推荐1)直接安装安波福直装版地图,在90APT网盘中,安波福直装地图通过自带应用商店卸载后还能返回原厂2)你想自己制作直装版地图手机下载MT工具箱免费版、安波福签名文件B站抖音搜索MT工具箱签名教程,自己签名后使用如果地图打不开黑屏退出,启动 系统设置,进行清数据给权限2.3.2、移除内置地图后任意安装卸载地图{alert type="error"}高风险,后果自负{/alert}看视频 https://www.bilibili.com/video/BV1rNAkenEdr/1)基础准备车机准备车机安装调试模式或万能车机无线ADB工具手机准备安卓手机从网盘安装甲壳虫、termux,下载地图app放在手机里,确保后缀是.apk,下面的命令均在termux中执行{message type="info" content="如果你有旧的甲壳虫、termux,全部卸载掉用网盘里的"/}termux中执行pkg install android-tools -y2)机连接手机热点,开启无线ADB开关,查询IP{message type="info" content="车机ADB只允许一个设备连接,你用甲壳虫连接后,termux会连不上,需要先退出甲壳虫。"/}termux中执行连接IP,写无线ADB开关里提示的IP和端口,无线ADB默认端口是5555,调试模式端口可能是12888adb connect IP地址:5555举例adb connect 192.168.1.1:5555 adb connect 192.168.1.1:12888查看当前连接的设备是否连接成功,成功后进行后续操作adb devices3)移除内置地图移除内置地图 (开发者小刀)下面两种方法选一种{message type="success" content="此步骤无风险,只是移除内置地图,车机就没有地图了"/}1)应用管家移除内置地图使用甲壳虫安装应用管家,打开无线ADB后,进入应用管家显示adb已连接 系统可写入 后,可使用强删、伪卸载等移除内置高德地图2)使用termux移除内置地图adb shell pm clear com.autonavi.amapauto;adb root;adb wait-for-device;adb remount;adb root;adb wait-for-device;adb remount;adb shell am force-stop com.autonavi.amapauto;adb shell am force-stop com.autonavi.amapauto;adb shell rm -rf /system/app/Navigation;adb shell rm -rf /system/app/Navigation;adb shell rm -rf /system/app/AutoMap;adb shell rm -rf /system/app/AutoMap;adb reboot4)任意安装地图上面移除内置地图之后就,后续安装地图就用甲壳虫就行了,注意先卸载在安装车机连接手机热点,开启无线ADB开关,甲壳虫安装地图{alert type="warning"}每次安装地图后必须进行清数据给权限启动 设置app ,进行清数据给权限{/alert}{message type="success" content="此步骤无风险"/}5)地图全屏、状态栏、导航栏显示安装应用管家后可以设置软件沉浸式使用甲壳虫命令可以设置软件全屏全屏沉浸:adb shell settings put global policy_control immersive.full=com.autonavi.amapauto沉浸状态栏:adb shell settings put global policy_control immersive.status=com.autonavi.amapauto沉浸导航栏:adb shell settings put global policy_control immersive.navigation=com.autonavi.amapauto清除上面的效果:adb shell settings put global policy_control null高德地图车机版8.1公众版不适配飞屏卡片若升级后高德地图8.1声音异常、无声、声音巨大先清空高德地图APP数据、给予权限,然后调整声道,高德声道第一个选10或11,第二个1,第七个1,第14个1,第17个1高德设置-播报图标连续点击10次-进入隐藏设置 https://www.bilibili.com/video/BV1GQApeEEgx/6)还原原厂7.1.7终极方法:{message type="success" content="此步骤安全"/}去4S刷回原车系统方法一: 安波福直装版(开发者努力){message type="success" content="此步骤无风险"/}在车机应用商店中卸载现有的高德地图使用应用管家直接安装7.1.7.1232原厂包、高德地图努力安波福7.1.7.1232原厂方法二: (开发者Desire)修改系统文件有风险,谨慎操作,风险自行承担!{message type="error" content="此步骤高风险,目前有两位车友黑屏车机故障,可能是操作错误,无法判定具体原因"/}1、车机安装应用管家1.5.6公签版(任意应用管家内文件下载选项内可进入下载)需授权ADB或ROOT权限。车机无法覆盖安装的话,使用手机甲壳虫覆盖安装(1) 1.5.6 网盘链接:https://www.123912.com/s/F1skjv-65BGd?提取码:1234(2) 应用管家截图(注意系统要显示可写入,不显示则无权限)(3) 若提示无权限可在《实验室》选项中提权并挂载为读写2、提取原版文件夹压缩并放入123网盘,使用U盘无需压缩(可在4038U盘刷机包,system.img 文件内提取)(1) 安波福123云盘链接:https://www.123912.com/s/F1skjv-czBGd?提取码:12343、使用应用管家的网络存储功能将123网盘挂载好,找到相应的地图压缩文件,下载,解压,应用管家下载解压后在Download文件夹内,(没挂载的先点添加)(1) 应用管家截图4、解压《7.1.7(安波福).zip》文件(1) 应用管家截图(2) 完成后将整个Automap 文件夹放入《根文件→system→app》文件夹内,此时发现文件夹内无文件,需要修改文件夹权限为313(第一列打三个√,第二列只有第一个打√,第三列打三个√,选择应用于子文件夹)5、重启车机,恢复7.1.7,无需清楚数据和权限,正常使用6、备注:需要删除《根文件→system→app》和《根文件→data→app》内高德的文件夹,注意不要删除错了。7)其他软件安装可使用调试模式 推送可使用甲壳虫 安装可使用应用管家 安装{lamp/}其他软件遮挡调整、高德地图升级调整、开机自启动亿连1、软件全屏1)使用应用管家设置沉浸式2)甲壳虫运行ADB命令软件名从甲壳虫查全屏沉浸: adb shell settings put global policy_control immersive.full=软件1,软件2 沉浸状态栏: adb shell settings put global policy_control immersive.status=软件1,软件2 沉浸导航栏: adb shell settings put global policy_control immersive.navigation=软件1,软件2 我们还可以单独控制哪些app不沉浸,例如以下代码设置google即时桌面不沉浸,其他程序沉浸: adb shell settings put global policy_control immersive.full=apps,-com.google.android.googlequicksearchbox 如果想恢复到正常模式,运行下面的代码: adb shell settings put global policy_control null2、亿连自动启动安装自动启动APK,使用ADB命令设置软件全屏,勾选亿连设置自动启动即可3、CarLife群里和网盘中有此应用,手机互联更快更稳定4、百度地图车机版32位32位版本不卡顿,只用来巡航,自动进入巡航,显示的红绿灯比高德多,能显示前面三个路口的红绿灯,非常好声道自己测试下网盘里32位百嘟地图20.10.2小迪悬浮(氢)车道级工程去更新32位原版https://opn.baidu.com/map/2024/carmapbaidux32?tpltype=1{lamp/}三、更多1、一部安卓手机实现服务器功能,直接给车机装无线ADB调试工具{message type="warning" content="此步骤可能有风险,不是高手别整"/}手机插SIM卡后开热点,车机连接热点,点击智慧手册即可 https://www.bilibili.com/video/BV14vk2Y9EzA/ 注意,手机root后失去保修,量力而行。 技术架构部署服务我使用的是红米note7pro,解锁BL安装面具magisk,注入boot,刷入,获取root权限tsu后成功获取root权限激活自带的Systemless Hosts模块下面文件均需root权限编辑sudo su修改hosts文件,劫持dzsms.gwm.com.cn请求路径 /data/adb/modules/hosts/system/etc/hostsIP为手机热点的IP,可以用其他手机连上看看网关我这里红米为192.168.43.1 dzsms.gwm.com.cn保存重启手机,面具会将这个hosts文件作为系统请求的hosts部署nginx服务,将需要的代码和脚本都放入指定手机中,使用root运行nginx测试安装nginxpkg install nginx无线ADB工具放置位置,命名为 3.0.apk/data/data/com.termux/files/usr/share/nginx/html/3.0.apkssl证书放置位置/data/data/com.termux/files/usr/etc/nginx/cert.pem/data/data/com.termux/files/usr/etc/nginx/key.pem配置文件/data/data/com.termux/files/usr/etc/nginx/nginx.confuser root; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on; server { listen 80; listen 443 ssl; server_name gwm.90apt.com; server_name dzsms.gwm.com.cn; server_name hzsms.gwm.com.cn; ssl_certificate /data/data/com.termux/files/usr/etc/nginx/cert.pem; ssl_certificate_key /data/data/com.termux/files/usr/etc/nginx/key.pem; ssl_prefer_server_ciphers on; ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_session_cache shared:SSL:5m; ssl_session_timeout 5m; keepalive_timeout 75s; keepalive_requests 100; root /data/data/com.termux/files/usr/share/nginx/html; gzip off; charset utf-8; location / { index index.html index.htm index.php; autoindex on; charset utf-8; } location /apiv2/car_apk_update { default_type application/json; return 200 '{ "code": 200, "message": "\u67e5\u8be2\u6210\u529f", "data": { "apk_version": "99999", "apk_url": "https://dzsms.gwm.com.cn/3.0.apk", "apk_msg": "90APT提供,不欢迎哈弗益达使用", "isUpdate": "Yes", "apk_forceUpdate": "Yes", "notice": { "vin_notice": [ "VIN码可以在仪表板左上方(前风挡玻璃后面)和车辆铭牌上获得。", "本应用适用于2019年及之后生产的车型。" ], "add_notice": [ "制造年月可通过车辆铭牌获得。", "本应用适用于2019年及之后生产的车型。" ] }, "notice_en": { "vin_notice": [ ], "add_notice": [ "The date can be obtained from the certification label." ] } } }'; }} # another virtual host using mix of IP-, name-, and port-based configuration # #server { # listen 8000; # listen somename:8080; # server_name somename alias another.alias; # location / { # root html; # index index.html index.htm; # } #} # HTTPS server # #server { # listen 443 ssl; # server_name localhost; # ssl_certificate cert.pem; # ssl_certificate_key cert.key; # ssl_session_cache shared:SSL:1m; # ssl_session_timeout 5m; # ssl_ciphers HIGH:!aNULL:!MD5; # ssl_prefer_server_ciphers on; # location / { # root html; # index index.html index.htm; # } #} } 使用root权限启动nginxsudo nginx此手机开启热点后,其他设备连接后访问https://dzsms.gwm.com.cn/ 能显示3.0.apk即为成功直接实战手机升级高德地图8.1长城三代哈弗H6哈弗大狗坦克300安波福华阳笔记本一键部署3.1DNS工程模式跑代码 https://www.bilibili.com/video/BV14vk2Y9EzA/2、原理解析https://www.bilibili.com/video/BV1eXCAYjEi5/ ADB在哪里在第三代哈弗H6车机中,ADB程序位于工程模式中,在2021、2022出厂的车固件中内置,2023年起移除;这个程序只有厂家有,我们可以从2023之前的系统中,用ADB工具将工程模式APP导出。完成第一项:获得ADB程序车机有没有对外请求数据由于没有了ADB程序,我们是无法安装工程模式到车机中的,这时候就需要利用哈弗车机的一个漏洞,即智能手册APP证书无验证漏洞。进入智能手册APP后,APP会向哈弗服务器一个URL发送请求,用来请求最新版本,让车机WIFI连接到我们的设备进行抓包,查看请求状态,智能手册APP会解析JSON格式的回复内容判断是否下载APK升级。完成第二项:获取一个系统漏洞怎么把ADB装进去我们参照官方服务器,自行搭建DNS和web服务器,让车机连到我们的DNS服务器上,进行请求的劫持,这样,我们自己的APP就会被以程序更新的方式发送到车机中进行安装。完成第三项:将ADB注入到车机中,重新取得ADB权限ADB安装软件开启无线ADB或使用有线ADB,都可以使用ADB工具进行软件安装,如安卓内置命令pm、电脑搞机工具箱、手机甲壳虫。3、高德地图车机版修改导航栏遮蔽https://www.bilibili.com/video/BV1Y2ApeDExW/ 1) MT管理器 去除签名校验2) 开发助手 查看布局3) 用Android Killer修改地图文件配置文件位置res\layout\main_map_view.xmlbackground_dark 框架层ui_surface UI层map_surface 地图层android:layout_marginLeft="100.0dip" 左侧避让100dipandroid:layout_marginTop="64.0dip" 上侧避让100dip例如左侧地图层规避、上侧元素层规避 <com.autonavi.amapauto.view.MapSurfaceViewEx android:id="@id/map_surface" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginLeft="100.0dip" /> <SurfaceView android:id="@id/ui_surface" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginLeft="100.0dip" android:layout_marginTop="64.0dip" />4) 使用MT管理器 重新签名4、把无线ADB软件移动到系统目录,还原不丢失termux中执行连接IP,写无线ADB开关里提示的IPadb connect IP地址查看当前连接的设备是否连接成功,成功后进行后续操作adb devices{message type="info" content="此步骤无风险,但可能移除后无线ADB软件就找不到了,此步骤可以不执行"/}termux中执行adb root;adb wait-for-device;adb remount;adb root;adb wait-for-device;adb remount;adb shell mv /data/app/com.example.xadb* /system/app/;adb shell mv /data/app/com.tencent.sotainstaller* /system/app/;adb shell pm path com.tencent.sotainstaller;adb shell pm path com.example.xadb{lamp/}四、小结OTA后新版本已足够完美,折腾的意义已经不大了
2025年05月09日
17,721 阅读
0 评论
209 点赞
2025-05-08
OceanBase OB原生分布式数据库V4社区版高可用部署、OCP云平台、OMS迁移服务部署zabbix6数据迁移、1Panel面板adminer web数据库管理工具、minio S3备份还原计划、集群扩容缩容、租户扩容缩容、ODC开发者中心、OBProxy集群keepalived高可用主备VIP部署、故障处理、不停机滚动升级
{alert type="info"}本文使用vSAN集群进行真实安装,密码均为随机生成,试验结束后销毁网段和集群;虽为模拟实验,但完全适用于真实生产环境;因为使用的虚拟机,所以硬盘分区无意义,仅一个根分区500G。{/alert}本文已加入 《OceanBase 4.x DBA 进阶教程》用户共建计划https://ask.oceanbase.com/t/topic/35617370/所有参与共建的用户,都会出现在 OceanBase 进阶教程电子书的致谢名单中,欢迎大家加入~一、OceanBase 社区版为现代数据架构打造的开源分布式数据库。兼容 MySQL 的单机分布式一体化国产开源数据库,具有原生分布式架构,支持金融级高可用、透明水平扩展、分布式事务、多租户和语法兼容等企业级特性。OceanBase 内核通过大规模商用场景的考验,已服务众多行业客户;面向未来携手生态伙伴,共建开源开放的数据库内核和生态。文档:https://www.oceanbase.com/docs{lamp/}二、OCP云平台部署OceanBase 云平台(OceanBase Cloud Platform,OCP)是一款为 OceanBase 集群量身打造的企业级管理平台,兼容 OceanBase 所有主流版本。OCP 提供对 OceanBase 图形化管理能力,包括数据库及相关资源的全生命周期管理、监控告警、性能诊断、故障恢复、备份恢复等,旨在协助客户更加高效地管理 OceanBase 数据库,降低企业的IT运维成本和用户的学习成本。https://www.oceanbase.com/docs/ocp1、主机规划本教程部署简化版集群 1ocp 1oms 2proxy 3zone6server 共10台主机,另外独立安装zabbix6和minioocp配置 16C 64G 500G其他主机配置 8C 32G 500G操作系统为anolis8,全部关闭防火墙tntocp 192.168.4.100 tntoms 192.168.4.101 tntproxy1 192.168.4.102 tntproxy2 192.168.4.103 tntob1-1 192.168.4.104 tntob1-2 192.168.4.105 tntob2-1 192.168.4.106 tntob2-2 192.168.4.107 tntob3-1 192.168.4.108 tntob3-2 192.168.4.109 tntzabbix6 192.168.4.110 tntminio 192.168.4.111 tntproxy 192.168.4.99 keepalived虚拟IP2、安装准备下载OceanBase社区版一键安装包 (OceanBase All in One)OceanBase 数据库一键离线安装包,包括 OceanBase 数据库和 OCP(自 V4.3.3 起包含)、obd、OBProxy、OBClient、OCP Express、Prometheus、Grafana,以及诊断和测试工具。https://www.oceanbase.com/softwarecenterOCP依赖仅支持 JDK1.8 版本,下载并安装 jre-8u441-linux-x64.rpmhttps://www.java.com/en/download/manual.jsp3、图形化部署OCP所有主机关闭防火墙systemctl stop firewalld && systemctl disable firewalld上传一键安装包至OCP主机、解压安装解压 tar zxf oceanbase-all-in-one-4.3.5_bp1_20250320.el8.x86_64.tar.gz启动obdcd oceanbase-all-in-one/bin source ~/.oceanbase-all-in-one/bin/env.sh obd web install生成网页安装URL进入 OCP 部署向导页面部署OCP云平台并创建全新数据库设置集群名称创建metaDB,我这里使用ocp主机单机部署metaDB,即OCP、数据库节点、OBProxy都是一台服务器OCP 资源规划为20台主机预检查无异常部署中,等待部署完成,记好账号密码{lamp/}三、OCP云平台使用1、登录OCP云平台http://192.168.4.100:8080看到OCP平台初始化失败查看异常为netstat: 未找到命令{message type="info" content="注意,所有OB主机都需要netstat,通过yum安装"/}yum install net-tools -y所有OB主机都需要netstat!全部安装一遍点击重启,执行成功OCP部署成功2、OCP操作流程添加主机-新建集群-创建租户-创建用户-创建OBProxy集群3、添加作为OBProxy集群和OBserver的主机192.168.4.102-109主机标准化分为OBProxy和OceanBase,等待标准化完成OBProxy标准化无异常但也需要修复一下,OceanBase标准化有8个异常,都需要修复修复检查透明大页 echo never > /sys/kernel/mm/transparent_hugepage/enabled 生效 chmod +x /etc/rc.d/rc.local 添加到开机启动 vi /etc/rc.d/rc.local echo never > /sys/kernel/mm/transparent_hugepage/enabled 安装python2.7 yum install python2 -y 禁用swap分区 swapoff -a 删除swap分区 /etc/fstab 安装软件 yum -y install net-tools mtr tar binutils bind-utils curl nc iproute 添加admin用户 groupadd -g 500 admin useradd -m -u 500 -g 500 -s /bin/bash admin id admin 关闭selinux 检查ulimit信息 /etc/security/limits.d/99-oceanbase_limits.conf root soft nofile 655350 root hard nofile 655350 admin soft nofile 655350 admin hard nofile 655350 admin soft stack 10240 admin hard stack 10240 admin soft nproc 655360 admin hard nproc 655360 admin soft core unlimited admin hard core unlimited 检查 clocksource 信息 echo tsc > /sys/devices/system/clocksource/clocksource0/current_clocksource 时间同步 调整端口范围,保留端口 sudo sysctl net.ipv4.ip_local_port_range vi /etc/sysctl.conf net.ipv4.ip_local_port_range = 3500 65535 net.ipv4.ip_local_reserved_ports = 62881-63881 生效 sudo sysctl -p python2软连接到python sudo ln -sf /usr/bin/python2 /usr/bin/python 创建软件目录 mkdir /data/log1 -p mkdir /data/1 -p 重新检查,修复完成4、新建集群新建tntob集群,3zone,每zone 2台主机,由于是实验集群,我没有开启cgroup创建中安装完成5、创建租户创建zabbix6租户Unit规格选择S1并允许所有IP访问创建完成6、创建用户在zabbix6租户中创建用户zabbixdb,先不用创建数据库,一会直接导入一个数据库7、创建OBProxy集群创建tntproxy集群,加入102、103两台主机{message type="info" content="注意:102、103都可以访问集群,而访问地址,一般指的是负载均衡设备的VIP地址,暂不讨论,这里访问地址先填写102"/}创建完成连接到tntob集群8、连接测试使用adminer登陆测试一下连接参数 mysql -h192.168.4.102 -P2883 -uroot@zabbix6#tntob -p登录成功OceanBase分布式数据库集群部署完毕{lamp/}四、OMS迁移服务部署zabbix6数据迁移OMS文档https://www.oceanbase.com/docs/oms-cn1、创建oms租户创建oms租户作为OMS迁移服务的元数据库,需要使用租户的root用户2、安装OMS迁移服务下载软件包 oms_4.2.8-ce.tar.gz 上传到tntoms主机https://www.oceanbase.com/softwarecenter安装dockeryum install -y yum-utils #阿里云加速源 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo yum install docker-ce docker-ce-cli containerd.io启动dockersystemctl enable --now docker导入镜像docker load -i oms_4.2.8-ce.tar.gz查看镜像名docker images REPOSITORY TAG IMAGE ID CREATED SIZE reg.docker.alibaba-inc.com/oceanbase/oms feature_4.2.8_ce d56598287295 7 weeks ago 10.9GB 获取部署脚本sudo docker run -d --net host --name oms-config-tool reg.docker.alibaba-inc.com/oceanbase/oms:feature_4.2.8_ce bash && sudo docker cp oms-config-tool:/root/docker_remote_deploy.sh . && sudo docker rm -f oms-config-tool 启动部署mkdir /oms bash docker_remote_deploy.sh -o /oms -i 192.168.4.101 -d reg.docker.alibaba-inc.com/oceanbase/oms:feature_4.2.8_ce 安装中 ****CPU**** CPU_Name(System_Name): Intel(R) Xeon(R) Silver 4309Y CPU @ 2.80GHz Total_physical_CPU: 8 Total_core_num: 8 *****Memory****** Total_Mem: 32915048 KB Total_Mem: 31 G *****Disk****** Total_disk_avail: 954 G 提示:输入 <Control-C> 可退出部署 请选择部署模式: ●单地域单节点 单地域多节点 多地域 您选择的部署模式是:单地域单节点部署模式 请选择您所需要进行的任务: ●无配置文件,全新部署 OMS,从生成配置文件开始 已通过脚本[-c]选项传入参考配置文件,基于参考配置文件开始配置 开始配置元信息库,可以是 MySQL 或 OceanBase 数据库 MySQL 租户 (元信息库用于存储 OMS 运行时元数据信息) 请输入元信息数据库 IP:192.168.4.102 请输入元信息数据库端口:2883 请输入元信息数据库用户名:root@oms#tntob 请输入元信息数据库密码:*********************** 请为 OMS 元数据库设置前缀 (示例:当前缀设置为 oms 时,最终库名分别为 oms_rm/oms_cm/oms_cm_hb): 您的元信息库配置如下: { "drc_cm_db": "_cm", "drc_cm_heartbeat_db": "_cm_hb", "drc_rm_db": "_rm", "init_db": "true", "oms_meta_host": "192.168.4.102", "oms_meta_password": "9cb;CcrN1C3f,Xlub)rx{(#", "oms_meta_port": "2883", "oms_meta_user": "root@oms#tntob" } [y/n] 请确认配置信息[y]y 您选择的部署模式为单地域单节点部署模式 [y/n] 是否自定义组件端口号,并配置相关参数?[n]n [y/n] 获取到您的默认 IP 地址:192.168.4.101,请确认是否需要更改?[n]n 您的 OMS 集群配置如下: { "cm_is_default": true, "cm_location": 0, "cm_nodes": [ "192.168.4.101" ], "cm_region": "default", "cm_region_cn": "默认地域", "cm_server_port": "8088", "cm_url": "http://192.168.4.101:8088", "ghana_server_port": "8090", "nginx_server_port": "8089", "sshd_server_port": "2023", "supervisor_server_port": "9000" } [y/n] 请确认配置信息[y]y [y/n] 您是否需要对 OMS 历史数据进行监控?[n]n [y/n] 是否需要开启 OMS 审计日志功能,并将审计日志写入 SLS 服务?[n]n 已加载您的所有配置项,并校验通过。 您的配置如下: { "apsara_audit_enable": "false", "apsara_audit_sls_access_key": "", "apsara_audit_sls_access_secret": "", "apsara_audit_sls_endpoint": "", "apsara_audit_sls_ops_site_topic": "", "apsara_audit_sls_user_site_topic": "", "cm_is_default": true, "cm_location": "0", "cm_nodes": [ "192.168.4.101" ], "cm_region": "default", "cm_region_cn": "默认地域", "cm_server_port": "8088", "cm_url": "http://192.168.4.101:8088", "drc_cm_db": "_cm", "drc_cm_heartbeat_db": "_cm_hb", "drc_rm_db": "_rm", "ghana_server_port": "8090", "init_db": "true", "nginx_server_port": "8089", "oms_meta_host": "192.168.4.102", "oms_meta_password": "9cb;CcrN1C3f,Xlub)rx{(#", "oms_meta_port": "2883", "oms_meta_user": "root@oms#tntob", "sshd_server_port": "2023", "supervisor_server_port": "9000", "tsdb_enabled": "false", "tsdb_password": "", "tsdb_service": "", "tsdb_url": "", "tsdb_username": "" } [y/n] 您是否需要重新配置?[n]n 您是需要在当前执行的机器上 接下来 OMS 需要在节点 ['192.168.4.101'] 上依次执行部署脚本。 请输入节点 192.168.4.101 上预备部署 OMS 的挂载目录:[/oms/]/oms/ 请您确认以下内容: [y/n] 部署 OMS 的 [镜像名/IMAGE-ID] 是:reg.docker.alibaba-inc.com/oceanbase/oms:feature_4.2.8_ce ,请确认是否正确。[y]y [y/n] 是否需要在 OMS 容器中挂载 HTTPS 证书?[n]n [y/n] 192.168.4.101 节点下的配置文件 config.yaml 将写在这个路径:/oms/ 下可以吗?[y]y ....... -------------------------------------------------------------------------------- # 【结束】全部初始化步骤执行成功 -------------------------------------------------------------------------------- 登录控制台,首次登陆设置密码http://192.168.4.101:8089/3、zabbix6安装查看王工zabbix6文章快速部署,部署完成后迁移到OceanBase集群https://90apt.com/2982安装完成4、导出zabbix6数据库结构使用adminer导出数据库结构,不包括数据adminer安装见后面1Panel部分使用adminer导入到zabbix租户中5、OMS全量迁移在OCP中给zabbixuser用户赋予zabbix数据库全部权限添加双方数据源配置迁移任务启动任务迁移完成,进行切换6、zabbix6切换数据库,重启服务、查看日志配置文件修改/etc/zabbix/web/zabbix.conf.php<?php // Zabbix GUI configuration file. $DB['TYPE'] = 'MYSQL'; $DB['SERVER'] = '192.168.4.102'; $DB['PORT'] = '2883'; $DB['DATABASE'] = 'zabbix'; $DB['USER'] = 'zabbixuser@zabbix6#tntob'; $DB['PASSWORD'] = 'r*h(c^rLst8F'; /etc/zabbix/zabbix_server.confDBHost=192.168.4.102 DBName=zabbix DBUser=zabbixuser@zabbix6#tntob DBPassword=r*h(c^rLst8F DBPort=2883重启zabbix服务 systemctl restart zabbix-server查看日志是否有异常/var/log/zabbix/zabbix_server.logUnable to start Zabbix server due to unsupported MySQL database version (5.06.25).修改OBPorxy数据版本,修改为8.0.0再次重启zabbix服务查看日志,无异常zabbix功能正常,采集正常{lamp/}五、1Panel面板minio S3备份还原计划1、安装docker安装dockeryum install -y yum-utils #阿里云加速源 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo yum install docker-ce docker-ce-cli containerd.io启动dockersystemctl enable --now docker2、安装1Panel面板curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sh quick_start.sh安装adminer web数据库管理工具支持MySQL、MariaDB、 SQLite、PostgreSQL、Oracle (beta)、MS SQL3、安装minio,配置S3存储登录1Panel面板安装minio登录minio创建Bucket创建Access Keys4、配置备份计划创建zabbix6租户备份策略存储目录为Bucket名称访问域名为API的URL http://192.168.4.111:9000在填入AK、SK,点击测试即可立即备份备份完成5、进行还原测试误删数据库由于王工上年纪老眼昏花,不小心删除了zabbix数据库,不稳啦!zabbix崩溃进行租户恢复恢复完成创建了新的租户,将原租户改名,新租户改为原来的名,这样业务就不用动了业务恢复了,王工又稳啦!{lamp/}六、集群、租户扩缩容1、集群扩容添加主机-集群管理-添加OBServer、新增Zone添加主机OCP云平台-主机-添加主机主机还是要按之前标准化进行环境修复,修复好再添加再次进行标准化OCP云平台-集群-概览-添加OBServer一段时间后部署模式变为集群 (3-3-3)新增Zone与之相同2、集群缩容https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000002013120删除OBServer时自动进行Unit迁出完成缩容我这边删除114 115 116三台主机批量删除删除中缩容完成3、租户扩容进入租户修改UnitOCP云平台-租户-概览-修改Unit如,将配置修改为S2,Unit修改为2扩容成功4、租户缩容如,将配置修改为S1,Unit修改为1缩容完成{lamp/}七、ODC开发者中心OceanBase 开发者中心(OceanBase Developer Center,ODC)是开源的企业级数据库协同开发工具,有桌面版、Web 版两种产品形态。 ODC Web 版提供了个人空间和团队空间两种工作模式。个人空间适合个人开发者使用,为您在浏览器端提供桌面版的体验;团队空间适合开发者和 DBA 协同使用,既是开发工具也是管控协同平台。 ODC 的代码维护在 Github,单击查看详情,加入 ODC 开源社区,一起创造 开发者和 DBA 喜爱的数据库协同开发工具。https://www.oceanbase.com/docs/odc{message type="info" content="注意:按官方教程你很可能装不上,还是看我的吧"/}1、下载OceanBase 开发者中心web镜像上传到OMS主机,我将ODC安装在OMS主机,ODC为docker镜像https://www.oceanbase.com/softwarecenter2、为ODC创建一个mysql租户并创建一个数据库创建tntodc租户 tntodc数据库 root用户{message type="info" content="注意:数据库用户我测试用普通用户无法部署ODC,需要root用户"/}3、加载镜像gunzip -c obodc4.3.3-bp2.tar.gz | docker load查看镜像docker images REPOSITORY TAG IMAGE ID CREATED SIZE reg.docker.alibaba-inc.com/oceanbase/oms feature_4.2.8_ce d56598287295 7 weeks ago 10.9GB oceanbase/odc 4.3.3_bp2 98a74ab3fbe1 7 weeks ago 1.75GB 4、创建安装脚本odcinstall.sh#!/usr/bin/env bash mkdir -p /tntodc/log/odc mkdir -p /tntodc/data/odc docker run -v /tntodc/log/odc:/opt/odc/log -v /tntodc/data/odc:/opt/odc/data \ -d -i -p 8989:8989 --cpu-period 100000 --cpu-quota 400000 --memory 8G --name "obodc" \ -e "DATABASE_HOST=192.168.4.102" \ -e "DATABASE_PORT=2883" \ -e "DATABASE_USERNAME=root@tntodc#tntob" \ -e "DATABASE_PASSWORD=78ABcd##123" \ -e "DATABASE_NAME=tntodc" \ -e "ODC_ADMIN_INITIAL_PASSWORD=78ABcd##123" \ oceanbase/odc:4.3.3_bp2 注意Shell 环境下,字符串中包含 !、$ 等特殊字符时,变量值需要使用单引号。例如:DATABASE_PASSWORD='11111!'。参数 ODC_ADMIN_INITIAL_PASSWORD 用于指定 ODC 管理员账号的初始密码。设置的初始密码需要须满足以下条件:至少 2 个数字。至少 2 个大写字母。至少 2 个小写字母。至少 2 个特殊字符,特殊字符的范围为 ._+@#$%。不包含空格和其他特殊字符,长度为 8-32。{lamp/}5、安装bash odcinstall.sh6、登录成功八、OBProxy集群keepalived高可用主备VIP部署keepalived介绍请看王工其他文章1、安装keepalived两台OBProxy主机分别安装keepalivedyum install -y keepalived2、配置keepalived两台OBProxy主机分别创建Proxy存活检测脚本vi /etc/keepalived/check_obproxy.sh#!/bin/bash # 检查2883端口是否有监听 if ss -tuln | grep -q ':2883\b'; then exit 0 # 检测成功,返回0 else exit 1 # 检测失败,返回1 fitntproxy1配置执行权限chmod +x /etc/keepalived/check_obproxy.sh配置文件vi /etc/keepalived/keepalived.conf! Configuration File for keepalived global_defs { router_id keepalived1 #只是名字而已,辅节点改为keepalived2(两个名字一定不能一样) } vrrp_script check_obproxy { script "/etc/keepalived/check_obproxy.sh" interval 2 #每2秒执行一次 } vrrp_instance VI_1 { state MASTER #定义主还是备,备用的话写backup interface ens192 #VIP绑定接口 virtual_router_id 66 #整个集群的调度器一致(在同一个集群) priority 100 #(优先权)back改为50(50一间隔) advert_int 1 #发包 authentication { auth_type PASS #主备节点认证 auth_pass 1111 } unicast_src_ip 192.168.4.102 #本机ip unicast_peer { 192.168.4.103 #其他机器ip,可多个 } virtual_ipaddress { 192.168.4.99/24 #VIP(自己网段的) } track_script { check_obproxy } }tntproxy2配置执行权限chmod +x /etc/keepalived/check_obproxy.sh配置文件vi /etc/keepalived/keepalived.conf! Configuration File for keepalived global_defs { router_id keepalived2 } vrrp_script check_obproxy { script "/etc/keepalived/check_obproxy.sh" interval 2 #每2秒执行一次 } vrrp_instance VI_1 { state BACKUP #设置为backup interface ens192 nopreempt #设置到back上面,不抢占资源 virtual_router_id 66 priority 50 #辅助改为50 advert_int 1 #检测间隔1s authentication { auth_type PASS auth_pass 1111 #认证类型和密码主备一样,要不然无法互相认证 } unicast_src_ip 192.168.4.103 #本机ip unicast_peer { 192.168.4.102 #其他机器ip,可多个 } virtual_ipaddress { 192.168.4.99/24 #抢占的VIP也一样 } track_script { check_obproxy } }3、启动服务systemctl enable --now keepalived4、高可用测试将zabbix数据库指向VIP,连续ping 192.168.4.99,并查看zabbix服务状态obproxy1关机,查看ping和zabbix状态正常,业务几乎无感来自 192.168.4.99 的回复: 字节=32 时间=15ms TTL=63 来自 192.168.4.99 的回复: 字节=32 时间=21ms TTL=63 来自 192.168.4.99 的回复: 字节=32 时间=28ms TTL=63 来自 192.168.4.99 的回复: 字节=32 时间=2ms TTL=63 来自 192.168.4.99 的回复: 字节=32 时间=49ms TTL=63 来自 192.168.4.99 的回复: 字节=32 时间=1ms TTL=63obproxy2获得VIPinet 192.168.4.103/24 brd 192.168.4.255 scope global noprefixroute ens192 valid_lft forever preferred_lft forever inet 192.168.4.99/24 scope global secondary ens192 valid_lft forever preferred_lft forever obproxy1开机,obproxy服务启动成功后,自动抢回VIP inet 192.168.4.102/24 brd 192.168.4.255 scope global noprefixroute ens192 valid_lft forever preferred_lft forever inet 192.168.4.99/24 scope global secondary ens192 valid_lft forever preferred_lft forever 5、测试结论高可用正常,VIP正常九、故障处理1、任意一台OBServer主机故障关机1台OBServer主机,集群无影响,一段时间后Zone内另一台主机接管此OBServer功能开机此OBServer,一段时间后集群自动修复此主机并上线2、{lamp/}十、不停机滚动升级V4.3.5_CE_BP1_HF1版本信息发布时间:2025 年 04 月 30 日下载数据库rpm安装包oceanbase-ce-4.3.5.1-101010042025042417.el8.x86_64.rpmhttps://www.oceanbase.com/softwarecenter登录OCP平台,进入集群,升级版本上传安装包升级路经确认提示 集群升级缺少社区版依赖包:[oceanbase-ce-utils-4.3.5.1-101010042025042417.x86_64, oceanbase-ce-libs-4.3.5.1-101010042025042417.x86_64]下载并上传oceanbase-ce-libs-4.3.5.1-101010042025042417.el8.x86_64.rpmoceanbase-ce-utils-4.3.5.1-101010042025042417.el8.x86_64.rpm升级中升级前版本升级中如果出现任务失败,根据情况可点击重试,我点了四五次就完成了升级后版本,升级完成,升级过程中业务无感知{lamp/}十一、总结太强了
2025年05月08日
349 阅读
0 评论
5 点赞
2025-05-07
Zabbix7 keepalived VIP高可用部署 对接 OceanBase高可用集群
{alert type="info"}文中密码均为随机生成,网段和主机实验完成后删除{/alert}一、方案规划Anolis8系统192.168.4.50 tntzabbix7虚拟地址 192.168.4.51 tntzabbix7-01 192.168.4.52 tntzabbix7-02 192.168.4.99 oceanbase高可用VIP数据库oceanbase高可用数据库集群见其他文章,为zabbix7创建数据库https://90apt.com/5580二、数据库准备创建zabbix7租户,创建zabbix7用户和数据库,utf8mb4_bin编码mysql -h192.168.4.99 -P2883 -uzabbix7@zabbix7#tntob -p Aq1[R!KM3%,|{sJ?UJ5;u]数据库具备VIP高可用能力三、安装zabbix1、准备主机准备两台主机,关闭防火墙systemctl stop firewalld && systemctl disable firewalld2、安装zabbix两台主机均安装rpm -Uvh https://repo.zabbix.com/zabbix/7.0/alma/8/x86_64/zabbix-release-latest-7.0.el8.noarch.rpm dnf clean all dnf module list php dnf module reset php dnf module install php:8.0 dnf install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent2 dnf install zabbix-agent2-plugin-mongodb zabbix-agent2-plugin-mssql zabbix-agent2-plugin-postgresql01主机导入数据库先给予zabbix7用户权限,主要是为了给他触发器权限登录zabbix7租户的root用户 yum install mysql mysql -h192.168.4.99 -P2883 -uroot@zabbix7#tntob -p mysql> grant all privileges on zabbix7.* to zabbix7@"%"; Query OK, 0 rows affected (0.15 sec)修改租户的ob_query_timeout参数,防止导入超时ob_query_timeout 100000000再导入数据库zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -h192.168.4.99 -P2883 -uzabbix7@zabbix7#tntob -p zabbix7无报错就是导入成功为Zabbix server配置数据库编辑配置文件 /etc/zabbix/zabbix_server.confDBHost=192.168.4.99 DBName=zabbix7 DBUser=zabbix7@zabbix7#tntob DBPassword=Aq1[R!KM3%,|{sJ?UJ5;u] DBPort=2883 HANodeName=tntzabbix7-01 NodeAddress=192.168.4.51:10051配置默认端口和主机名/etc/nginx/conf.d/zabbix.conflisten 8080;启动Zabbix server和agent进程,并为它们设置开机自启systemctl restart zabbix-server zabbix-agent2 nginx php-fpm systemctl enable zabbix-server zabbix-agent2 nginx php-fpm查看日志是否有异常cat /var/log/zabbix/zabbix_server.log数据库提示 Unable to start Zabbix server due to unsupported MySQL database version (8.00.00). Must be at least (8.00.30).修改Oceanbase数据库将版本改为8.0.30 重启服务再次查看日志正常systemctl restart zabbix-server zabbix-agent2 nginx php-fpm cat /var/log/zabbix/zabbix_server.log02主机为Zabbix server配置数据库编辑配置文件 /etc/zabbix/zabbix_server.confDBHost=192.168.4.99 DBName=zabbix7 DBUser=zabbix7@zabbix7#tntob DBPassword=Aq1[R!KM3%,|{sJ?UJ5;u] DBPort=2883 HANodeName=tntzabbix7-02 NodeAddress=192.168.4.52:10051配置默认端口和主机名/etc/nginx/conf.d/zabbix.conflisten 8080;启动Zabbix server和agent进程,并为它们设置开机自启systemctl restart zabbix-server zabbix-agent2 nginx php-fpm systemctl enable zabbix-server zabbix-agent2 nginx php-fpm查看日志是否有异常cat /var/log/zabbix/zabbix_server.log无异常"tntzabbix7-02" node started in "standby" mode3、配置zabbix配置01主机http://192.168.4.51:8080/数据库连接主机名和时区默认账号密码为Admin zabbix配置02主机http://192.168.4.52:8080/与01主机相同,只有主机名不同两台主机的状态四、keepalived高可用部署zabbix高可用切换时,备用主机10051端口关闭,可以利用此端口配置keepalived配置01主机安装keealivedyum install -y keepalived编写zabbix高可用检测脚本vi /etc/keepalived/check_zabbix.sh#!/bin/bash # 检查10051端口是否有监听 if ss -tuln | grep -q ':10051\b'; then exit 0 # 检测成功,返回0 else exit 1 # 检测失败,返回1 fi执行权限chmod +x /etc/keepalived/check_zabbix.sh编辑配置文件vi /etc/keepalived/keepalived.conf! Configuration File for keepalived global_defs { router_id keepalived1 #只是名字而已,辅节点改为keepalived2(两个名字一定不能一样) } vrrp_script check_zabbix { script "/etc/keepalived/check_zabbix.sh" interval 2 #每2秒执行一次 } vrrp_instance VI_1 { state MASTER #定义主还是备,备用的话写backup interface ens192 #VIP绑定接口 virtual_router_id 66 #整个集群的调度器一致(在同一个集群) priority 100 #(优先权)back改为50(50一间隔) advert_int 1 #发包 authentication { auth_type PASS #主备节点认证 auth_pass 1111 } unicast_src_ip 192.168.4.51 #本机ip unicast_peer { 192.168.4.52 #其他机器ip,可多个 } virtual_ipaddress { 192.168.4.50/24 #VIP(自己网段的) } track_script { check_zabbix } }启动服务systemctl enable --now keepalived配置02主机安装keealivedyum install -y keepalived编写zabbix高可用检测脚本vi /etc/keepalived/check_zabbix.sh#!/bin/bash # 检查10051端口是否有监听 if ss -tuln | grep -q ':10051\b'; then exit 0 # 检测成功,返回0 else exit 1 # 检测失败,返回1 fi执行权限chmod +x /etc/keepalived/check_zabbix.sh编辑配置文件vi /etc/keepalived/keepalived.conf! Configuration File for keepalived global_defs { router_id keepalived2 } vrrp_script check_zabbix { script "/etc/keepalived/check_zabbix.sh" interval 2 #每2秒执行一次 } vrrp_instance VI_1 { state BACKUP #设置为backup interface ens192 nopreempt #设置到back上面,不抢占资源 virtual_router_id 66 priority 50 #辅助改为50 advert_int 1 #检测间隔1s authentication { auth_type PASS auth_pass 1111 #认证类型和密码主备一样,要不然无法互相认证 } unicast_src_ip 192.168.4.52 #本机ip unicast_peer { 192.168.4.51 #其他机器ip,可多个 } virtual_ipaddress { 192.168.4.50/24 #抢占的VIP也一样 } track_script { check_zabbix } }启动服务systemctl enable --now keepalived五、高可用测试登录http://192.168.4.50:8080/显示为tntzabbix7-02tntzabbix7-02重启,刷新网页,切换为zabbix7-01zabbix7-01关闭zabbix服务[root@tntzabbix7-01 ~]# systemctl stop zabbix-server刷新网页,切换为tntzabbix7-02启动zabbix7-01服务后并不会主动切回01[root@tntzabbix7-01 ~]# systemctl start zabbix-serverzabbix7-02关闭zabbix服务[root@tntzabbix7-02 ~]# systemctl stop zabbix-server 刷新网页,切换为tntzabbix7-01测试结论高可用能力正常,满足需求。六、其他其他配置可查看我的zabbix6文章https://90apt.com/search/zabbix6/七、小结爽
2025年05月07日
178 阅读
0 评论
1 点赞
2025-05-07
ThinkSystem SR860 RAID1 硬盘故障更换
zabbix告警项目:VMware: 总体状况取值:red (3)等级:严重状态:PROBLEM线下查看硬盘故障,伴有咔咔声登录BMC查看告警硬盘1无法识别了热插拔更换硬盘告警恢复等待整列同步完即可四小时后同步完成,故障消除
2025年05月07日
38 阅读
0 评论
0 点赞
2025-04-30
keepalived 高可用主备VIP快速部署
IP规划192.168.4.20 VIP虚拟地址 192.168.4.21 keepalived1 192.168.4.22 keepalived2网卡为 ens192系统为Anolis8 龙蜥8关闭防火墙systemctl stop firewalld && systemctl disable firewalldkeepalived默认使用112端口{lamp/}软件安装主机1192.168.4.21 keepalived1安装yum install -y keepalived配置文件备份cp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak 编辑vi /etc/keepalived/keepalived.conf ! Configuration File for keepalived global_defs { router_id keepalived1 #只是名字而已,辅节点改为keepalived2(两个名字一定不能一样) } vrrp_instance VI_1 { state MASTER #定义主还是备,备用的话写backup interface ens192 #VIP绑定接口 virtual_router_id 66 #整个集群的调度器一致(在同一个集群) priority 100 #(优先权)back改为50(50一间隔) advert_int 1 #发包 authentication { auth_type PASS #主备节点认证 auth_pass 1111 } virtual_ipaddress { 192.168.4.20/24 #VIP(自己网段的) } }主机2192.168.4.22 keepalived2安装软件yum install -y keepalived配置文件备份cp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak编辑vi /etc/keepalived/keepalived.conf! Configuration File for keepalived global_defs { router_id keepalived2 } vrrp_instance VI_1 { state BACKUP #设置为backup interface ens192 nopreempt #设置到back上面,不抢占资源 virtual_router_id 66 priority 50 #辅助改为50 advert_int 1 #检测间隔1s authentication { auth_type PASS auth_pass 1111 #认证类型和密码主备一样,要不然无法互相认证 } virtual_ipaddress { 192.168.4.20/24 #抢占的VIP也一样 } }启动服务systemctl enable --now keepalived重启主机1,VIP自动漂移到主机2,启动主机1,VIP漂回来{lamp/}配置业务在两台主机上安装nginxyum install nginx -y systemctl enable --now nginx两台主机显示不同网页主机1echo "keepalived1 nginx" > /usr/share/nginx/html/index.html主机2echo "keepalived2 nginx" > /usr/share/nginx/html/index.html两台主机访问nginx业务正常{lamp/}配置nginx高可用检测两台主机均编写脚本vi /etc/keepalived/check_nginx.sh通过端口监听判断业务是否正常,几乎适用于所有业务,如MQ、nginx、OBProxy等等#!/bin/bash # 检查80端口是否有监听 if ss -tuln | grep -q ':80\b'; then exit 0 # 检测成功,返回0 else exit 1 # 检测失败,返回1 fi配置keepalived1192.168.4.21 keepalived1执行权限chmod +x /etc/keepalived/check_nginx.sh编辑配置文件vi /etc/keepalived/keepalived.conf! Configuration File for keepalived global_defs { router_id keepalived1 #只是名字而已,辅节点改为keepalived2(两个名字一定不能一样) } vrrp_script check_nginx { script "/etc/keepalived/check_nginx.sh" interval 2 #每2秒执行一次 } vrrp_instance VI_1 { state MASTER #定义主还是备,备用的话写backup interface ens192 #VIP绑定接口 virtual_router_id 66 #整个集群的调度器一致(在同一个集群) priority 100 #(优先权)back改为50(50一间隔) advert_int 1 #发包 authentication { auth_type PASS #主备节点认证 auth_pass 1111 } virtual_ipaddress { 192.168.4.20/24 #VIP(自己网段的) } track_script { check_nginx } }配置keepalived2192.168.4.22 keepalived2执行权限chmod +x /etc/keepalived/check_nginx.sh编辑配置文件vi /etc/keepalived/keepalived.conf! Configuration File for keepalived global_defs { router_id keepalived2 } vrrp_script check_nginx { script "/etc/keepalived/check_nginx.sh" interval 2 #每2秒执行一次 } vrrp_instance VI_1 { state BACKUP #设置为backup interface ens192 nopreempt #设置到back上面,不抢占资源 virtual_router_id 66 priority 50 #辅助改为50 advert_int 1 #检测间隔1s authentication { auth_type PASS auth_pass 1111 #认证类型和密码主备一样,要不然无法互相认证 } virtual_ipaddress { 192.168.4.20/24 #抢占的VIP也一样 } track_script { check_nginx } }改完配置文件两台主机都需要重启keepalived服务关闭主机1的nginx服务,VIP自动漂移到主机2,启动主机1的nginx服务,VIP漂回来{lamp/}配置为单播,抵御脑裂配置keepalived1192.168.4.21 keepalived1编辑配置文件vi /etc/keepalived/keepalived.conf! Configuration File for keepalived global_defs { router_id keepalived1 #只是名字而已,辅节点改为keepalived2(两个名字一定不能一样) } vrrp_script check_nginx { script "/etc/keepalived/check_nginx.sh" interval 2 #每2秒执行一次 } vrrp_instance VI_1 { state MASTER #定义主还是备,备用的话写backup interface ens192 #VIP绑定接口 virtual_router_id 66 #整个集群的调度器一致(在同一个集群) priority 100 #(优先权)back改为50(50一间隔) advert_int 1 #发包 authentication { auth_type PASS #主备节点认证 auth_pass 1111 } unicast_src_ip 192.168.4.21 #本机ip unicast_peer { 192.168.4.22 #其他机器ip,可多个 } virtual_ipaddress { 192.168.4.20/24 #VIP(自己网段的) } track_script { check_nginx } }配置keepalived2192.168.4.22 keepalived2编辑配置文件vi /etc/keepalived/keepalived.conf! Configuration File for keepalived global_defs { router_id keepalived2 } vrrp_script check_nginx { script "/etc/keepalived/check_nginx.sh" interval 2 #每2秒执行一次 } vrrp_instance VI_1 { state BACKUP #设置为backup interface ens192 nopreempt #设置到back上面,不抢占资源 virtual_router_id 66 priority 50 #辅助改为50 advert_int 1 #检测间隔1s authentication { auth_type PASS auth_pass 1111 #认证类型和密码主备一样,要不然无法互相认证 } unicast_src_ip 192.168.4.22 #本机ip unicast_peer { 192.168.4.21 #其他机器ip,可多个 } virtual_ipaddress { 192.168.4.20/24 #抢占的VIP也一样 } track_script { check_nginx } }改完配置文件两台主机都需要重启keepalived服务{lamp/}总结简单好用!
2025年04月30日
61 阅读
0 评论
0 点赞
2025-04-30
家用wifi6路由器推荐
编写中。。。
2025年04月30日
70 阅读
0 评论
0 点赞
1
2
...
24