欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

项目

程序员文章站 2022-07-02 20:49:50
...

目录

CMDB

1.实验目的

2.实验步骤

3.效果

4.相关问题

LVS-DR keepalived

1.实验目的

2.实验环境

3.步骤简述

4.实现效果

5.相关问题

nginx

tomcat+memcache会话保持

1.实验目的

2.实验环境

3.实验步骤

4.相关问题

mysql主从复制

1.实验目的

2.实验环境

3.实验步骤

4.实验效果

5.相关问题

redis+mysql+gearmand

1.实验目的

2.实验环境

3.实验效果

4.相关问题

zabbix监控NGINX

1.实验目的

2.实验环境

3.实验步骤

4.实验效果

5.相关问题

Saltstack

Ansible部署负载均衡高可用集群

1.实验目的

2.实验环境

3.实验步骤

4.相关问题


CMDB

1.实验目的

通过编写django框架的各个模块,实现对存活主机信息扫描,并以网页方式呈现给用户

2.实验步骤

settings.py

migarate至本地数据库

admin.py管理用户

views.py实现功能(探活、检查ssh端口、登录)

urls调用

html前端呈现

3.效果

登录页面,输入ip,给出版本信息

4.相关问题

https://blog.csdn.net/weixin_46833747/article/details/107768423

 

LVS-DR keepalived

1.实验目的

随着企业信息化的不断发展,需要面对越来越复杂的业务和越来越多样化的用户需求,例如单点故障问题、负载均衡问题。而 LVS+keepalived 构建的高可用负载均衡集群则完美解决了这些问题,提高了运维服务质量。

lvs实现负载均衡   keepalived实现lvs的高可用

2.实验环境

四台主机

server1、2:keepalived

server3、4:apache/nginx

3.步骤简述

1. 设置调度主机工作模式为 DR,调度算法为 rr

调度节点:


ip addr add 172.25.1.100/24 dev eth0

ipvsadm -A -t 172.25.1.100:80 -s rr

ipvsadm -a -t 172.25.1.100:80 -r 172.25.1.3:80 -g

ipvsadm -a -t 172.25.1.100:80 -r 172.25.1.4:80 -g

2. 为调度主机添加备份,并在两台主机上都安装 keepalived,编辑配置文件实现集群高可用

master、pri、vip、后端rs

3. 在真实主机中通过 arptables 将 RS 对 VIP 的响应屏蔽,此时可实现负载均衡,服务配置完毕

rs配置:


yum install -y arptables


arptables -A INPUT -d 172.25.1.100 -j DROP


arptables -A OUTPUT -s 172.25.1.100 -j mangle --mangle-ip-s 172.25.1.3

4.实现效果

调用后端服务器的负载均衡及健康检测

master端keepalived down掉 vip漂移至backup  自动顶上

5.相关问题

四层七层区别、lvs三种模式、十种调度算法

https://blog.csdn.net/weixin_46833747/article/details/107849336

 

nginx

 

 

tomcat+memcache会话保持

1.实验目的

同一客户端访问业务网站,经过调度器负载调度到达后端,不管选择的是那个后端,session ID都不变,都保存在两台或多台的memcached缓存中(负载冗余);以保持会话;客户端请求时nginx通过负载调度算法将请求调度至某一后端服务器;并把session存储到两台memcached中;客户端刷新(不换浏览器)时,请求换成另一个后端服务器响应时session ID保持不变;

2.实验环境

server1:nginx(调度器)

server2、server3:tomcat、jdk、memcache

3.实验步骤

1.环境:server1:nginx   server2 : tomcat   实验完添加server3:tomcat

编写test.jsp实现用户登录信息页面。使得nginx将对jsp的访问代理至后端tomcat,只开启一个tomcat时,产生的数据会保存到本地。再实现nginx+tomcat负载均衡。

问题:当开启两个tomcat时,由于在负载均衡状态,受到nginx的调度,server2端提交数据后直接跳到了server3,与之前的建立的session断开了,再次回来数据就不存在了。

2.重新编译nginx,加入sticky模块,避免请求来回跳,信息丢失。此时只要访问的server2不挂,数据会一直保存。

问题:如果server2的tomcat挂掉,那么server2上的数据依然会丢失,因此我们需要memcache的加入实现session交叉存放,就是将访问server2中的tomcat上的数据存放在sever3中的memcache去,将访问server3中tomcat上的数据存放在server2中。

3.serve2、server3配置session管理器,将tomcat/conf/context.xml,n1改为n2,即将2中的缓存存至3中,反之亦然。开启memcache,并重启tomcat,此时多次登录仍会保存之前的登录信息,且当一个服务端挂掉时,另一个服务端会接管并保存之前的登录信息在页面中。

4.相关问题

https://blog.csdn.net/weixin_46833747/article/details/108518011#3%E3%80%81tomcat%E4%BC%9A%E8%AF%9D%E4%BF%9D%E6%8C%81

 

 

 

mysql主从复制

1.实验目的

同步主从mysql的数据,使得主数据库出现问题时,可以切换到从数据库。

2.实验环境

server1:部署mysql8.0

server2:部署mysql8.0

3.实验步骤

master端:

(1) vim /etc/my.cnf  编辑主配置

log-bin=mysql-bin

server-id=1

