0f1清|纯少|妇的感觉就是爽,求交流dr

1、什么是运维什么是游戏运维?

1)运维是指大型组织已经建立好的网络软硬件的维护就是要保证业务的上线与运作的正常,
在他运转的过程中对他进行维护,他集匼了网络、系统、数据库、开发、安全、监控于一身的技术
运维又包括很多种有DBA运维、网站运维、虚拟化运维、监控运维、游戏运维等等

2)游戏运维又有分工,分为开发运维、应用运维(业务运维)和系统运维
开发运维:是给应用运维开发运维工具和运维平台的
应用运维:是给业务上线、维护和做故障排除的用开发运维开发出来的工具给业务上线、维护、做故障排查
系统运维:是给应用运维提供业务上嘚基础设施,比如:系统、网络、监控、硬件等等

总结:开发运维和系统运维给应用运维提供了“工具”和“基础设施”上的支撑
开发运維、应用运维和系统运维他们的工作是环环相扣的

2、在工作中运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的
游戲运营要做的一个事情除了协调工作以外
还需要与各平台沟通,做好开服的时间、开服数、用户导量、活动等计划

3、现在给你三百台服务器你怎么对他们进行管理?
管理3百台服务器的方式:
1)设定跳板机使用统一账号登录,便于安全与登录的考量
2)使用salt、ansiable、puppet进行系统嘚统一调度与配置的统一管理。
3)建立简单的服务器的系统、配置、应用的cmdb信息管理便于查阅每台服务器上的各种信息记录。

RAID可以把硬盘整合成一个大磁盘,还可以在大磁盘上再分区放数据
还有一个大功能,多块盘放在一起可以有冗余(备份)

RAID 0可以是一块盘和N个盘組合

其优点读写快,是RAID中最好的

缺点:没有冗余一块坏了数据就全没有了

RAID 1,只能2块盘盘的大小可以不一样,以小的为准

10G+10G只有10G另一个莋备份。它有100%的冗余缺点:浪费资源,成本高

特点读写性能一般,读还好一点写不好

单台服务器:很重要盘不多,系统盘RAID1
WEB服务器,如果没有太多的数据的话RAID5,RAID0(单盘)
有多台,监控、应用服务器RAID0 RAID5

我们会根据数据的存储和访问的需,去匹配对应的RAID级别

5、LVS、Nginx、HAproxy有什么區别工作中你怎么选择?
LVS: 是基于四层的转发
HAproxy: 是基于四层和七层的转发是专业的代理服务器
Nginx: 是WEB服务器,缓存服务器又是反向代悝服务器,可以做七层的转发

区别: LVS由于是基于四层的转发所以只能做端口的转发
而基于URL的、基于目录的这种转发LVS就做不了

HAproxy和Nginx由于可以做七层的转发所以URL和目录的转发都可以做
在很大并发量的时候我们就要选择LVS,像中小型公司的话并发量没那么大
配置简单所以中小型企業推荐使用HAproxy

能当替用户去访问公网,并且能把访问到的数据缓存到服务器本地等用户下次再访问相同的资
源的时候,代理服务器直接从夲地回应给用户当本地没有的时候,我代替你去访问公网我接
收你的请,我先在我自已的本地缓存找如果我本地缓存有,我直接从峩本地的缓存里回复你
如果我在我本地没有找到你要访问的缓存的数据那么代理服务器就会代替你去访问公网

1)Nginx本来是反向代理/web服务器,用了插件可以做做这个副业

 但是本身不支持特性挺多只能缓存静态文件

2)从这些功能上。varnish和squid是专业的cache服务而nginx这些是第三方模块完成
3)varnish本身的技术上优势要高于squid,它采用了可视化页面缓存技术

在内存的利用上Varnish比Squid具有优势,性能要比Squid高
还有强大的通过Varnish管理端口,可以使用正则表达式快速、批量地清除部分缓存
它是内存缓存速度一流,但是内存缓存也限制了其容量缓存页面和图片一般是挺好的
4)squid的優势在于完整的庞大的cache技术资料,和很多的应用生产环境

要做cache服务的话我们肯定是要选择专业的cache服务,优先选择squid或者varnish

7、Tomcat和Resin有什么区别,工作中你怎么选择
区别:Tomcat用户数多,可参考文档多Resin用户数少,可考虑文档少
最主要区别则是Tomcat是标准的java容器不过性能方面比resin的要差┅些
但稳定性和java程序的兼容性,应该是比resin的要好

工作中选择:现在大公司都是用resin追性能;而中小型公司都是用Tomcat,追稳定和程序的兼容

8、什么是中间件什么是jdk?
中间件是一种独立的系统软件或服务程序分布式应用软件借助这种软件在不同的技术之间共享资源
中间件位于愙户机/ 服务器的操作系统之上,管理计算机资源和网络通讯
是连接两个独立应用程序或独立系统的软件相连接的系统,即使它们具有不哃的接口

但通过中间件相互之间仍能交换信息执行中间件的一个关键途径是信息传递
通过中间件,应用程序可以工作于多平台或OS环境

咜是一种用于构建在 Java 平台上发布的应用程序、applet 和组件的开发环境

  • 其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到
    最接近用户的网络边缘使用户可就近取得所需的内容,提高用户访问网站的速度

11、什么叫网站灰度发布
灰度发布是指在黑与白之间,能夠平滑过渡的一种发布方式
AB test就是一种灰度发布方式让一部用户继续用A,一部分用户开始用B
如果用户对B没有什么反对意见那么逐步扩大范围,把所有用户都迁移到B上面 来
灰度发布可以保证整体系统的稳定在初始灰度的时候就可以发现、调整问题,以保证其影响度

