Linux运维工程师 50个常见面试题

1、请简述OSI七层网络模型有哪些层及各自的含义?

  • 物理层:底层数据传输 , 比如网线、网卡标准
  • 数据链路层:定义数据的基本格式 , 如何传输 , 如何标识 。比如网卡mac地址
  • 网络层:定义IP编码 , 定义路由功能 , 比如不同设备的数据转发
  • 传输层:端到端传输数据的基本功能 , 比如TCP、UDP
  • 会话层:控制应用程序之间会话能力 , 比如不同软件数据分发给不停软件
  • 表示层:数据格式标识 , 基本压缩加密功能 。
  • 应用层:各种应用软件 , 包括 Web 应用 。
2、在linux的LVM分区格式下 , 请简述给根分区磁盘扩容的步骤?这个分3种
第一种方法:
growpart /dev/vda 1resize2fs /dev/vda1第二种方法:
partpeobe /dev/sdaresize2fs /dev/vda1第三种方法:
fdisk /dev/sdb# n p 1 1 回车 回车 t 8e wpvcreate /dev/sdb1vgextend datavg /dev/sdb1lvextend -r -L +100%free /dev/mApper/datavg-lv013、讲述一下Tomcat8005、8009、8080三个端口的含义?
  • 8005 关闭时使用
  • 8009为AJP端口 , 即容器使用 , 如Apache能通过AJP协议访问Tomcat的8009端口来实现功能
  • 8080 一般应用使用
4、简述DNS进行域名解析的过程?迭代查询(返回最优结果)、递归查询(本地找DNS)用户要访问 www.baidu.com , 会先找本机的host文件 , 再找本地设置的DNS服务器 , 如果也没有找到 , 就去网络中找根服务器 , 根服务器反馈结果 , 说只能提供一级域名服务器.cn , 就去找一级域名服务器 , 一级域名服务器说只能提供二级域名服务器.com.cn,就去找二级域名服务器 , 二级域服务器只能提供三级域名服务器.baidu.com.cn , 就去找三级域名服务器 , 三级域名服务器正好有这个网站www.baidu.com , 然后发给请求的服务器 , 保存一份之后 , 再发给客户端 。
5、讲一下Keepalived的工作原理?在一个虚拟路由器中 , 只有作为MASTER的VRRP(虚拟路由冗余协议)路由器会一直发送VRRP通告信息 , BACKUP不会抢占MASTER , 除非它的优先级更高 。当MASTER不可用时(BACKUP收不到通告信息)多台BACKUP中优先级最高的这台会被抢占为MASTER 。这种抢占是非常快速的(<1s) , 以保证服务的连续性由于安全性考虑 , VRRP包使用了加密协议进行加密 。BACKUP不会发送通告信息 , 只会接收通告信息 。
6、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?LVS:
  • 抗负载能力强、工作在第4层仅作分发之用 , 没有流量的产生 , 这个特点也决定了它在负载均衡软件里的性能最强的;无流量 , 同时保证了均衡器IO的性能不会受到大流量的影响;
  • 工作稳定 , 自身有完整的双机热备方案 , 如LVS+Keepalived和LVS+Heartbeat;
  • 应用范围比较广 , 可以对所有应用做负载均衡;
  • 配置简单 , 因为没有可太多配置的东西 , 所以并不需要太多接触 , 大大减少了人为出错的几率;
LVS的缺点:
  • 软件本身不支持正则处理 , 不能做动静分离 , 这就凸显了Nginx/HAProxy+Keepalived的优势 。
  • 如果网站应用比较庞大 , LVS/DR+Keepalived就比较复杂了 , 特别是后面有windows Server应用的机器 , 实施及配置还有维护过程就比较麻烦 , 相对而言 , Nginx/HAProxy+Keepalived就简单多了 。
Nginx: