35 道必懂的 Linux 运维面试题,你确定都能答对?

        目录

1、linux系统里,buffer和cache如何区分?

2、简述 raid0 raid1 raid5 三种工作模式的工作原理及特点

3、LVS、Nginx、HAproxy 有什么区别?工作中你怎么选择?

4、Squid、Varinsh 和 Nginx 有什么区别,工作中你怎么选择?

5、Tomcat和Resin有什么区别,工作中你怎么选择?

6、能否给一个网卡配置多个IP? 如果能,怎么配置?

7、讲述一下Tomcat8005、8009、8080三个端口的含义?

8、什么叫CDN?

9、什么叫网站灰度发布?

10、简述 DNS 进行域名解析的过程?

11、vmstat r, b, si, so, bi, bo 这几列表示什么含义呢?

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

13、MySQL 的 innodb 如何定位锁问题,MySQL 如何减少主从复制延迟?

14、如何重置 MySQL Root 密码?

15、lvs/nginx/haproxy 优缺点

16、mysql数据备份工具

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

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

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

20、如何将本地80 端口的请求转发到8080 端口,当前主机IP 为192.168.2.1

21、你对现在运维工程师的理解和以及对其工作的认识

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

23、使用rsync同步数据时,假如我们采用的是ssh方式,并且目标机器的sshd端口并不是默认的22端口,那我们如何做?

24、Linux 系统中病毒怎么解决

25、发现一个病毒文件你删了他又自动创建怎么解决

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

27、你常用的 Nginx 模块,用来做什么

28、请列出你了解的web服务器负载架构

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

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

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

32、说说Linux内核中的写时复制技术

33、如何优化 Linux系统?

34、请执行命令取出 linux 中 eth0 的 IP 地址(请用 cut,有能力者也可分别用 awk,sed 命令答)

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


1、linux系统里,buffer和cache如何区分?

buffer和cache都是内存中的一块区域,当CPU需要写数据到磁盘时,由于磁盘速度比较慢,所以CPU先把数据存进buffer,然后CPU去执行其他任务,buffer中的数据会定期写入磁盘;当CPU需要从磁盘读入数据时,由于磁盘速度比较慢,可以把即将用到的数据提前存入cache,CPU直接从Cache中拿数据要快的多。

2、简述 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 RAID10 RAID 5 RAID0

  • 性能从好到坏:RAID0 RAID10 RAID5 RAID1

  • 成本从低到高:RAID0 RAID5 RAID1 RAID10

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

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

3、LVS、Nginx、HAproxy 有什么区别?工作中你怎么选择?

  • LVS:是基于四层的转发

  • HAproxy:是基于四层和七层的转发,是专业的代理服务器

  • Nginx:是WEB服务器,缓存服务器,又是反向代理服务器,可以做七层的转发

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

工作选择:

  • HAproxy 和 Nginx 由于可以做七层的转发,所以 URL 和目录的转发都可以做

  • 在很大并发量的时候我们就要选择LVS,像中小型公司的话并发量没那么大

  • 选择 HAproxy 或者 Nginx 足已,由于 HAproxy 由是专业的代理服务器

  • 配置简单,所以中小型企业推荐使用 HAproxy

4、Squid、Varinsh 和 Nginx 有什么区别,工作中你怎么选择?

Squid、Varinsh 和 Nginx 都是代理服务器

什么是代理服务器:

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

区别:

1)Nginx 本来是反向代理/web服务器,用了插件可以做做这个副业,但是本身不支持特性挺多,只能缓存静态文件
2)从这些功能上。varnish 和 squid 是专业的 cache 服务,而 nginx 这些是第三方模块完成
3)varnish 本身的技术上优势要高于 squid,它采用了可视化页面缓存技术

在内存的利用上,Varnish 比 Squid 具有优势,性能要比 Squid 高。还有强大的通过 Varnish 管理端口,可以使用正则表达式快速、批量地清除部分缓存。它是内存缓存,速度一流,但是内存缓存也限制了其容量,缓存页面和图片一般是挺好的

4)squid 的优势在于完整的庞大的 cache 技术资料,和很多的应用生产环境

工作中选择:

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

5、Tomcat和Resin有什么区别,工作中你怎么选择?

  • 区别:Tomcat 用户数多,可参考文档多,Resin用户数少,可考虑文档少

最主要区别则是 Tomcat 是标准的 java 容器,不过性能方面比 resin 的要差一些。但稳定性和 java 程序的兼容性,应该是比 resin 的要好

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

6、能否给一个网卡配置多个IP? 如果能,怎么配置?

可以给一个网卡配置多个IP,配置步骤如下:

cat /etc/sysconfig/network-scripts/ifcfg-eth0#查看eth0的配置
DEVICE=eth0
HWADDR=00:0C:29:06:37:BA
TYPE=Ethernet
UUID=0eea1820-1fe8-4a80-a6f0-39b3d314f8da
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.147.130
NETMASK=255.255.255.0
GATEWAY=192.168.147.2
DNS1=192.168.147.2
DNS2=8.8.8.8