12、简述DNS進行域名解析的过程
用户要访问,会先找本机的host文件再找本地设置的DNS服务器,如果也没有的话就去网络中找根服务器,根服务器反饋结果说只能提供一级域名服务器.cn,就去找一级域名服务器一级域名服务器说只能提供二级域名服务器..cn,就去找三级域名服务器三級域名服务器正好有这个网站,然后发给请的服务器保存一份之后,再发给客户端

RabbitMQ也就是消息队列中间件消息中间件是在消息的传息過程中保存消息的容器
消息中间件再将消息从它的源中到它的目标中标时充当中间人的作用
队列的主要目的是提供路由并保证消息的传递;如果发送消息时接收者不可用
消息队列不会保留消息,直到可以成功地传递为止当然,消息队列保存消息也是有期限地

在一个虚拟路甴器中只有作为MASTER的VRRP路由器会一直发送VRRP通告信息,
BACKUP不会抢占MASTER,除非它的优先级更高当MASTER不可用时(BACKUP收不到通告信息)
多台BACKUP中优先级最高的这台会被抢占为MASTER。这种抢占是非常快速的(<1s)以保证服务的连续性
由于安全性考虑,VRRP包使用了加密协议进行加密BACKUP不会发送通告信息,只会接收通告信息

15、讲述一下LVS三种模式的工作过程

原理:就是把客户端发来的数据包的IP头的目的地址,在负载均衡器上换成其中一台RS的IP地址

并发至此RS来处理,RS处理完后把数据交给负载均衡器,负载均衡器再把数据包原IP地址改为自己的IP

将目的地址改为客户端IP地址即可期间,无论是进来的流量,還是出去的流量,都必须经过负载均衡器

优点:集群中的物理服务器可以使用任何支持TCP/IP操作系统只有负载均衡器需要一个合法的IP地址

缺点:扩展性有限。当服务器节点(普通PC服务器)增长过多时,负载均衡器将成为整个系统的瓶颈

因为所有的请包和应答包的流向都经过负载均衡器当服务器节点过多时

大量的数据包都交汇在负载均衡器那,速度就会变慢!

原理:首先要知道互联网上的大多Internet服务的请包很短小,而应答包通常很大

那么隧道模式就是把客户端发来的数据包,封装一个新的IP头标记(仅目的IP)发给RS

RS收到后,先把数据包的头解开,还原数据包,處理后,直接返回给客户端,不需要再经过

负载均衡器注意,由于RS需要对负载均衡器发过来的数据包进行还原,所以说必须支持

优点:负载均衡器只负责将请包分发给后端节点服务器,而RS将应答包直接发给用户

所以减少了负载均衡器的大量数据流动,负载均衡器不再是系统的瓶頸就能处理很巨大的请量

这种方式,一台负载均衡器能够为很多RS进行分发而且跑在公网上就能进行不同地域的分发。

缺点:隧道模式嘚RS节点需要合法IP这种方式需要所有的服务器支持”IP Tunneling”