(2)创建用户repl并授予复制权限

mysql> CREATE USER 'repl'@'192.168.43.%' IDENTIFIED BY 'My12345.';##创建用户

mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.43.%';##对用户授权

(3)查看master状态并获取主节点上二进制文件名称和位置

mysql> SHOW MASTER STATUS;

项目

slave端:

(1)配置从节点   vim /etc/my.cnf

server-id=2 ##从节点中的配置

(2) 在从节点slave上配置主节点master的信息,并开启复制:

mysql> change master to

-> master_host='172.25.11.2',

-> master_user='repl',

-> master_password='aaa@qq.com@0823',

-> master_log_file='mysql-bin.000001',

-> master_log_pos=1200,

-> get_master_public_key=1;


mysql> START SLAVE;##开启复制

mysql> SHOW SLAVE STATUS\G ##查看slave状态

4.实验效果

此时在master端写入数据,slave端会同步并且可查看

5.相关问题

https://blog.csdn.net/weixin_46833747/article/details/108394728#1.%E5%9F%BA%E4%BA%8E%E4%BA%8C%E8%BF%9B%E5%88%B6%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6%E4%BD%8D%E7%BD%AE%E7%9A%84%E5%A4%8D%E5%88%B6%EF%BC%88Binary%20Log%20File%20Position%20Based%20Replication%EF%BC%89

 

redis+mysql+gearmand

1.实验目的

用redis给mysql做前端缓存,并在mysql更新时用触发器与gearmand同步至redis

客户端通过nginx和php访问后端数据库时,先在redis这个数据库缓存中查找,看是否含有想要的数据,如果没有就去后端数据库查找,将查找到数据返回给客户端一份,另外在redis中缓存一份。下次如果访问相同的数据就直接去redis,缩短时间同时也减轻数据库的查找压力

2.实验环境

三台主机

server1:nginx、php、gearman 配置测试页面

server2:redis

server3:mysql、gearman-mysql-udf 

注册udf函数插件及指定gearman服务器、定义触发器

3.实验效果

mysql的变更触发了触发器 trigger ,然后 json_map插件将变更的数据格式化为json格式便于处理,然后找到 mysql 的 gearman 和 udf 的插件 ,然后找到 gearman(job-server / server1)。 job-server 将任务分发给 worker。worker 与 php-gearman 和 php-redis 通信,将数据同步到server2上的 redis,redis 再发送到客户端,同时同步到本地缓存。 

4.相关问题

https://blog.csdn.net/weixin_46833747/article/details/108366087#1.redis%E5%9C%A8%E5%85%AC%E5%8F%B8%E8%BF%98%E6%98%AF%E5%AE%9E%E9%AA%8C%E5%AE%A4%EF%BC%9F%E8%AE%B2%E4%B8%80%E4%B8%8Bredis%E9%A1%B9%E7%9B%AE%EF%BC%9Fredis%E7%9A%84%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%EF%BC%9Fredis%E7%9A%84key%E7%94%A8%E7%9A%84%E4%BB%80%E4%B9%88%E5%AD%97%E6%AE%B5%EF%BC%9Fredis%E7%9A%84%E6%95%B0%E6%8D%AE%E4%B8%8Emysql%E6%95%B0%E6%8D%AE%E7%9A%84%E6%98%A0%E5%B0%84%EF%BC%88mysql%E6%95%B0%E6%8D%AE%E4%BF%AE%E6%94%B9%E5%A6%82%E4%BD%95%E6%98%A0%E5%B0%84%E5%88%B0redis%EF%BC%89%EF%BC%9Fgearman%E7%9A%84%E9%80%BB%E8%BE%91%EF%BC%9F

 

 

zabbix监控NGINX

1.实验目的

用zabbix监控nginx的状态

2.实验环境

server1:部署zabbix -server、mysql、web  mariadb

server2:zabbix-agent  nginx

3.实验步骤

server2(被监控端):

1.安装zabbix-agent采集本机数据 

2.部署nginx修改配置文件使得只有本机可以访问  

项目

3.用户自定义配置的目录中配置,获取活跃连接数

vim /etc/zabbix/zabbix_agentd.d/userparameter_nginx.conf

UserParameter=nginx.active,curl -s http://127.0.0.1/status | grep Active |awk '{print $3}'

server1(监控端):

下载simkai.ttf 避免乱码

在web页面添加server2监控项,添加图形 此时可监控到nginx信息

4.实验效果

项目

5.相关问题

https://blog.csdn.net/weixin_46833747/article/details/108324555

 

Saltstack

 

 

Ansible部署负载均衡高可用集群

1.实验目的

通过ansible自动化部署haproxy+keepalived负载均衡高可用架构

2.实验环境

主机:配置epel源,安装ansible

server1、2:部署haproxy+keepalived

server3、4:部署nginx

3.实验步骤

1.主机ansible-galaxy init生成三个角色haproxy keepalived nginx

2.分别编写各角色下的task、vars、template、copy、handlers等模块

3.编写playbook完成推送

4.测试高可用架构

4.相关问题

https://blog.csdn.net/weixin_46833747/article/details/108441827#6%EF%BC%89playbook%E4%B8%AD%E7%9A%84%E8%A7%92%E8%89%B2

相关标签: 面试必看