某资深Linux运维求职公司和数十家公司总结的Linux运维面试精华,助大家新年后找到一份高薪的好工作!
1、什么是运维?什么是游戏运维?
1)运维是指对大型机构已经建立起来的网络软硬件进行维护,以保证业务的上线和正常运行,
在他的手术过程中,他得到了维护。他集成了网络、系统、数据库、开发、安全和监控技术。
运维包括多种,包括DBA运维、网站运维、虚拟化运维、监控运维、游戏运维等。
2)游戏运维还有一个分工,分为开发运维、应用运维(业务运维)和系统运维
开发运维:为应用运维开发运维工具和运维平台
应用运维:用于业务上线、维护和故障排除,开发运维开发的工具用于业务上线、维护和故障排除
系统运维:为应用运维提供业务基础设施,如:系统、网络、监控、硬件等
总结:开发运维和系统运维为应用运维提供“工具”和“基础”支撑
他们的开发运维、应用运维和系统运维工作是环环相扣的
2、在工作中,运维人员经常需要与运维人员打交道。运营人员做什么?
游戏运营要做的一件事就是协调工作
还需要与各个平台进行沟通,对开放时间、开放服务器数量、用户引导、活动等进行规划。
3、现在我给你三百台服务器,你怎么管理?
如何管理 300 台服务器:
1)设置跳板机,统一账号登录,方便安全和登录考虑。
2)使用salt和进行统一调度和配置管理。
3) 建立简单的服务器系统、配置、应用的cmdb信息管理。方便查看各个服务器上的各种信息记录。
4、简述raid0 raid1 raid5三种工作模式的工作原理和特点
RAID,可以将硬盘整合成大盘,也可以将大盘重新分区存储数据
还有一个大功能,多块磁盘一起可以有冗余(备份)
集成RAID的方式有很多种,最常用的:0 1 5 10
RAID 0,可以是一盘和N盘的组合
优点是读写速度快,是RAID中的佼佼者
缺点:没有冗余,丢失一条数据就没有数据
RAID 1,只有2个磁盘,磁盘大小可以不同,取较小者
10G+10G只有10G,一个是备用。 100%冗余,缺点:浪费资源,成本高
RAID 5,3块盘,容量计算10*(n-1),丢一块盘
特点,读写性能一般,读得好,写得不好
冗余从好到坏:RAID1 RAID 5 RAID0
性能从好到坏:RAID0 RAID5 RAID1
成本从低到高:RAID0 RAID5 RAID1
单台服务器:重要盘不多,系统盘,RAID1
数据库服务器:主库:从库RAID5RAID0(维护成本)
WEB服务器,如果数据不多,RAID5、RAID0(单盘)
有多台监控和应用服务器,RAID0 RAID5
我们会根据数据存储和访问需求匹配对应的RAID级别
5、 LVS 和 Nginx 有什么区别?你在工作中如何选择?
LVS:基于四层转发
:基于四、七层转发,是专业的代理服务器
Nginx:是WEB服务器,缓存服务器,反向代理服务器,可以做七层转发
区别:LVS基于四层转发,只能做端口转发。
无法进行基于URL和基于目录的LVS转发。
工作选择:
由于Nginx和Nginx可以做七层转发,所以URL和目录转发都可以做
并发量大的时候,我们不得不选择LVS。对于中小型公司来说,并发量并没有那么大。
选择或者Nginx就够了,因为它是专业的代理服务器
配置简单,推荐中小企业使用
6、Squid 和 Nginx 有什么区别,工作中如何选择?
Squid 和 Nginx 是代理服务器
什么是代理服务器:
可以作为用户访问公网,访问的数据可以缓存在服务器本地,等待用户下次访问相同的数据
在获取时,代理服务器直接从本地响应用户。本地没有时,我代表你访问公网,我来回答
为了接收您的请求硬件负载均衡器 能不能同时带多个应用,我会首先在我自己的本地缓存中找到它。如果我本地缓存有,我会直接从我本地缓存回复你
如果我在本地没有找到你要访问的缓存数据,那么代理服务器会代替你访问公网
区别:
1)Nginx 原本是一个反向代理/web 服务器,可以作为一个插件的副业
但是它不支持很多功能,只能缓存静态文件
2)来自这些函数。 Squid和Squid是专业的缓存服务,nginx则由第三方模块完成
3)自身技术优势高于Squid,采用可视化页面缓存技术
在内存的使用上比squid有优势,性能也比squid高。
还有一个强大的管理端口,可以使用正则表达式快速批量清除部分缓存
是速度一流的内存缓存,但是内存缓存也限制了它的容量。缓存页面和图片一般都不错
4)Squid的优势在于完整而庞大的缓存技术数据,以及众多的应用生产环境
工作时选择:
如果要做缓存服务,一定要选择专业的缓存服务,最好是squid或者。
7、 和 Resin 有什么区别,你在作品中是如何选择的?
区别:用户多,参考文档多,Resin用户少,文档少。
主要区别是标准的java容器,但性能不如resin
但是java程序的稳定性和兼容性应该比resin好。
工作中选择:现在大公司用树脂,追求性能;而中小型公司使用树脂,追求稳定性和程序兼容性
8、什么是中间件?什么是jdk?
中间件介绍:
中间件是一个独立的系统软件或服务程序。分布式应用软件使用该软件在不同技术之间共享资源
中间件位于客户端/服务器操作系统上,管理计算机资源和网络通信
是连接两个独立应用程序或独立系统的软件。连接的系统,即使它们有不同的接口
但它们仍然可以通过中间件相互交换信息。实现中间件的一个关键方式是信息传输
通过中间件,应用程序可以在多个平台或操作系统环境中运行。
jdk:jdk 是一个 Java 开发工具包
Java平台上发布的构建应用程序和组件的开发环境
9、 说说8009、8080这三个端口的含义?
8005==》 关闭时使用
8009==”是容器使用的AJP端口,比如可以通过AJP协议访问的8009端口
8080==》 一般应用使用
10、什么是CDN?
– 内容分发网络
– 目的是将网站内容发布到
通过向现有网络结构添加新的网络结构
离用户最近的网络边缘,让用户就近获取自己需要的内容,提高用户访问网站的速度
11、什么是网站灰度发布?
灰度发布是指一种可以在黑白之间平滑过渡的发布方式
AB测试是一种灰度发布方式,允许一个用户继续使用A,部分用户开始使用B
如果用户对B没有异议,则逐渐扩大范围,将所有用户迁移到B。
灰度发布可以保证整个系统的稳定性,可以在初始灰度级发现问题并进行调整,以保证其影响
12、 简述DNS进行域名解析的过程?
如果用户要访问,他会先找到本机的host文件,然后再找到本地设置的DNS服务器。如果没有DNS服务器,去网络查找根服务器。根服务器反馈结果,说只能提供一级域名服务器。 .cn,去一级域名服务器,一级域名服务器说只能提供二级域名服务器,然后去二级域名服务器,二级域名服务器只能提供三级域名服务器,直接去三级域名服务器,三级域名服务器正好有这个网站,然后发送到请求服务器,保存一个副本,然后将其发送给客户端
1 什么是3、?
即消息队列中间件,是消息传输过程中存储消息的容器
然后,当消息从其源出价到其目标时,消息中间件充当中间人
队列的主要目的是提供路由,保证消息的传递;如果发送消息时接收方不可用
消息队列不会保留消息,直到它可以成功传递。当然,消息队列也会将消息保存一段时间
14、 说说工作原理?
在虚拟路由器中,只有代理 VRRP 路由器会一直发送 VRRP 通告信息,
它不会抢占,除非它有更高的优先级。不可用时(无法接收通知信息)
多站中优先级最高的将被抢占。这种抢占非常快(
出于安全考虑,VRRP 包使用加密协议进行加密。不会发送通知信息,只会收到通知信息
15、 说说LVS的三种模式的工作过程?
LVS有三种负载均衡模式,分别是VS/NAT(nat模式)VS/DR(路由模式)VS/TUN(隧道模式)
一、NAT 模式(VS-NAT)
原理:将客户端发送的数据包的IP头的目的地址替换为负载均衡器上其中一个RS的IP地址
同时发送到这个 RS 进行处理。 RS处理后,将数据交给负载均衡器,负载均衡器再将数据包的原始IP地址改为自己的IP
将目标地址更改为客户端 IP 地址。在此期间,传入和传出的流量都必须经过负载均衡器
优点:集群中的物理服务器可以使用任何支持TCP/IP的操作系统,只有负载均衡器需要一个合法的IP地址
缺点:可扩展性有限。当服务器节点(普通PC服务器)增长过多时,负载均衡器会成为整个系统的瓶颈
因为所有的请求包和响应包都流经负载均衡器。当服务器节点过多时
大量数据包在负载均衡器中收敛,速度会变慢!
二、IP 隧道模式(VS-TUN)
原理:首先要知道互联网上大部分服务的请求包都很短,响应包通常很大
那么隧道模式就是把客户端发过来的数据包用一个新的IP头(只有目的IP)封装起来发送给RS
RS收到后,先解开数据包的头部,还原数据包,处理后直接返回给客户端,无需经过
负载均衡器。注意由于RS需要恢复负载均衡器发送的数据包,所以必须支持
,所以,在RS的内核中,必须编译支持这个选项
优点:负载均衡器只负责将请求包分发给后端节点服务器,而RS直接将响应包发送给用户
因此减少了负载均衡器的大量数据流量,负载均衡器不再是系统的瓶颈,可以处理海量的请求
这样,一个负载均衡器就可以为多个 RS 分配。并且可以通过公网运行,分布在不同的区域。
缺点:隧道模式的RS节点需要合法IP。此方法要求所有服务器都支持“IP”
(IP)协议,服务器可能仅限于部分Linux系统
三、直接路由模式(VS-DR)
原理:负载均衡器和 RS 对外服务使用相同的 IP,但只有 DR 响应 ARP 请求。
所有RS对自己IP的ARP请求保持沉默,即网关会将所有对这个服务IP的请求都导向DR
DR收到数据包后,根据调度算法找出对应的RS,将目的MAC地址改为RS的MAC(因为IP一致)
将请求分发给这个 RS。此时RS接收到数据包。处理完成后,由于IP一致,数据可以直接返回给客户
相当于直接从客户端接收到这个数据包,处理后直接返回给客户端。
因为负载均衡器需要改变二层头硬件负载均衡器 能不能同时带多个应用,所以负载均衡器和RS之间必须有一个广播域
也可以简单理解为在同一个交换机上
优点:与TUN(隧道模式)一样,负载均衡器只分发请求,响应包通过单独的路由方式返回给客户端。
与VS-TUN相比,VS-DR不需要隧道结构,所以大部分操作系统都可以作为物理服务器使用。
缺点:(不能说缺点,只能说缺点)负载均衡器的网卡必须和物理网卡在同一个物理段上。
16、mysql如何定位锁问题,mysql如何降低主从复制延迟?
如何定位mysql中的锁问题:
使用show查看引擎状态时,发现死锁问题
在5.5中,库中添加了三个关于锁(引擎)的表
innodb_trx ## 当前运行的所有事务
innodb_locks ## 当前出现的锁
innodb_lock_waits ## 锁等待的对应关系
mysql是如何减少主从复制延迟的:
如果延迟比较大,首先确认以下因素:
1.从库的硬件比主库差,导致复制延迟
2. 主从复制是单线程的,如果主库写太多并发,来不及转移到从库
这会导致延迟。更高版本的mysql可以支持多线程复制
3.慢SQL语句太多
4. 网络延迟
5.加载
主库读写压力大,造成复制延迟,架构前端需要加缓存层
6. 从站负载
一般的做法是使用多个slave来共享读请求,然后从这些slave中取一个专用服务器
只做备份,不做其他操作。此外,还有2个参数可以减少延迟:
–slave-net-=单位为秒,默认设置为3600秒
#参数含义:slave从主库读取日志数据失败时,等待多久重新建立连接并获取数据
—-retry=单位为秒,默认60秒
#参数含义:重新建立主从连接时,如果连接建立失败,间隔多长时间重试?
通常配置以上2个参数可以减少网络问题导致的主从数据同步延迟
MySQL数据库主从同步延迟解决方案
降低slave同步延迟最简单的方案就是优化架构,尽量让主库的DDL执行得快
还有写主库,数据安全性更高,比如=1,=1等,而slave不需要这么高的数据安全性,可以设置为0或者关闭
也可以设置为0,提高sql的执行效率。另一种是使用比主库更好的硬件设备作为从机
17、如何重置mysql root密码?
一、当MYSQL数据库的ROOT用户密码已知时,如何修改密码:
1.在SHELL环境下,使用命令设置:
mysqladmin –u root –p password “新密码” 回车后要求输入旧密码
2.在mysql>环境下,使用命令直接更新mysql库的user表中的数据:
Update mysql.user set passwordpassword=password(‘新密码’) where user=’root’;
flush privileges;
注意:mysql语句应该以分号“;”结尾
3.在mysql>环境下,使用grant命令修改root用户的授权权限。
grant all on *.* to root@’localhost’ identified by ‘新密码’;
二、 忘记了mysql数据库ROOT用户的密码怎么办?方法如下:
1.关闭当前运行的服务程序:stop(必须先添加为系统服务)
2. 使用脚本在安全模式下启动服务(无需加载授权表)
/usr/local/mysql/bin/mysqld_safe --skip-grant-table &
3.root用户空密码登录数据库,重置ROOT用户密码
#mysql -u root
Mysql> Update mysql.user set passwordpassword=password(‘新密码’) where user=’root’;
Mysql> flush privileges;
18、lvs/nginx/优缺点
Nginx 的优点是:
1.工作在网络第7层,可以对http应用做一些分流策略,比如域名和目录结构
它的规则规则比更加强大和灵活,这也是它目前广受欢迎的主要原因之一
Nginx 的应用远远超过 LVS。
2.Nginx 对网络稳定性的依赖很少。理论上,只要能ping通就可以执行加载功能。这也是它的优点之一
相反,LVS 非常依赖网络稳定性。我对此有深刻的理解;
3.Nginx 安装配置比较简单,测试起来也比较方便。基本可以打印出日志中的错误。
LVS 的配置和测试需要很长时间。 LVS严重依赖网络。
4. 可承受高负载压力且稳定。一般在硬件不错的情况下可以支持上万次并发,负载相对LVS来说相对较小。
5.Nginx 可以通过端口检测服务器内部故障,如服务器处理网页返回的状态码、超时等,并将错误请求重新提交给另一个节点,但是它的缺点它只是不支持 url 检测。比如用户上传文件,上传过程中处理上传的节点发生故障,Nginx将上传切到另一台服务器重新处理,直接断开LVS
如果你上传一个非常大的文件或者一个非常重要的文件,用户可能会不满意。
6.Nginx 不仅是一个优秀的负载均衡器/反向代理软件,还是一个强大的网络应用服务器
LNMP 也是近年来非常流行的一种 Web 架构,在高流量环境下也非常稳定。
7.Nginx现在作为web反向加速缓存越来越成熟,速度也比传统的Squid服务器快,可以考虑用它作为反向代理加速器
8.Nginx 可以作为中层反向代理。在这个层面上,Nginx 基本上是无与伦比的。能和Nginx比的只有一个
文章来源:https://zhuanlan.zhihu.com/p/102073546
感谢您的来访,获取更多精彩文章请收藏本站。