三、直接路由模式(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的innodb如何定位锁问题mysql如何减少主从复制延迟?

mysql如何减少主从复制延迟:
如果延迟比较大就先确认以下几个因素:

  1. 从库硬件比主库差,导致复制延迟
  2. 主从复制单线程如果主库写并发太大,来不及传送到从库

    就会导致延迟更高版本的mysql可以支持多线程复制

  3. 主库读写压力大,导致复制延迟架构的前端要加buffer及缓存层

  4. 一般的做法是,使用多台slave来分摊读请再从这些slave中取一台专用的服务器

呮作为备份用,不进行其他任何操作.另外 2个可以减少延迟的参数:

#参数含义:当slave从主数据库读取log数据失败后,等待多久重新建立连接并获取数据

#参数含义:当重新建立主从连接时如果连接建立失败,间隔多久后重试
通常配置以上2个参数可以减少网络问题导致的主从数据同步延迟

MySQL数据库主从同步延迟解决方案
最简单的减少slave同步延时的方案就是在架构上做优化尽量让主库的DDL快速执行

innodb_flushlog也可以设置为0来提高sql的执荇效率。另外就是使用比主库更好的硬件设备作为slave

一、 在已知MYSQL数据库的ROOT用户密码的情况下修改密码的方法:

注意:mysql语句要以分号”;”結束

3、 在mysql>环境中,使用grant命令修改root用户的授权权限。

二、 如查忘记了mysql数据库的ROOT用户的密码又如何做呢?方法如下:

2、 使用mysqld_safe脚本以安全模式(不加载授权表)启动mysqld 服务

3、 使用空密码的root用户登录数据库重新设置ROOT用户的密码

1、工作在网络的7层之上,可以针对http应用做一些分流的筞略比如针对域名、目录结构

它的正则规则比HAProxy更为强大和灵活,这也是它目前广泛流行的主要原因之一

Nginx单凭这点可利用的场合就远多于LVS叻

2、Nginx对网络稳定性的依赖非常小,理论上能ping通就就能进行负载功能这个也是它的优势之一

相反LVS对网络稳定性依赖比较大,这点本人深囿体会;

3、Nginx安装和配置比较简单测试起来比较方便,它基本能把错误用日志打印出来

LVS的配置、测试就要花比较长的时间了LVS对网络依赖仳较大。

4、可以承担高负载压力且稳定在硬件不差的情况下一般能支撑几万次的并发量,负载度比LVS相对小些

5、Nginx可以通过端口检测到服務器内部的故障,比如根据服务器处理网页返回的状态码、超时等等并且会把返回错误的请重新提交到另一个节点,不过其中缺点就是鈈支持url来检测比如用户正在上传一个文件,而处理该上传的节点刚好在上传过程中出现故障Nginx会把上传切到另一台服务器重新处理,而LVS僦直接断掉了

如果是上传一个很大的文件或者很重要的文件的话用户可能会因此而不满。

6、Nginx不仅仅是一款优秀的负载均衡器/反向代理软件它同时也是功能强大的Web应用服务器

LNMP也是近几年非常流行的web架构,在高流量的环境中稳定性也很好

7、Nginx现在作为Web反向加速缓存越来越成熟了,速度比传统的Squid服务器更快可考虑用其作为反向代理加速器

8、Nginx可作为中层反向代理使用,这一层面Nginx基本上无对手唯一可以对比Nginx的僦只有lighttpd了

不过lighttpd目前还没有做到Nginx完全的功能,配置也不那么清晰易读社区资料也远远没Nginx活跃

9、Nginx也可作为静态网页和图片服务器,这方面的性能也无对手还有Nginx社区非常活跃,第三方模块也很多

1、Nginx仅能支持http、https和Email协议这样就在适用范围上面小些,这个是它的缺点

2、对后端服务器的健康检查只支持通过端口来检测,不支持通过url来检测

 不支持Session的直接保持但能通过ip_hash来解决

LVS:使用Linux内核集群实现一个高性能、高可用嘚负载均衡服务器

1、抗负载能力强、是工作在网络4层之上仅作分发之用,没有流量的产生

 这个特点也决定了它在负载均衡软件里的性能最強的对内存和cpu资源消耗比较低

2、配置性比较低,这是一个缺点也是一个优点因为没有可太多配置的东西

 所以并不需要太多接触,大大減少了人为出错的几率

3、工作稳定因为其本身抗负载能力很强,自身有完整的双机热备方案

4、无流量LVS只分发请,而流量并不从它本身絀去这点保证了均衡器IO的性能不会收到大流量的影响。

5、应用范围较广因为LVS工作在4层,所以它几乎可对所有应用做负载均衡包括http、數据库、在线聊天室等

1、软件本身不支持正则表达式处理,不能做动静分离

 而现在许多网站在这方面都有较强的需这个是Nginx/HAProxy+Keepalived的优势所在

2、洳果是网站应用比较庞大的话,LVS/DR+Keepalived实施起来就比较复杂了

 特别后面有Windows Server的机器的话如果实施及配置还有维护过程就比较复杂了
 



1、HAProxy也是支持虚擬主机的。




 同时支持通过获取指定的url来检测后端服务器的状态
 
3、HAProxy跟LVS类似本身就只是一款负载均衡软件
 单纯从效率上来讲HAProxy会比Nginx有更出色的負载均衡速度,在并发处理上也是优于Nginx的
 
4、HAProxy支持TCP协议的负载均衡转发可以对MySQL读进行负载均衡
 对后端的MySQL节点进行检测和负载均衡,大家可鉯用LVS+Keepalived对MySQL主从做负载均衡
 
5、HAProxy负载均衡策略非常多HAProxy的负载均衡算法现在具体有如下8种:
①roundrobin,表示简单的轮询这个不多说,这个是负载均衡基本都具备的;
② static-rr表示根据权重,建议关注;
③leastconn表示最少连接者先处理,建议关注;
 我们用其作为解决session问题的一种方法建议关注;
 
⑤ri,表示根据请的URI;

⑦hdr(name)表示根据HTTP请头来锁定每一次HTTP请;




支持基于innodb的热备份,但是由于是逻辑备份所以速度不是很快,适合备份数据比較小的场景
Mysqldump完全备份+二进制日志可以实现基于时间点的恢复

在物理备份中,有基于文件系统的物理备份(LVM的快照)也可以直接用tar之类嘚命令对整个数据库目录
进行打包备份,但是这些只能进行泠备份不同的存储引擎备份的也不一样,myisam自动备份到表级别
而innodb不开启独立表涳间的话只能备份整个数据库


支持innodb的物理热备份,支持完全备份增量备份,而且速度非常快支持innodb存储引起的数据在不同
数据库之间遷移,支持复制模式下的从机备份恢复备份恢复为了让xtrabackup支持更多的功能扩展
可以设立独立表空间,打开 innodb_file_per_table功能启用之后可以支持单独的表备份
20、keepalive的工作原理和如何做到健康检查

虚拟路由冗余协议,可以认为是实现路由器高可用的协议即将N台提供相同功能的路由器组成一個路由器组
这个组里面有一个master和多个backup,master上面有一个对外提供服务的vip(该路由器所在局域网内
其他机器的默认路由为该vip)master会发组播,当backup收鈈到vrrp包时就认为master宕掉了
这时就需要根据VRRP的优先级来选举一个backup当master这样就可以保证路由器的高可用了

及全局配置文件的加载和解析。check负责健康检查包括常见的各种检查方式,vrrp模块是来实现VRRP协议的















21、统计ip访问情况要分析nginx访问日志,找出访问页面数量在前十位的ip






RAID 0:带区卷连續以位或字节为单位分割数据,并行读/写于多个磁盘上因此具有很高的数据传输率
但它没有数据冗余,RAID 0 只是单纯地提高性能并没有为數据的可靠性提供保证
而且其中的一个磁盘失效将影响到所有数据。因此RAID 0 不能应用于数据安全性要高的场合
RAID 1:镜像卷,它是通过磁盘数據镜像实现数据冗余在成对的独立磁盘上产生互为备份的数据
不能提升写数据效率。当原始数据繁忙时可直接从镜像拷贝中读取数据,因此RAID1 可以提高读取性能
RAID 1 是磁盘阵列中单位成本最高的镜像卷可用容量为总容量的1/2,但提供了很高的数据安全性和可用性
当一个磁盘失效时系统可以自动切换到镜像磁盘上读写,而不需要重组失效的数据
RAID5:至少由3块硬盘组成分布式奇偶校验的独立磁盘结构,它的奇偶校验码存在于所有磁盘上
任何一个硬盘损坏都可以根据其它硬盘上的校验位来重建损坏的数据(最多允许1块硬盘损坏)
所以raid5可以实现数據冗余,确保数据的安全性同时raid5也可以提升数据的读写性能
25、你对现在运维工程师的理解和以及对其工作的认识
运维工程师在公司当中責任重大,需要保证时刻为公司及客户提供最高、最快、最稳定、最安全的服务
运维工程师的一个小小的失误很有可能会对公司及客户慥成重大损失
因此运维工程师的工作需要严谨及富有创新精神
26、实时抓取并显示当前系统中tcp 80端口的网络数据信息,请写出完整操作命令

27、垺务器开不了机怎么解决一步步的排查
A、造成服务器故障的原因可能有以下几点:

B、如何排查服务器故障的处理步骤如下:

28、Linux系统中病毒怎么解决
1)最简单有效的方法就是重装系统
2)要查的话就是找到病毒文件然后删除
 中毒之后一般机器cpu、内存使用率会比较高
 机器向外发包等异常情况排查方法简单介绍下
 
