(完整版)运维面试题(含答案)_第1页
(完整版)运维面试题(含答案)_第2页
(完整版)运维面试题(含答案)_第3页
(完整版)运维面试题(含答案)_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、运维工程师面试题姓名 :答题时间 :1. 新安装 MYSQL后怎样提升 MYSQL 的安全级别?A.修改 mysql 默认端口B.linux 下可以通过 iptables 来限制访问 mysql 端口的 IP 地址C.对所有用户设置较复杂密码并严格指定对应账号的访问指定用户的访问可访问IP 地址)IP(可在mysql 库中user 表中D.root特权账号的处理(建议给root账号设置强密码,并指定只允许本地登录)E.开启二进制查询日志和慢查询日志F.mysql安装目录及数据存储目录权限控制:给 mysql 安装目录读取权限,给mysql 日志和数据所在目录读取和写入权限G.删除无用mysql

2、 账号和删除无用的数据库(安装好的mysql 默认会有个test库,可将其删除)2. MYSQL的主从原理,怎么配置文件?整体上来说,复制有 3 个步骤:A.master 将改变记录到二进制日志(binary log) 中(这些记录叫做二进制日志事件,binarylog events );B.slave 将 master 的 binary log events 拷贝到它的中继日志C.slave重做中继日志中的事件,将改变反映它自己的数据。(relay log) ;3. mysql 主从复制的优点<1> 如果主服务器出现问题,可以快速切换到从服务器提供的服务;<2> 可以

3、在从服务器上执行查询操作,降低主服务器的访问压力;<3> 可以在从服务器上执行备份,以避免备份期间影响主服务器的服务。4. Mysql 复制的基本原理过程( 1) Slave 上面的 IO 线程连接上 Master ,并请求从指定日志文件的指定位置(或者从最开始的日志)之后的日志内容;( 2) Master 接收到来自 Slave 的 IO 线程的请求后,通过负责复制的 IO 线程根据请求信息读取指定日志指定位置之后的日志信息, 返回给 Slave端的 IO 线程。返回信息中除了日志所包含的信息之外,还包括本次返回的信息在 Master 端 binary log 文件的名称以及在B

4、inary log 中的位置;( 3)Slave的 IO 线程收到信息后,将接收到的日志内容依次写入到Slave 端的 RelayLog文件( mysql-relay-lin.xxxxx)的最末端,并将读取到的Master 端的 bin -log 的文件名和位置记录到 master-info 文件中, 以便在下一次读取的时候能够清楚的告诉master “我需要从某个bin -log 的哪个位置开始往后的日志内容,请发给我”( 4) Slave 的 SQL线程检测到Relay Log 中新增加了内容后,会马上解析该Log 文件中的内容成为在Master 端真实执行时候的那些可执行的查询或操作语句

5、,并在自身执行那些查询或操作语句,这样,实际上就是在master 端和 Slave 端执行了同样的查询或操作语句,所以两端的数据是完全一样的。5. 为 MYSQL添加一个用户?mysql> grant select,insert,update,delete on book.* to test2localhost identified by “ abc ”;#增加 test2 用户,密码为 abc。并只能在 localhost 这台主机上登录,并且只能访问 book 这个库中的表,具有查询,插入,更新,删除权限;语法: mysql> GRANT <权限 > ON <

6、库 >.<表 > TO 户用 主机名 identified by 密码“”;6.写一个脚本将数据库备份并打包至远程服务器目录下。cd /mnt/usr/local/mysql/bin/mysqldump-hlocalhost -uroot test >test.sqlrm -f test.sql7.写一个脚本进行nginx 日志统计,得到访问ip 最多的前 10 个 (nginx日志路径/home/logs/nginx/default/access.log)awk a$1+ENDfor (j in a) printaj,j/home/logs/nginx/default

7、/access.log|sort-nr|head -108.简要描述 Linux 的启动过程?BIOS启动引导 (从 mbr 中装载启动管理器grub) -GRUB启动引导 (装载 kernel 和 initrd 到内存 ) 内核启动参数 -sys init 初始化 .9. 简要叙述下列端口所运行的服务21、 22、 23、 25、 110、 143、 873、 3306对应的服务是 ftp ssh telnet snmp pop3 IMAP rsync10. Linux 系统中病毒怎么解决找到病毒文件然后删除;中毒之后一般机器cpu、内存使用率会比较高,机器向外发包等异常情况,排查方法:li

8、nux 服务器流量剧增,用 iftop 查看有连接外网的情况。netstat 连接的外网ip 和端口。#top 命令找到cpu 使用率高的进程,一般病毒文件命名都比较乱#可以用 ps aux 查看是否有不明进程,找出病毒文件的位置#rm-f 命令删除病毒文件#检查计划任务、开机启动项和病毒文件目录有无其他可疑文件等chkconfig-list| grep 3:on服务器启动级别是3 的,检查一下了开机启动项,没有特别明显的服务。然后检查了一下开机启动的一个文件,more/etc/rc.local11. 发现一个病毒文件你删了他又自动创建怎么解决ps axu 一个个排查,方法是查看可疑的用户和系

9、统相似而又不是的进程找出进程可疑。杀掉所有与病毒相关的进程,然后删掉病毒这个可执行文件,最后删除病毒创建的文件12. 请写出 5 个你常用的系统或网络维护工具的名称rhel centos ubuntuiotop 用于检查I/O 的使用情况htop 实质上是top 的一个增强版本。它更容易对进程排序。pingtraceroute13. 你使用过监控软件吗?说说其特点使用 nagios 对服务器进行监控,其特点侧重于对检测项的状态监控,主要通过nrpe 实现对远程主机的监控,但也可以通过snmp 对设备(如路由器、交换机)进行监控,可实时实现手机短信、电子邮件、MSN、飞信报警。使用cacti 对

10、服务器进行监控,其特点侧重性能和流量监控并通过图表显示,主要通过snmp协议收集监测项数据,可实时实现手机短信、电子邮件、使用 zabbix 对服务器进行监控,zabbix 是完全开源的工具,整合了cacti 和 nagios 等特性。zabbix可以对主机的性能监控、网络设备性能监控、数据库、FTP等通用协议监控、多种告警方式、详细的报表图表绘制支持自动发现网络设备和服务器(可以通过配置自动发现服务器规则来实现)支持分布式,能集中展示、管理分布式的监控点,扩展性强可以自己开发完善各类监控(根据相关接口编写程序实现), 编写插件容易, 可以自定义监控项,报警级别的设置。数据收集,支持snmp(

11、包括 trapping and polling ), IPMI, JMX, SSH, TELNET;14. web 服务器的调优要点以 nginx 为例,个人总结有如下几个要点:1)尽可能的少用http ,因为 http 是有开销的;2)尽可能的使用CDN;3)添加 Expire/Cache-Control 头,这个头是缓存用的,可以缓存图片和flash 那样不轻易更改的文件,减少访问时间;4)启动 gzip 压缩,这个没啥好说的了;5)尽可能少的重定向,能rewrite 就不要 return ,我也知道 return比 rewrite 好写,但是重定向是需要时间的,增加一次重定向就会多一次w

