配置IP地址命令:
nmcli device status #查看网卡真实信息
nmcli connection show #查看网卡连接信息
nmcli connection add type ethernet \
con-name 连接名 ifname 网卡真实名 autoconnect yes #添加网卡连接
nmcli connection modify 连接名 \
ipv4.method 配置方法 \
ipv4.ip_addresses x.x.x.x/x \
ipv4.gateway x.x.x.x #配置IP地址
nmcli conection up 连接名 #激活网卡
nmcli connection modify 连接名 ipv4.method disabled \
ipv4.ip_addresses '' ipv4.gateway '' autoconnect no #禁用网卡配置
nmcli connection down 连接名 #关闭网卡
nmcli connection delete 连接名 #删除网卡连接 15:05继续
-----------------------------------
集群:协同作业的主机组
分类:
高性能集群
高可用集群
负载平衡集群
LVS: Linux Virtual Server,Linux虚拟服务器
LVS工作模式
NAT
ipvsadm -A -t VS:port -s argo
ipvsadm -a -t VS:port -r RS:port -w n -m
DR
ipvsadm -A -t VS:port -s argo
ipvsadm -a -t VS:port -r RS:port -w n -g
TUN
LVS组成部分
内核空间:IPVS
用户空间:ipvsadm
OSI七层模型:
应用层 nginx
表示层
会话层
传输层 lvs
网络层
数据链路层
物理层
不具备健康检查功能
命令行下配置的规则为临时规则
------------------
KEEPALIVED
1、补充lvs的健康检查的功能
2、管理lvs的规则
3、VRRP实现高可用
-----
global_defs {
router_id xx
vrrp_iptables
vrrp_strict
}
vrrp_script xx {
script xx
interval xx
}
vrrp_instance xx {
state MASTER/BACKUP
interface eth0
...
pripority 100
virtual_ipaddresses {
x.x.x.x/x dev xx label x:x
}
track_script {
xx
}
}
virtual_server x.x.x.x x {
..
lb_argo rr
lb_kind DR
..
real_server x.x.x.x x {
weight n
TCP_CHECK {
...
}
}
...
}
-------------------------------
Haproxy:天生的负载均衡软件
工作于OSI七层模型的4层或7层
工作模式:
mode http
mode tcp
mode health
/etc/haproxy/haproxy.cfg
global
...
defaults
...
listen xx
bind
mode
balance
server
---------------------------
负载均衡
代理:
负载均衡器工作于OSI7层
对客户端数据包进行深层次解析后转发给后端服务器
调度:
负载均衡器工作于OSI4层
只做流量调度不做数据包解析,直接转发数据包到后端服务器
Ceph:分布式存储系统是SDS解决方案
五大组件:组件化设计思想
MON:监控组件,绘制集群地图
MGR:控制组件,提供web控制台
OSD:存储组件,绑定硬盘
MDS:元数据管理组件
RGW:网关服务组件
搭建过程:
准备工作:
1、配置自定义yum源
2、配置域名解析
3、配置节点yum源
4、配置时间服务
5、安装必要软件
6、搭建私有镜像仓库
6.1、私有仓库搭建
6.2、导入Ceph镜像
podman load -i xx.tar
6.3、推送镜像到私有仓库
podman push xx:vv
6.4、配置各节点私有仓库
/etc/containers/registries.conf
[[registry]]
location = "quay.io"
insecure = true
7、调整cephadm脚本内容
搭建工作
1、初始化集群
./cephadm bootstrap \
--mon-ip 192.168.88.11 \
--initial-dashboard-password=123456 \
--dashboard-password-noupdat
ceph -s /ceph orch ls
2、同步ceph公钥
ssh-copy-id -f -i /etc/ceph/ceph.pub root@ceph1
3、扩容集群节点
ceph orch host add ceph2 192.168.88.12
4、绑定OSD组件
ceph orch apply osd --all-available-devices
ceph orch daemon add osd ceph1:/dev/vdb
清理集群
ceph mgr module disable cephadm
cephadm rm-cluster --force --zap-osds --fsid
Ceph集群使用
块存储:RBD,Rados Block Device
需要分区、格式化、挂载以后才能使用
适用场景:适合为需要进行大量数据读写的应用服务器,数据库服务器
优点:读写速度快,磁盘IO效率高
缺点:不能多机共享
pool相关命令
ceph osd pool ls/create/rm
ceph osd pool application enable rbd rbd
rbd相关命令
rbd ls/info/create/resize/rm
map/status/unmap/showmapped
snap ls/create/protect/unprotect/rollback/rm
clone/flatten
文件存储:CephFS,Metadata Server
文件系统相关
适用场景:适合多机数据同步的集群,如web集群
优点:多机文件共享
缺点:读写速度慢
ceph fs new fsname pool1 pool2 ...
ceph orch apply mds fsname --placement=x
对象存储:RGW,Rados Gateway
网关服务相关
适用场景:适合存储海量非结构化数据,如图片、视频服务器
优点:磁盘利用率高,实现静态资源与网站资源松耦合
缺点:概念晦涩,不适合存储结构化数据
-----------------------------------------------
监控方案:
Zabbix:PHP和C语言发开的一套分布式监控方案
组成部分:
zabbix-server:数据存储动作
zabbix-agent:数据采集
zabbix-web:数据展示
适用场景:传统服务器监控,网络设备监控
模板 -- 监控项 -- key : value
自定义监控项
UserParameter=key,command
UserParameter=key[*],command $1
报警机制:
什么时候报警:监控项的阈值设计
报警给谁:
怎么报警:报警方式
邮件
钉钉、企业微信、飞书
短信
电话
触发器:定义监控项阈值,一个监控项可以对应多个触发器
trigger-action:触发器动作,关联触发器并定义相关报警动作
自动发现:用于批量发现被监控端
自动发现规则:根据指定条件扫描指定IP地址范围
自动发现动作:关联自动发现规则,符合条件的主机规定处理行为
主被动监控模式:性能优化(针对被监控端)
被动模式:Server主动索要数据,默认模式
主动模式:Agent主动提供数据
Prometheus:使用Go语言开发的一套组件式开源监控方案
组成部分:
prometheus-server:数据收集、存储、展示
数据接收器
时序数据库
web展示服务
xx-exporter:数据采集
pushgateway:push模式中间件
alertmanager:报警组件
特性:
去重
分组
路由
静默
抑制
grafana:数据看板服务
适用场景:容器化业务场景
---------------------------------------------------
安全相关:
Kali操作系统
nmap扫描
-sP/-sS/-sT/-sU/-A
加密方式
对称加密
非对称加密
tcpdump抓包
-i -w -r
host/port/tcp...
wireshark抓包
nginx服务加固
隐藏版本号:server_tokens off;
防DDoS攻击
Dos:Deny of service
DDos:Distribute Deny of service
limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s
limit_req zone=one burst=5;
限制请求包头大小
client_body_buffer_size 1k;
client_header_buffer_size 1k;
client_max_body_size 1k;
large_client_header_buffers 2 1k;
系统加固
用户信息
chage -l/-E
passwd -l/-u
文件特殊权限
i权限:仅允许查看
a权限:仅允许追加
iptables防火墙
iptables组成
内核空间:NET-FILTER
用户空间:iptables
四表五链
表:row/mangle/filter/nat
链:INPUT/OUTPUT/FORWARD/PREROUTING/POSTROUTING
filter表
INPUT
OUTPUT
FORWORD
nat表
PREROUTING
iptables -t nat -A PREROUTING -d 外部地址 -p 协议 --dport 伪装端口 -j DNAT --to-destination 内部地址:真实端口
POSTROUTING
iptables -t nat -A POSTROUTING -s 内部地址 -j MASQUERADE
iptables [-t 表] 选项 链 条件 -j 动作
iptables选项
-A/-D/-R/-I/-nL/-F/-P
iptables条件
-p/-s/-d/--sport/--dport/-i/-o
-m iprange/multiport/state
-j ACCEPT/DROP/REJECT
黑名单、白名单
网站:
数据库
存储
静态资源服务 nginx
动态资源服务 php-fpm、tomcat、uWSGI
PHP Java Python
Go:云原生
核心技术:
虚拟化
容器
项目开发:
前后端不分离
前后端分离开发
开发语言:
解释型语言:shell、php、python
编译型语言:C
一些运维工作的真相
1、宕机是不可避免的
2、自动化运维是核心技能
3、预防问题比处理问题重要的多
4、沟通必备技能
5、技术只是手段
简历项目准备:
技术点:以web架构改造为核心
1、单机拆分
2、高可用负载均衡web集群改造
3、共享存储设计
4、共享升级方案
描述点:3w1h
1、为什么要改造
2、有哪些改造设计方案
3、什么时候进行改造
4、改造过程中遇到的问题