top 命令找到cpu使用率最高的进程
一般病毒文件命名都比较乱,可以用 ps aux 找到病毒文件位置
rm -f 命令删除病毒文件
检查计划任务、开机启动项和病毒文件目录有无其他可以文件等
3)由于即使删除病毒文件不排除有潜伏病毒所以最好是把机器备份数据之後重装一下
29、发现一个病毒文件你删了他又自动创建怎么解决
公司的内网某台linux服务器流量莫名其妙的剧增,用iftop查看有连接外网的情况
针对这種情况一般重点查看netstat连接的外网ip和端口。
用lsof -p pid可以查看到具体是那些进程哪些文件
经查勘发现/root下有相关的配置conf.n hhe两个可疑文件,rm -rf后不到一分鍾就自动生成了
由此推断是某个母进程产生的这些文件所以找到母进程就是找到罪魁祸首
查杀病毒最好断掉外网访问,还好是内网服务器可以通过内网访问
断了内网,病毒就失去外联的能力杀掉它就容易的多
怎么找到呢,找了半天也没有看到蛛丝马迹没办法只有ps axu一個个排查
方法是查看可以的用户和和系统相似而又不是的冒牌货,果然看到了如下进程可疑

于是我杀掉所有.sshd相关的进程,然后直接删掉.sshd這个可执行文件
然后才删掉了文章开头提到的自动复活的文件
总结一下遇到这种问题,如果不是太严重尽量不要重装系统

一般都能找箌元凶。但是如果遇到诸如此类的问题



网络服务与最终用户的一个接口


数据的表示、安全、压缩。(在五层模型里面已经合并到了应用層)


建立、管理、终止会话(在五层模型里面已经合并到了应用层)
对应主机进程,指本地主机与远程主机正在进行的会话

定义传输数據的协议端口号以及流控和差错校验。
协议有:TCP UDP数据包一旦离开网卡即进入网络传输层

进行逻辑地址寻址,实现不同网络之间的路径選择


建立逻辑连接、进行硬件地址寻址、差错校验等功能。(由底层网络定义协议)
将比特组合成字节进而组合成帧用MAC地址访问介质,错误发现但不能纠正

是计算机网络OSI模型中最低的一层
物理层规定:为传输数据所需要的物理链路创建、维持、拆除
而提供具有机械的电孓的,功能的和规范的特性
简单的说物理层确保原始的数据可在各种物理媒体上传输。局域网与广域网皆属第1、2层
物理层是OSI的第一层咜虽然处于最底层,却是整个开放系统的基础
物理层为设备之间的数据通信提供传输媒体及互连设备为数据传输提供可靠的环境
如果您想要用尽量少的词来记住这个第一层,那就是“信号和介质”
31、你常用的Nginx模块用来做什么
rewrite模块,实现重写功能
access模块:来源控制





32、请列出伱了解的web服务器负载架构




33、查看http的并发请数与其TCP连接状态

还有ulimit -n 查看linux系统打开最大的文件描述符这里默认1024
不修改这里web服务器修改再大也没鼡,若要用就修改很几个办法这里说其中一个:
 

34、用tcpdump嗅探80端口的访问看看谁最高

35、写一个脚本,实现判断192.168.1.0/24网络里当前在线的IP有哪些,能ping通则认为在线













36、已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下由于磁盘空间紧张现在要只能保留最近 7 天的访问日志!请问如何解決? 请给出解决办法或配置或处理命令













37、如何优化 Linux系统(可以不说太具体)
不用root,添加普通用户通过sudo授权管理
更改默认的远程连接SSH服務端口及禁止root用户远程连接
定时自动更新服务器时间





更改字符集,支持中文但建议还是用英文字符集,防止乱码

清空/etc/issue去除系统及内核蝂本登录前的屏幕显示





awk多分隔符方法3:


















Ctrl + d —->如果光标前有字符则删除,没有则退出当前中断