(1)新建一个ifcfg-eth0:1文件

cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0:1

(2)修改其内容如下:

vim /etc/sysconfig/network-scripts/ifcfg-eth0:1
DEVICE=eth0:1
HWADDR=00:0C:29:06:37:BA
TYPE=Ethernet
UUID=0eea1820-1fe8-4a80-a6f0-39b3d314f8da
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.147.133
NETMASK=255.255.255.0
GATEWAY=192.168.147.2
DNS1=192.168.147.2
DNS2=8.8.8.8

(3)重启网络服务:

service network restart

7、讲述一下Tomcat8005、8009、8080三个端口的含义?

8005 -  关闭时使用
8009 -  为AJP端口,即容器使用,如Apache能通过AJP协议访问Tomcat的8009端口
8080 -  一般应用使用

8、什么叫CDN?

  • 即内容分发网络

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

9、什么叫网站灰度发布?

灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式。

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

10、简述 DNS 进行域名解析的过程?

用户要访问 www.baidu.com,会先找本机的 host 文件,再找本地设置的 DNS 服务器,如果也没有的话,就去网络中找根服务器,根服务器反馈结果,说只能提供一级域名服务器.cn,就去找一级域名服务器,一级域名服务器说只能提供二级域名服务器.com.cn,就去找二级域名服务器。

二级域服务器只能提供三级域名服务器.baidu.com.cn,就去找三级域名服务器,三级域名服务器正好有这个网站www.baidu.com,然后发给请求的服务器,保存一份之后,再发给客户端。

11、vmstat r, b, si, so, bi, bo 这几列表示什么含义呢?

[root@centos6 ~ 10:57 #39]# vmstat
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
0  0      0 1783964  13172 106056    0    0    29     7   15   11  0  0 99  0  0
  • r即running,表示正在跑的任务数
  • b即blocked,表示被阻塞的任务数
  • si表示有多少数据从交换分区读入内存
  • so表示有多少数据从内存写入交换分区
  • bi表示有多少数据从磁盘读入内存
  • bo表示有多少数据从内存写入磁盘

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

LVS 有三种负载均衡的模式,分别是 VS/NAT(nat 模式)、VS/DR(路由模式)、VS/TUN(隧道模式)

一、NAT模式(VS-NAT)

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

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

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

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

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

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

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

### 常见运维工程师面试问题及答案 #### Linux 系统管理 Linux 运维工程师的角色在 IT 行业中至关重要,主要职责包括维护、监控和优化 Linux 系统的运行。对于这一职位,候选人应准备好面对一系列关于系统管理和配置的问题。 1. **如何查看当前系统的内核版本?** 可以通过命令 `uname -r` 来获取当前正在使用的内核版本信息[^2]。 2. **解释什么是 init 和 systemd 的区别?** Init 是传统的初始化进程管理系统,在启动过程中按顺序执行脚本;而 Systemd 则是一个更现代的服务管理器,能够并行化服务启动过程,从而加快开机速度。Systemd 使用单元文件来定义服务行为,并提供了丰富的日志功能和服务依赖关系处理机制。 3. **怎样设置定时任务(cron job)?** 定时任务可以通过编辑用户的 crontab 文件 (`crontab -e`) 或放置于 `/etc/crontab` 中实现自动化操作。每条 cron 记录由六个字段组成:分钟、小时、日期、月份、星期几以及要执行的具体命令或脚本路径。 #### Apache Web Server 配置与管理 针对 Web 服务器方面,特别是像 Apache 这样的开源软件,了解其工作模式及相关配置也是不可少的知识点之一。 1. **Apache 版本2.x有哪些动作模式?它们的工作原理是什么?** Apache 支持两种多路处理模块 (MPM),分别是 Prefork MPM 和 Worker MPM。Prefork 模型采用预派生子进程的方式响应请求,每个连接对应一个独立线程/进程;Worker 模型则利用多个线程在一个进程中并发处理多个客户端连接,减少了资源消耗的同时提高了性能效率[^3]。 2. **如何检查 Apache 当前支持哪些模块,判断它处于哪种模式下运作?** 要确认已加载的模块列表可以使用 `apachectl -M` 或者 `httpd -M`(取决于安装方式) 查看所有启用的功能插件。另外也可以查阅 httpd.conf 主配置文件中的 LoadModule 指令部分找到线索。至于确定具体是以 prefork 还是 worker 方式工作的关键是查找对应的 mpm_prefork_module 或 mpm_worker_module 是否被激活。 #### 总结与反思 完成一次面试之后务及时回顾整个交流流程,尽可能回忆起每一个提问环节的内容,并将其整理成文档保存起来以便日后复习之用。遇到不的地方应当立即借助搜索引擎查询资料学习新知,确保自己掌握得更加牢固全面[^1]。 ```bash # 示例代码片段用于展示如何查看内核版本 uname -r ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值