第一阶段补充知识
目录
书写脚本使用的相关知识?
备份和冗灾的区别?什么叫DD备份,什么叫DD冗灾?
关于Linux系统优化以及Linux的安全加固?
系统优化
硬件系统优化:
内核参数优化:
网络性能优化:
进程管理和调度优化:
优化多线程/多进程设计,减少不必要的上下人切换安全加固
系统初始化脚本: 换源 关闭防火墙 关闭Selinux 安装常用软件vim,wget,net-tools...
软件安装脚本: 通过调用yum install 命令 结合read 读取用户输入的软件名,进行软件的安装
数据备份脚本: 通过使用xtrabackup对MySQL数据进行备份
日志定时清除脚本: 通过find命令,查找日期大于7天的日志,并使用-exec对查找到的文件进行删除,结合cron进行循环执行
监控脚本:通过监控磁盘内存剩余量,来对系统性能进行监控,当磁盘和内存剩余量过低时,发送报警邮件
书写脚本使用的相关知识?
流程控制: if判断 case判断 for循环 while循环 while read循环读取文件内容
变量: 自定义变量,变量的默认值,变量的切片
数组: 使用关联数组统计用户数量,使用数组存储功能,结合循环进行输出
备份和冗灾的区别?什么叫DD备份,什么叫DD冗灾?
冗余(Redundancy)
指系统或组件中存在多余、重复的元素,用于提高系统的可用性和容错能力。冗余的目的是主动防止故障,通过多重设计确保系统在部分组件失效时仍能正常运行。
关键点:冗余是主动的,通过并行设计实现。备份(Backup)
指对数据或系统状态的复制和存储,用于在故障或灾难发生后恢复。备份的目的是事后恢复,通过存储副本确保数据或系统可还原到某个时间点。
关键点:备份是被动的,通过存储副本实现。
异地容灾和异地备份的区别
1. 定义与核心差异
异地容灾(Disaster Recovery, DR)
指在远离主数据中心的地理位置部署完整的业务运行环境,包括硬件、软件、网络和人员,用于在主数据中心发生灾难性故障时,快速接管业务,确保业务连续性。
核心:业务接管能力,强调实时或近实时的故障切换。异地备份(Off-site Backup)
指将数据或系统状态复制并存储在远离主站点的位置,用于在数据丢失或损坏时,恢复数据到某个时间点。
核心:数据恢复能力,强调数据完整性和可恢复性。2. 应用场景与实现方式
维度 异地容灾 异地备份
应用场景 关键业务系统(如金融交易、医疗系统)、数据中心级灾难恢复 数据保护(如数据库、文件系统)、合规性要求(如GDPR)
实现方式 冷备(备用设施)、温备(部分预配置)、热备(实时同步,可快速切换) 磁带备份、云存储、异地数据中心存储
技术重点 数据同步(如存储复制、数据库日志传输)、应用层容灾(如应用集群) 数据传输(如FTP、云同步)、存储管理(如去重、压缩)
典型案例 银行数据中心在异地部署热备站点,确保交易系统7×24小时可用 企业将数据库每日备份到云存储,用于勒索软件攻击后的数据恢复
3. 目的与作用
异地容灾:业务连续性:确保在主站点故障时,业务可快速切换到备用站点,减少停机时间。
灾难恢复:应对地震、洪水等区域性灾难,保护业务不受影响。
示例:AWS在多个区域部署数据中心,客户可通过Route 53实现故障切换。
异地备份:数据保护:防止数据丢失或损坏,确保数据可恢复到某个时间点。
合规性:满足行业法规对数据存储和恢复的要求。
示例:医院将患者数据备份到异地存储,防止因火灾导致数据丢失。
4. 关键区别总结
目标:异地容灾:业务接管,确保系统在灾难发生时继续运行。
异地备份:数据恢复,确保数据在丢失或损坏后可还原。
实现方式:异地容灾:完整的业务环境,包括硬件、软件、网络和人员。
异地备份:数据副本,存储在远离主站点的位置。
作用时间:异地容灾:实时或近实时,在故障发生时立即生效。
异地备份:事后,在数据丢失或损坏后恢复。
成本与复杂性:异地容灾:高成本,需维护备用站点和实时同步机制。
异地备份:相对低成本,主要涉及数据传输和存储。
5. 举例说明
异地容灾:
某银行在A市和B市分别部署数据中心,通过存储复制和数据库日志传输,确保A市数据中心故障时,B市数据中心可在几分钟内接管业务。异地备份:
某企业每天将数据库备份到云存储,当本地数据库因勒索软件攻击被加密时,可从云端恢复前一日的数据。结论:
异地容灾和异地备份都是保护业务和数据的重要手段,但异地容灾侧重于业务接管,异地备份侧重于数据恢复。在实际应用中,两者往往结合使用,以实现更全面的灾难恢复能力。
关于Linux系统优化以及Linux的安全加固?
系统优化
硬件系统优化:
CPU优化
根据应用场合选择合适的CPU架构,如高并发场景选择多核CPU,计算密集型任务选择高频CPU
使用cpufreq工具动态调整CPU频率,平衡性能和功耗
使用taskset绑定关键进程到特定CPU核心,减少上下文的切换
内存优化
增加物理内存,减少交换分区的使用,提升系统响应速度
启用大页内存,减少内存管理开销,适用于数据库等内存密集型应用
调整swappiness参数,降低系统对交换分区的依赖
磁盘I/O优化
使用SSD替代HDD,显著提升I/O性能
配置RAID,提升磁盘读写速度和数据冗余
调整I/O调度器(如noop使用与SSD,deadlind适用于低延迟场景)
内核参数优化:
TCP/IP参数调整
增加TCP窗口大小,提升高延迟网络下的吞吐量
减少TIME_WAIT状态,加快TCP连接回收
调增脏页比例,减少频繁地磁盘写入
文件系统优化
使用noatime选项挂载文件系统,减少文件访问时间戳更新,减低磁盘I/O
调整文件句柄仙子,避免高负载下资源不足
网络性能优化:
网卡参数调整:调整接受/发送缓冲区大小(sysctl -w net.core.rmem_max=16777216),提升网络吞吐量
DNS缓存:
使用nscd服务缓存DNS查询结果,加快频繁的网络请求解析速度
进程管理和调度优化:
进程优先级调整:
使用nice和renice命令调整进程优先级,确保关键任务获得过更多CPU资源
多线程/多进程设计:
优化多线程/多进程设计,减少不必要的上下人切换安全加固
修改最大打开文件数量:
配置/etc/sysctl.conf
fs.file-max=2097152
修改配置
sysctl -p
修改最大进程数
配置/etc/sysctl.conf
kernel.pid_max=4194303
sysctl -p
配置/etc/security/limits.conf
* soft nofile 65535
* hard nofile 65535
root soft nofile 65535
root hard nofile 65535