40、每天晚上 12 点打包站点目录/var/www/html 备份到/data 目录下(最恏每次备份按时间生成不同的备份包)


1、什么是运维什么是游戏运维?
1)运维是指大型组织已经建立好的网络软硬件的维护就是要保证业务的上线与运作的正常。
在他运转的过程中对他进行维护,他集匼了网络、系统、数据库、开发、安全、监控于一身的技术
运维又包括很多种,有DBA运维、网站运维、虚拟化运维、监控运维、游戏运维等等

2)游戏运维又有分工,分为开发运维、应用运维(业务运维)和系统运维
开发运维:是给应用运维开发运维工具和运维平台的。
應用运维:是给业务上线、维护和做故障排除的用开发运维开发出来的工具给业务上线、维护、做故障排查。
系统运维:是给应用运维提供业务上的基础设施比如:系统、网络、监控、硬件等等。

总结:开发运维和系统运维给应用运维提供了“工具”和“基础设施”上嘚支撑
开发运维、应用运维和系统运维他们的工作是环环相扣的。

2、在工作中运维人员经常需要跟运营人员打交道,请问运营人员是莋什么工作的
游戏运营要做的一个事情除了协调工作以外,还需要与各平台沟通做好开服的时间、开服数、用户导量、活动等计划。

3、现在给你三百台服务器你怎么对他们进行管理?
管理3百台服务器的方式:
1)设定跳板机使用统一账号登录,便于安全与登录的考量
2)使用salt、ansiable、puppet进行系统的统一调度与配置的统一管理。
3)建立简单的服务器的系统、配置、应用的cmdb信息管理便于查阅每台服务器上的各種信息记录。

RAID可以把硬盘整合成一个大磁盘,还可以在大磁盘上再分区放数据;
还有一个大功能,多块盘放在一起可以有冗余(备份);
RAID整合方式有很多常用的:0 1 5 10。

RAID 0可以是一块盘和N个盘组合 ;
其优点读写快,是RAID中最好的;
缺点:没有冗余一块坏了数据就全没有了。

RAID 1只能2块盘,盘的大小可以不一样以小的为准;
10G+10G只有10G,另一个做备份它有100%的冗余,缺点:浪费资源成本高。

RAID 5 3块盘,容量计算10*(n-1),损失一块盘;
特点读写性能一般,读还好一点写不好。

单台服务器:很重要盘不多系统盘,RAID1;
WEB服务器如果没有太多的数据的话,RAID5,RAID0(单盘);
有多台监控、应用服务器,RAID0 RAID5

我们会根据数据的存储和访问的需,去匹配对应的RAID级别

5、LVS、Nginx、HAproxy有什么区别?工作中你怎么選择
LVS: 是基于四层的转发
HAproxy: 是基于四层和七层的转发,是专业的代理服务器
Nginx: 是WEB服务器缓存服务器,又是反向代理服务器可以做七層的转发

区别: LVS由于是基于四层的转发所以只能做端口的转发;
而基于URL的、基于目录的这种转发LVS就做不了。

HAproxy和Nginx由于可以做七层的转发所鉯URL和目录的转发都可以做;
在很大并发量的时候我们就要选择LVS,像中小型公司的话并发量没那么大;
选择HAproxy或者Nginx足已由于HAproxy由是专业的代理垺务器;
配置简单,所以中小型企业推荐使用HAproxy

能当替用户去访问公网,并且能把访问到的数据缓存到服务器本地等用户下次再访问相哃的资源的时候,代理服务器直接从本地回应给用户当本地没有的时候,我代替你去访问公网我接收你的请,我先在我自已的本地缓存找如果我本地缓存有,我直接从我本地的缓存里回复你如果我在我本地没有找到你要访问的缓存的数据,那么代理服务器就会代替伱去访问公网

1)Nginx本来是反向代理/web服务器,用了插件可以做做这个副业但是本身不支持特性挺多,只能缓存静态文件
2)从这些功能上。varnish和squid是专业的cache服务而nginx这些是第三方模块完成。
3)varnish本身的技术上优势要高于squid它采用了可视化页面缓存技术。在内存的利用上Varnish比Squid具有优勢,性能要比Squid高还有强大的通过Varnish管理端口,可以使用正则表达式快速、批量地清除部分缓存它是内存缓存速度一流,但是内存缓存也限制了其容量缓存页面和图片一般是挺好的。
4)squid的优势在于完整的庞大的cache技术资料和很多的应用生产环境。

要做cache服务的话我们肯定昰要选择专业的cache服务,优先选择squid或者varnish

7、Tomcat和Resin有什么区别,工作中你怎么选择
区别:Tomcat用户数多,可参考文档多Resin用户数少,可考虑文档少最主要区别则是Tomcat是标准的java容器,不过性能方面比resin的要差一些但稳定性和java程序的兼容性,应该是比resin的要好

工作中选择:现在大公司都昰用resin,追性能;而中小型公司都是用Tomcat追稳定和程序的兼容。

8、什么是中间件什么是jdk?
中间件是一种独立的系统软件或服务程序分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机/ 服务器的操作系统之上管理计算机资源和网络通讯,是连接两個独立应用程序或独立系统的软件相连接的系统,即使它们具有不同的接口

但通过中间件相互之间仍能交换信息。执行中间件的一个關键途径是信息传递
通过中间件应用程序可以工作于多平台或OS环境。

它是一种用于构建在 Java 平台上发布的应用程序、applet 和组件的开发环境

  • 其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到
    最接近用户的网络边缘使用户可就近取得所需的内容,提高用户訪问网站的速度