12、eb 需求;6)如果可以,把ajax 也做缓存;7)减少 dns 查询,很多网页会有外站的广告,这些广告也是会启动dns 查询的,所以如果不缺钱,减少这种广告;8)调好服务器里的TCP协议栈,这个无论是web 服务器还是应用服务器都是必须的;15. mysql 的 innodb 如何定位锁问题, mysql 如何减少主从复制延迟?mysql 的 innodb 如何定位锁问题:在使用在 5.5show engine innodb status 检查引擎状态时,发现了死锁问题中, information_schema库中增加了三个关于锁的表(MEMORY引擎):innodb_trx# 当前运行的所

13、有事务innodb_locks# 当前出现的锁slave。innodb_lock_waits# 锁等待的对应关系mysql 如何减少主从复制延迟:如果延迟比较大,就先确认以下几个因素:1. 从库硬件比主库差,导致复制延迟2. 主从复制单线程,如果主库写并发太大,来不及传送到从库,就会导致延迟。更高版本的 mysql 可以支持多线程复制3. 慢 SQL语句过多4. 网络延迟 5. master 负载主库读写压力大,导致复制延迟,架构的前端要加 buffer 一般的做法是,使用多台 slave 来分摊读请求,再从这些及缓存层6. slave 负载slave 中取一台专用的服务器,只作为备份用,不进

