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

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

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

冗余从好到坏:RAID1 RAID10 RAID 5 RAID0
性能从好到坏:RAID0 RAID10 RAID5 RAID1
成本从低到高:RAID0 RAID5 RAID1 RAID10

单台服务器:很重要盘不多,系统盘,RAID1
数据库服务器:主库:RAID10 从库 RAID5RAID0(为了维护成本,RAID10)
WEB服务器,如果没有太多的数据的话,RAID5,RAID0(单盘)
有多台,监控、应用服务器,RAID0 RAID5

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

      但是本身不支持特性挺多,只能缓存静态文件
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环境。

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

9、讲述一下Tomcat8005、8009、8080三个端口的含义?
8005==》 关闭时使用
8009==》 为AJP端口,即容器使用,如Apache能通过AJP协议访问Tomcat的8009端口
8080==》 一般应用使用

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

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

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

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

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

15、讲述一下LVS三种模式的工作过程?
LVS 有三种负载均衡的模式,分别是VS/NAT(nat 模式) VS/DR(路由模式) VS/TUN(隧道模式)

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

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

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

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

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

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

(IP Encapsulation)协议,服务器可能只局限在部分Linux系统上

原理:负载均衡器和RS都使用同一个IP对外服务但只有DR对ARP请求进行响应

并将请求分发给这台RS这时RS收到这个数据包,处理完成之后,由于IP一致,可以直接将数据返给客户

也可以简单的理解为在同一台交换机上

缺点:(不能说缺点,只能说是不足)要求负载均衡器的网卡必须与物理网卡在一个物理段上。

mysql的innodb如何定位锁问题:
在使用 show engine innodb status检查引擎状态时,发现了死锁问题
在5.5中,information_schema 库中增加了三个关于锁的表(MEMORY引擎)

  • innodb_lock_waits  ## 锁等待的对应关系

    就会导致延迟。更高版本的mysql可以支持多线程复制
3. 慢SQL语句过多
4. 网络延迟

 

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

还有就是主库是写,对数据安全性较高,比如sync_binlog=1,innodb_flush_log_at_trx_commit
= 1 之类的设置,而slave则不需要这么高的数据安全,完全可以讲sync_binlog设置为0或者关闭binlog

17、如何重置mysql root密码?

1、 在SHELL环境下,使用mysqladmin命令设置:

2、 在mysql>环境中,使用update命令,直接更新mysql库user表的数据:

Update  mysql.user  set  password=password(‘新密码’)  where  user=’root’;
flush   privileges;

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

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

       /usr/local/mysql/bin/mysqld_safe  --skip-grant-table  &

 

Nginx的优点是:

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

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

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

 

 

 

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

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

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

 

  

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

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

      如LVS+Keepalived,不过我们在项目实施中用得最多的还是LVS/DR+Keepalived

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

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

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

HAProxy的特点是:

      同时支持通过获取指定的url来检测后端服务器的状态

      单纯从效率上来讲HAProxy会比Nginx有更出色的负载均衡速度,在并发处理上也是优于Nginx的

      对后端的MySQL节点进行检测和负载均衡,大家可以用LVS+Keepalived对MySQL主从做负载均衡

①roundrobin,表示简单的轮询,这个不多说,这个是负载均衡基本都具备的;

④ source,表示根据请求源IP,这个跟Nginx的IP_hash机制类似

⑥rl_param,表示根据请求的URl参数’balance url_param’ requires an URL parameter name;

 

基于LVM快照备份

在物理备份中,有基于文件系统的物理备份(LVM的快照),也可以直接用tar之类的命令对整个数据库目录

进行打包备份,但是这些只能进行泠备份,不同的存储引擎备份的也不一样,myisam自动备份到表级别

而innodb不开启独立表空间的话只能备份整个数据库。

 

tar包备份

 

20、keepalive的工作原理和如何做到健康检查

 

22、使用tcpdump监听主机为192.168.1.1,tcp端口为80的数据,同时将输出结果保存输出到tcpdump.log

tcpdump 'host 192.168.1.1 and port 80' > tcpdump.log

 

 

所以raid5可以实现数据冗余,确保数据的安全性,同时raid5也可以提升数据的读写性能

运维工程师在公司当中责任重大,需要保证时刻为公司及客户提供最高、最快、最稳定、最安全的服务

 

27、服务器开不了机怎么解决一步步的排查

 

 

2)要查的话就是找到病毒文件然后删除

 

rm -f  命令删除病毒文件

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

公司的内网某台linux服务器流量莫名其妙的剧增,用iftop查看有连接外网的情况

用lsof -p pid可以查看到具体是那些进程,哪些文件

 

怎么找到呢,找了半天也没有看到蛛丝马迹,没办法只有ps axu一个个排查

看不到图片就是/usr/bin/.sshd

 

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

30、说说TCP/IP的七层模型

表示层(Presentation Layer):

建立、管理、终止会话。(在五层模型里面已经合并到了应用层)

对应主机进程,指本地主机与远程主机正在进行的会话

 

网络层 (Network):

建立逻辑连接、进行硬件地址寻址、差错校验等功能。(由底层网络定义协议)

将比特组合成字节进而组合成帧,用MAC地址访问介质,错误发现但不能纠正

 

物理层(Physical Layer):

计算机网络OSI模型中最低的一层

物理层规定:为传输数据所需要的物理链路创建、维持、拆除

而提供具有机械的,电子的,功能的和规范的特性

 

简单的说,物理层确保原始的数据可在各种物理媒体上传输。局域网广域网皆属第1、2层

物理层是OSI的第一层,它虽然处于最底层,却是整个开放系统的基础

物理层为设备之间的数据通信提供传输媒体及互连设备,为数据传输提供可靠的环境

如果您想要用尽量少的词来记住这个第一层,那就是“信号介质

rewrite模块,实现重写功能

ngx_http_gzip_module:网络传输压缩模块

ngx_cache_purge实现缓存清除功能

Nginx

LVS

netstat -n |awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

* soft nofile 10240

 

 

创建文件脚本:

#!/bin/bash

for n in `seq 14`
do        
date -s "11/0$n/14"
touch access_www_`(date +%F)`.log
done

 

 

Ctrl + c

Ctrl + l

tab

 

Ctrl + e —->光标移动到行尾

Ctrl + l —->清屏

Ctrl + y —->复制u/k的内容

Ctrl+shift+c —->复制

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

# cat a.sh 
#/bin/bash
cd /var/www/ && /bin/tar zcf /data/html-`date +%m-%d%H`.tar.gz html/
# crontab –e
00 00 * * * /bin/sh /root/a.sh