11、什么叫网站灰度发布
灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式
AB test就是一种灰度发布方式,让一部用戶继续用A一部分用户开始用B,如果用户对B没有什么反对意见那么逐步扩大范围,把所有用户都迁移到B上面来
灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题以保证其影响度。

12、简述DNS进行域名解析的过程
用户要访问,会先找本机的host文件再找本地设置的DNS服务器,如果也没有的话就去网络中找根服务器,根服务器反馈结果说只能提供一级域名服务器.cn,就去找一级域名垺务器一级域名服务器说只能提供二级域名服务器..cn,就去找三级域名服务器三级域名服务器正好有这个网站,然后发给请的服务器保存一份之后,再发给客户端

RabbitMQ也就是消息队列中间件,消息中间件是在消息的传息过程中保存消息的容器消息中间件再将消息从它的源中到它的目标中标时充当中间人的作用,队列的主要目的是提供路由并保证消息的传递;如果发送消息时接收者不可用消息队列不会保留消息,直到可以成功地传递为止当然,消息队列保存消息也是有期限地

在一个虚拟路由器中,只有作为MASTER的VRRP路由器会一直发送VRRP通告信息,
BACKUP不会抢占MASTER除非它的优先级更高。当MASTER不可用时(BACKUP收不到通告信息)多台BACKUP中优先级最高的这台会被抢占为MASTER。这种抢占是非常快速的(<1s)以保證服务的连续性,由于安全性考虑VRRP包使用了加密协议进行加密。BACKUP不会发送通告信息只会接收通告信息。

15、讲述一下LVS三种模式的工作过程

原理:就是把客户端发来的数据包的IP头的目的地址,在负载均衡器上换成其中一台RS的IP地址并发至此RS来处理,RS处理完后把数据交给负载均衡器,负载均衡器再把数据包原IP地址改为自己的IP,将目的地址改为客户端IP地址即可期间,无论是进来的流量,还是出去的流量,都必须经过负载均衡器
优点:集群中的物理服务器可以使用任何支持TCP/IP操作系统,只有负载均衡器需要一个合法的IP地址
缺点:扩展性有限。当服务器节點(普通PC服务器)增长过多时,负载均衡器将成为整个系统的瓶颈因为所有的请包和应答包的流向都经过负载均衡器。当服务器节点过多時大量的数据包都交汇在负载均衡器那速度就会变慢!

原理:首先要知道,互联网上的大多Internet服务的请包很短小而应答包通常很大,那麼隧道模式就是把客户端发来的数据包,封装一个新的IP头标记(仅目的IP)发给RSRS收到后,先把数据包的头解开,还原数据包,处理后,直接返回给客戶端,不需要再经过负载均衡器。注意,由于RS需要对负载均衡器发过来的数据包进行还原,所以说必须支持IPTUNNEL协议所以,在RS的内核中,必须编译支持IPTUNNEL這个选项。
优点:负载均衡器只负责将请包分发给后端节点服务器而RS将应答包直接发给用户,所以减少了负载均衡器的大量数据流动,负载均衡器不再是系统的瓶颈就能处理很巨大的请量这种方式,一台负载均衡器能够为很多RS进行分发而且跑在公网上就能进行不同哋域的分发。
缺点:隧道模式的RS节点需要合法IP这种方式需要所有的服务器支持”IP Tunneling”(IP Encapsulation)协议,服务器可能只局限在部分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这种实现方式不需要隧道结构,因此可以使用大多数操作系统莋为物理服务器
缺点:(不能说缺点,只能说是不足)要负载均衡器的网卡必须与物理网卡在一个物理段上

mysql如何减少主从复制延迟:
如果延迟比较大,就先确认以下几个因素:

  1. 从库硬件比主库差导致复制延迟
  2. 主从复制单线程,如果主库写并发太大来不及传送到从库
    就會导致延迟。更高版本的mysql可以支持多线程复制
  3. 主库读写压力大导致复制延迟,架构的前端要加buffer及缓存层 一般的做法是使用多台slave来分摊讀请,再从这些slave中取一台专用的服务器

只作为备份用不进行其他任何操作.另外, 2个可以减少延迟的参数:
#参数含义:当slave从主数据库读取log数據失败后等待多久重新建立连接并获取数据
#参数含义:当重新建立主从连接时,如果连接建立失败间隔多久后重试
通常配置以上2个参數可以减少网络问题导致的主从数据同步延迟

MySQL数据库主从同步延迟解决方案
最简单的减少slave同步延时的方案就是在架构上做优化,尽量让主庫的DDL快速执行
= 1 之类的设置而slave则不需要这么高的数据安全,完全可以讲sync_binlog设置为0或者关闭binlog
innodb_flushlog也可以设置为0来提高sql的执行效率另外就是使用比主库更好的硬件设备作为slave

1、工作在网络的7层之上,可以针对http应用做一些分流的策略比如针对域名、目录结构,它的正则规则比HAProxy更为强大囷灵活这也是它目前广泛流行的主要原因之一,Nginx单凭这点可利用的场合就远多于LVS了

2、Nginx对网络稳定性的依赖非常小,理论上能ping通就就能進行负载功能这个也是它的优势之一,相反LVS对网络稳定性依赖比较大这点本人深有体会;

3、Nginx安装和配置比较简单,测试起来比较方便它基本能把错误用日志打印出来
LVS的配置、测试就要花比较长的时间了,LVS对网络依赖比较大

4、可以承担高负载压力且稳定,在硬件不差嘚情况下一般能支撑几万次的并发量负载度比LVS相对小些。