14、行其他任何操作.另外, 2 个可以减少延迟的参数: slave-net-timeout=seconds 单位为秒 默认设置为 3600 秒#参数含义:当slave 从主数据库读取log 数据失败后,等待多久重新建立连接并获取数据 master-connect -retry=seconds 单位为秒 默认设置为 60 秒#参数含义:当重新建立主从连接时,如果连接建立失败,间隔多久后重试。通常配置以上2 个参数可以减少网络问题导致的主从数据同步延迟16. MySQL 数据库主从同步延迟解决方案最简单的减少 slave 同步延时的方案就是在架构上做优化, 尽量让主库的 DDL 快速执行。还有就是主库

15、是写, 对数据安全性较高, 比如 sync_binlog=1,innodb_flush_log_at_trx_commit= 1 之类的设置, 而 slave 则不需要这么高的数据安全, 完全可以讲 sync_binlog 设置为 0 或者关闭 binlog , innodb_flushlog 也可以设置为 0 来提高 sql 的执行效率。另外就是使用比主库更好的硬件设备作为17. osi 七层模型, tcp 三次握手过程, tcp 连接断开过程,什么情况下tcp 进入 time_wait?其他问题答案略什么情况下 tcp 进入 time_wait?当关闭一个 socket 连接时,主动关闭一

16、端的socket 将进入 TIME_WAIT 状态,而被动关闭一方则转入 CLOSED状态。具体过程如下:1、 客户端发送 FIN 报文段,进入 FIN_WAIT_1 状态。 2、 服务器端收到 FIN报文段,发送ACK表示确认,进入CLOSE_WAIT状态。 3、 客户端收到 FIN 的确认报文段,进入 FIN_WAIT_2 状态。 4、服务器端发送FIN 报文端,进入LAST_ACK状态。 5、 客户端收到 FIN 报文端,发送 FIN 的ACK,同时进入TIME_WAIT 状态,启动 TIME_WAIT 定时器,超时时间设为2MSL。 6、 服务器端收到 FIN 的 ACK,进入 CLO

17、SED状态。 7、客户端在 2MSL 时间内没收到对端的任何响应,TIME_WAIT 超时,进入 CLOSED状态。18. 请列出你了解的 web 服务器负载架构。Nginxhaproxykeepalivedlvs19. 请写出你知道或使用过的 nginx 扩展模块(注意标注知道和使用)我的答案 随便说几个,这玩意到时候结合工作过的情况说说吧:Nginx 负载均衡模块:nginx-upstream -fair非阻塞访问redis 模块: redis2-nginx-module分布式图片实时动态压缩:ngx-fastdfs20. 请根据你的理解,简述高可用服务体系的相关组件,并列举该组件的具体实

18、现服务名字统一配置 :zookeeper 、 Consul、 Etcd+Confd(这俩比较常见于动态管理nginx)前端展示 :nginx消息队列 :activemq 、kafka读写分离中间件:atlas日志分析 :elk21. 请根据你的理解,简述数据迁移工具和数据存储服务有哪些以及相关特点由于我公司主要都放在了阿里云,数据库用过的就这么几个:mysql 、 redis对于 Storm 和 Hadoop 这俩我还是初学者。和elasticsearch。mysql:关系型数据库elasticsearch:全文检索框架,这玩意逐渐向一个数据库靠拢了redis:键值储存数据库mysql 的数据迁移最常见的就是mysqldump ,但是要注意使用不当会锁表,redis 的数据迁移最稳妥的方法就是主从同步:在 slave 端启动 redis,然后执行slaveof master机器 IP 地址6379,然后使用info 的时候查看master_link_status 如果是 up 那就是 OK 了,再执行 slaveof no one, 提示 OK 就是 OK 了;Elasticsearch 的数据迁移工具就是 Elasticsearch-Exporter ,不过我

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论