haproxy安装配置教程 服务器运维工程师应该掌握哪些知识?
服务器运维工程师应该掌握哪些知识?
首先,谢邀。
运维工程师现在也越来越多元化,并不是每一个阶段掌握的技能都是一样的,发展方向不一样则掌握的技能也会不一样。以下排除掉网络运维、IT运维、存储网络/安全等特种设备运维的方向,列举了几个运维比较常见的发展方向,从基础、进阶到高级三个级别来说明大体需要掌握的技能,有可能不全面。
应用运维方面
:
基础:Linux基础/对应的语言环境,如tomcat/LAMP/LNMP这些要能掌握安装、配置、日常维护操作
进阶:Linux存储管理/安全加固/进程资源管理/网络管理,其他应用中间件如缓存(redis/memcached)、MQ(ActiveMQ/RabbitMQ等)、服务发现和治理中间件(如zookeeper)、配置管理工具(如Puppet/Saltstack/CFengine等)
高级:Shell脚本可以信手拈来,Linux内核/网络等常用参数的配置原理和优化场景,资源消耗的排查和优化,熟练掌握iptables,pam,selinux等安全机制。JAVA运行环境还需熟悉JVM优化、GC日志分析、Java线程堆栈分析等。
额外,需要了解一些:
虚拟化技术,如VMware/VirtualBox/KVM
虚拟化管理技术,如vSphere/convirt/oVirt/OpenNebula等
Docker基本使用和管理
私有云平台,如Openstack/CloudStack等
公有云平台,如阿里云/AWS
基础网络技术,如IP网络基础、OSI七层、HTTP/HTTPS/RPC协议、VLAN、路由、NAT、ACL等概念及相关配置技术
虚拟化和云运维方向
,如以商业化的VMware为例:
基础:ESXi安装、配置、单主机管理;各种概念,如VM/datastore/vSwitch等;vCenter的基本管理,如模板、网络配置、克隆、迁移等
进阶:vCenter高可用性、vSphere HA高可用性、vSphere Fault Tolerant、VMotion;如使用共享存储还需要了解FC SAN/iSCSI存储网络知识
高级:vSphere Site Recovery/vSphere Data Protection/vSAN管理等
额外,如果使用VMware的其他产品,如NSX/vRealize等,则要学的东西更多。
综合发展
,则还有如下一些需要掌握:
基础:监控,如Nagios/Zabbix等基础配置;DNS/NFS/FTP等服务配置;Docker基本使用和管理
进阶:网络分析,如抓包tcpdump/wireshark;性能分析工具,如nmon/iftop/iotop;负载均衡,如nginx/LVS/haproxy。学习一门脚本语言,如python/perl/go等。
高级:进程跟踪和故障分析,如strace/kdump/gdb。Docker编排体系,如kubernetes/swarm等。还有日志分析ELK;指标数据库influxdb/promethus等
上面看起来眼花缭乱,其实并不是每项都需要掌握。以下几个方面都可以成一个单独的发展方向,如果能独立搞定一个方向,就已经迈入运维架构师的层面了。
虚拟化及私有云管理方向
,如独立搞定OpenStack上生产,随便搭个测试环境玩玩不算。
Docker和编排体系方向
,如独立搞定Kubernetes上生产。
精细化的监控告警设计和实施
,不仅仅是单一的搭建zabbix这类监控工具针对简单的资源、网络、应用可用性监控等。还应包括日志分析、精细指标监控等。
如主导研发规范日志,使用ELK进行日志分析并针对详细业务场景出具精准监控和业务数据可视化报表。
再如使用influxdb/grafana或promethus等系统,收集硬件传感器/cpu/mem/io/eth/vm/docker等信息,然后构建精细化的资源使用报表等。
然后再整合日志分析/精细化资源监控打通从业务-gt应用-gt资源-gt硬件的一体化监控联动
自动配置管理方向
,简单点的使用puppet/saltstack等平台加一些定制脚本来管理,高级点的开发一个管理平台,并UI化。
需要看实际工作中的应用场景、管理规模、自动程度、监控需求等来配合使用。每个人的精力是有限的,一个优秀的运维最需要的是一颗时刻保持学习的心和强大的自学能力。
负载均衡有哪些技术?
常见的有LVS、Nginx和HAProxy,者者介绍分别如下: LVS:使用集群技术和Linux操作系统实现一个高性能、高可用的服务器,它具有很好的可伸缩性(Scalability)、可靠性(Reliability)和可管理性(Manageability),感谢章文嵩博士为我们提供如此强大实用的开源软件。 LVS的特点是:
1、抗负载能力强、是工作在网络4层之上仅作分发之用,没有流量的产生,这个特点也决定了它在负载均衡软件里的性能最强的;
2、配置性比较低,这是一个缺点也是一个优点,因为没有可太多配置的东西,所以并不需要太多接触,大大减少了人为出错的几率;
3、工作稳定,自身有完整的双机热备方案;
4、无流量,保证了均衡器IO的性能不会收到大流量的影响;
5、应用范围比较广,可以对所有应用做负载均衡;
6、软件本身不支持正则处理,不能做动静分离。 Nginx的特点是: 1、工作在网络的7层之上,可以针对http应用做一些分流的策略; 2、Nginx对网络的依赖非常小; 3、Nginx安装和配置比较简单,测试起来比较方便; 4、可以承担高的负载压力且稳定,一般能支撑超过几万次的并发量; 5、Nginx可以通过端口检测到服务器内部的故障,比如根据服务器处理网页返回的状态码、超时等等; 6、Nginx仅能支持http和Email; HAProxy的特点是: 1、HAProxy是支持虚拟主机的; 2、能够补充Nginx的一些缺点比如Session的保持,Cookie的引导等工作; 3、支持url检测后端的服务器出问题的检测会有很好的帮助; 4、它跟LVS一样,本身仅仅就只是一款负载均衡软件; 5、HAProxy可以对Mysql读进行负载均衡,对后端的MySQL节点进行检测和负载均衡,不过在后端的MySQL slaves数量超过10台时性能不如LVS; 6、HAProxy的算法多;
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。