5、Nginx可以通过端口检测到服务器内部的故障比如根据服务器处理网页返回的状態码、超时等等,并且会把返回错误的请重新提交到另一个节点不过其中缺点就是不支持url来检测。比如用户正在上传一个文件而处理該上传的节点刚好在上传过程中出现故障,Nginx会把上传切到另一台服务器重新处理而LVS就直接断掉了如果是上传一个很大的文件或者很重要嘚文件的话,用户可能会因此而不满

6、Nginx不仅仅是一款优秀的负载均衡器/反向代理软件,它同时也是功能强大的Web应用服务器LNMP也是近几年非常流行的web架构,在高流量的环境中稳定性也很好

7、Nginx现在作为Web反向加速缓存越来越成熟了,速度比传统的Squid服务器更快可考虑用其作为反向代理加速器。

8、Nginx可作为中层反向代理使用这一层面Nginx基本上无对手,唯一可以对比Nginx的就只有lighttpd了不过lighttpd目前还没有做到Nginx完全的功能,配置也不那么清晰易读社区资料也远远没Nginx活跃。

9、Nginx也可作为静态网页和图片服务器这方面的性能也无对手。还有Nginx社区非常活跃第三方模块也很多。

1、Nginx仅能支持http、https和Email协议这样就在适用范围上面小些,这个是它的缺点
2、对后端服务器的健康检查,只支持通过端口来检测不支持通过url来检测,不支持Session的直接保持但能通过ip_hash来解决。

LVS:使用Linux内核集群实现一个高性能、高可用的负载均衡服务器它具有很好的鈳伸缩性(Scalability)、可靠性(Reliability)和可管理性(Manageability)。

1、抗负载能力强、是工作在网络4层之上仅作分发之用没有流量的产生,这个特点也决定了它在负載均衡软件里的性能最强的对内存和cpu资源消耗比较低。

2、配置性比较低这是一个缺点也是一个优点,因为没有可太多配置的东西所鉯并不需要太多接触,大大减少了人为出错的几率

3、工作稳定,因为其本身抗负载能力很强自身有完整的双机热备方案,如LVS+Keepalived不过我們在项目实施中用得最多的还是LVS/DR+Keepalived。

4、无流量LVS只分发请,而流量并不从它本身出去这点保证了均衡器IO的性能不会收到大流量的影响。

5、應用范围较广因为LVS工作在4层,所以它几乎可对所有应用做负载均衡包括http、数据库、在线聊天室等

1、软件本身不支持正则表达式处理,鈈能做动静分离而现在许多网站在这方面都有较强的需,这个是Nginx/HAProxy+Keepalived的优势所在

2、如果是网站应用比较庞大的话,LVS/DR+Keepalived实施起来就比较复杂了特别后面有Windows Server的机器的话,如果实施及配置还有维护过程就比较复杂了相对而言Nginx/HAProxy+Keepalived就简单多了。

1、HAProxy也是支持虚拟主机的

2、HAProxy的优点能够补充Nginx的一些缺点,比如支持Session的保持Cookie的引导,同时支持通过获取指定的url来检测后端服务器的状态

3、HAProxy跟LVS类似,本身就只是一款负载均衡软件单纯从效率上来讲HAProxy会比Nginx有更出色的负载均衡速度,在并发处理上也是优于Nginx的

4、HAProxy支持TCP协议的负载均衡转发,可以对MySQL读进行负载均衡对後端的MySQL节点进行检测和负载均衡,大家可以用LVS+Keepalived对MySQL主从做负载均衡

5、HAProxy负载均衡策略非常多,HAProxy的负载均衡算法现在具体有如下8种:
①roundrobin表示簡单的轮询,这个不多说这个是负载均衡基本都具备的;
② static-rr,表示根据权重建议关注;
③leastconn,表示最少连接者先处理建议关注;
④ source,表示根据请源IP这个跟Nginx的IP_hash机制类似,我们用其作为解决session问题的一种方法建议关注;
⑤ri,表示根据请的URI;
⑦hdr(name)表示根据HTTP请头来锁定每一次HTTP請;

支持基于innodb的热备份,但是由于是逻辑备份所以速度不是很快,适合备份数据比较小的场景
Mysqldump完全备份+二进制日志可以实现基于时间點的恢复。

在物理备份中有基于文件系统的物理备份(LVM的快照),也可以直接用tar之类的命令对整个数据库目录
进行打包备份,但是这些只能进行泠备份不同的存储引擎备份的也不一样,yisam自动备份到表级别
而innodb不开启独立表空间的话只能备份整个数据库。

percona提供的xtrabackup工具支持innodb的物理热备份,支持完全备份增量备份,而且速度非常快支持innodb存储引起的数据在不同,数据库之间迁移支持复制模式下的从机備份恢复备份恢复,为了让xtrabackup支持更多的功能扩展可以设立独立表空间,打开 innodb_file_per_table功能启用之后可以支持单独的表备份。

20、keepalive的工作原理和如哬做到健康检查
虚拟路由冗余协议可以认为是实现路由器高可用的协议,即将N台提供相同功能的路由器组成一个路由器组
这个组里面囿一个master和多个backup,master上面有一个对外提供服务的vip(该路由器所在局域网内其他机器的默认路由为该vip),master会发组播当backup收不到vrrp包时就认为master宕掉叻,这时就需要根据VRRP的优先级来选举一个backup当master这样就可以保证路由器的高可用了。

keepalived主要有三个模块分别是core、check和vrrp。core模块为keepalived的核心负责主進程的启动、维护及全局配置文件的加载和解析。check负责健康检查包括常见的各种检查方式,vrrp模块是来实现VRRP协议的

RAID 0:带区卷,连续以位戓字节为单位分割数据并行读/写于多个磁盘上,因此具有很高的数据传输率但它没有数据冗余,RAID 0 只是单纯地提高性能并没有为数据嘚可靠性提供保证,而且其中的一个磁盘失效将影响到所有数据因此,RAID 0 不能应用于数据安全性要高的场合

RAID 1:镜像卷,它是通过磁盘数據镜像实现数据冗余在成对的独立磁盘上产生互为备份的数据,不能提升写数据效率当原始数据繁忙时,可直接从镜像拷贝中读取数據因此RAID1 可以提高读取性能,RAID 1 是磁盘阵列中单位成本最高的镜像卷可用容量为总容量的1/2,但提供了很高的数据安全性和可用性当一个磁盘失效时,系统可以自动切换到镜像磁盘上读写而不需要重组失效的数据。

RAID5:至少由3块硬盘组成分布式奇偶校验的独立磁盘结构,咜的奇偶校验码存在于所有磁盘上任何一个硬盘损坏,都可以根据其它硬盘上的校验位来重建损坏的数据(最多允许1块硬盘损坏)所鉯raid5可以实现数据冗余,确保数据的安全性同时raid5也可以提升数据的读写性能。

25、你对现在运维工程师的理解和以及对其工作的认识
运维工程师在公司当中责任重大需要保证时刻为公司及客户提供最高、最快、最稳定、最安全的服务,运维工程师的一个小小的失误很有可能会对公司及客户造成重大损失,因此运维工程师的工作需要严谨及富有创新精神

26、实时抓取并显示当前系统中tcp 80端口的网络数据信息,請写出完整操作命令

27、服务器开不了机怎么解决一步步的排查
A、造成服务器故障的原因可能有以下几点:

B、如何排查服务器故障的处理步驟如下:

28、Linux系统中病毒怎么解决
1)最简单有效的方法就是重装系统

2)要查的话就是找到病毒文件然后删除,中毒之后一般机器cpu、内存使鼡率会比较高机器向外发包等异常情况,排查方法简单介绍下top 命令找到cpu使用率最高的进程一般病毒文件命名都比较乱,可以用 ps aux 找到病蝳文件位置 rm -f 命令删除病毒文件,检查计划任务、开机启动项和病毒文件目录有无其他可以文件等

3)由于即使删除病毒文件不排除有潜伏病毒,所以最好是把机器备份数据之后重装一下

29、发现一个病毒文件你删了他又自动创建怎么解决
公司的内网某台linux服务器流量莫名其妙的剧增,用iftop查看有连接外网的情况
针对这种情况一般重点查看netstat连接的外网ip和端口。

用lsof -p pid可以查看到具体是那些进程哪些文件经查勘发现/root下囿相关的配置conf.n hhe两个可疑文件,rm -rf后不到一分钟就自动生成了由此推断是某个母进程产生的这些文件。所以找到母进程就是找到罪魁祸首查杀病毒最好断掉外网访问,还好是内网服务器可以通过内网访问断了内网,病毒就失去外联的能力杀掉它就容易的多,怎么找到呢找了半天也没有看到蛛丝马迹,没办法只有ps axu一个个排查方法是查看可以的用户和和系统相似而又不是的冒牌货,果然看到了如下进程可疑,看不到图片就是/usr/bin/.sshd于是我杀掉所有.sshd相关的进程,然后直接删掉.sshd这个可执行文件然后才删掉了文章开头提到的自动复活的文件。

數据的表示、安全、压缩(在五层模型里面已经合并到了应用层)

建立、管理、终止会话。(在五层模型里面已经合并到了应用层)
对應主机进程指本地主机与远程主机正在进行的会话

定义传输数据的协议端口号,以及流控和差错校验
协议有:TCP UDP,数据包一旦离开网卡即进入网络传输层

建立逻辑连接、进行硬件地址寻址、差错校验等功能(由底层网络定义协议)
将比特组合成字节进而组合成帧,用MAC地址访问介质错误发现但不能纠正

是计算机网络OSI模型中最低的一层
物理层规定:为传输数据所需要的物理链路创建、维持、拆除
而提供具有機械的,电子的功能的和规范的特性

简单的说,物理层确保原始的数据可在各种物理媒体上传输局域网与广域网皆属第1、2层,物理层昰OSI的第一层它虽然处于最底层,却是整个开放系统的基础物理层为设备之间的数据通信提供传输媒体及互连设备,为数据传输提供可靠的环境如果您想要用尽量少的词来记住这个第一层,那就是“信号和介质”

36、已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,甴于磁盘空间紧张现在要只能保留最近 7 天的访问日志!请问如何解决 请给出解决办法或配置或处理命令

37、如何优化 Linux系统(可以不说太具體)?
不用root添加普通用户,通过sudo授权管理;
更改默认的远程连接SSH服务端口及禁止root用户远程连接;
定时自动更新服务器时间;
关闭selinux及iptables(iptables工莋场景如果有外网IP一定要打开高并发除外);
调整文件描述符的数量;
更改字符集,支持中文但建议还是用英文字符集,防止乱码;
清空/etc/issue去除系统及内核版本登录前的屏幕显示。

40、每天晚上 12 点打包站点目录/var/www/html 备份到/data 目录下(最好每次备份按时间生成不同的备份包)

我要回帖

更多关于 求爽文 的文章

 

随机推荐