30个热门Linux运维面试题,面试大厂必备!

30个热门Linux运维面试题,面试大厂必备!运维可不是插拔网线那么简单哦在本文中,我们将讨论 30 个 Linux 系统管理员面试问题以及经验丰富的专业人士的答案。(1) 为什么需要 LV

大家好,欢迎来到IT知识分享网。

30个热门Linux运维面试题,面试大厂必备!

运维可不是插拔网线那么简单哦

在本文中,我们将讨论 30 个 Linux 系统管理员面试问题以及经验丰富的专业人士的答案。

(1) 为什么需要 LVM ?

LVM(Logical volume management)推荐使用 LVM 管理 linux 服务器上的磁盘或存储,可以在线调整 LVM 分区的大小,而不用停止服务器。

(2) 如何检查内存和 CPU 统计信息 ?

使用 free 和 vmstat 命令,可以分别显示物理和虚拟内存统计信息。在 sar 命令的帮助下,我们可以查看 CPU 利用率和其他统计数据。

(3) sar 提供什么功能,sar 日志存储在哪个位置 ?

sar 收集、报告或保存系统活动信息。默认版本的 sar 命令 (CPU 利用率报告) 可能是用户开始系统活动调查时首先运行的工具之一,因为它监视主要的系统资源。如果 CPU 利用率接近 100% (user + nice + system),则采样的工作负载是 CPU 限制的。

sar 命令的默认日志位置为:/var/log/sa/sa{{dd}} dd 参数代表当前日期

(4) 如何增加 LVM 分区 ?

  • 使用 lvextend 命令,例如: lvextend -L +100M /dev/mapper/my-lvm
  • 使用 resize2fs 命令,例如:resize2fs /dev/mapper/my-lvm
  • 使用 df 命令检查分区大小

(5) 如何缩小 LVM 分区 ?

  • 使用 umount 命令卸载文件系统
  • 使用 resize2fs 命令, 例如:resiz2fs /dev/mapper/my-lvm 10G
  • 使用 lvreduce 命令, 例如: lvreduce -L 10G /dev/mapper/my-lvm

注意: 在生产环境中,不建议减少 lvm 分区,因为它可能导致数据损坏。

(6) 如何在原始磁盘上创建分区 ?

使用 fdisk 实用程序,我们可以在原始磁盘上创建分区。

  • 运行 fdisk /dev/hd* (IDE) or /dev/sd* (SCSI)
  • 输入 n 创建新分区
  • 创建分区后,输入 w 将更改写入分区表
  • 输入 partprobe 内核重新读取分区表
  • 运行 mkfs 命令格式化分区

(7) 内核模块 (kernel modules) 所在的位置在那里 ?

/lib/modules/kernel-version 目录存储所有内核模块或编译的驱动程序,使用 lsmod 命令可以查看所有已安装的内核模块。

(8) 什么是 umask ?

umask (User file creation mask),该掩码控制在创建文件和目录时设置哪些文件权限。

(9) 如何给用户设置永久 umask ?

要为用户永久设置此值,必须将其放入适当的 profile 文件中,该文件取决于用户的默认 shell。

(10) 如何在单用户模式下引导 RHEL / Rocky Linux / CentOS ?

  • 重新启动并进入 grub 提示符
  • 转到以 linux 开头的行尾,输入 rd.break 并回车
  • 用 rw 模式挂载 root 文件系统,然后执行 chroot /sysroot
  • 处理故障

(11) 如何使用 nfs 协议共享目录 ?

首先编辑 /etc/exportfs 配置文件,增加一行

/<directory-name> <ip or Network>(Options)

然后重启 nfs 服务,或者执行 exportfs -arv

(12) 如何检查和挂载 nfs 共享 ?

使用 showmount 命令可以查看使用 nfs 共享的目录,例如:showmount -e 192.168.1.110
使用 mount 命令可以在 linux 机器上挂载 nfs 共享。

(13) SMTP,DNS,FTP,DHCP,SSH,squid 默认端口是什么 ?

  • Service Port
  • SMTP 25
  • DNS 53
  • FTP 20 (data transfer) , 21 ( Connection established)
  • DHCP 67/UDP(dhcp server) , 68/UDP(dhcp client)
  • SSH 22
  • Squid 3128

(14) 什么是 Network Bonding ?

Network bonding 是将多个网卡聚合到一个绑定接口中,以提供容错和高性能。Network bonding 也称为 NIC Teaming。

(15) Linux 中有哪些不同的 Network bonding 模式 ?

  • balance-rr or 0 – 轮循模式,容错和负载均衡
  • active-backup or 1 – active-backup 容错模式
  • balance-xor or 2 – balance-xor 容错和负载平衡
  • broadcast or 3 – 容错广播模式,所有传输都在从接口上发送
  • 802.3ad or 4 – IEEE 802.3ad 动态链路聚合模式。
  • balance-tlb or 5 – TLB (Transmit Load Balancing) 模式,实现容错和负载均衡。
  • balance-alb or 6 – ALB (Active Load Balancing) 模式,实现容错和负载均衡。

(16) 如何查看和验证绑定接口的状态 ?

/proc/net/bonding/bond0 文件包含绑定接口的所有细节,绑定接口名称可能因设置而异。

(17) 如何查看缺省路由和路由表 ?

netstat -nr 和 ip route show 命令可以查看缺省路由, route -n 命令可以查看路由表。

(18) 如何检查 linux 服务器中哪些端口正在监听 ?

可以使用 ss 命令, netstat – listen 命令,lsof -i 命令查看监听端口。

(19) docker 容器的默认数据目录是什么 ?

docker 容器的默认数据目录为 /var/lib/docker

(20) docker 和 podman 的主要区别是什么 ?

docker 是基于守护进程的,这意味着容器只有在 docker 守护进程运行时才能工作,而 podman 是无守护进程的,这意味着容器不需要任何守护进程也能运行。

(21) Linux 如何升级内核 ?

我们必须永远不要升级 Linux 内核,总是使用 dnf,yum,rpm 命令安装新内核,因为升级内核会使 Linux 系统处于不可启动状态。

(22) 何在 linux 操作系统上扫描新分配的 luns 而不需要重启 ?

扫描新分配的 luns (Logical Unit Number) 有两种方式 :

Method:1 如果安装了 sg3 rpm,则运行该命令‘rescan-scsi-bus.sh’
Method:2 运行命令 echo “– – –” > /sys/class/scsi_host/hostX/scan

(23) 如何查看 Linux 服务器上 HBA 卡的 WWN 号 ?

使用 “systool -c fc_host -v | grep port_name”命令可以查询 HBA 卡的 WWN 号

(24) 如何添加和更改内核参数 ?

要在 Linux 中设置内核参数,编辑文件“ /etc/sysctl.conf”保存文件,并运行“ sysctl -p”命令,此命令将永久进行更改不重启机器。

(25) 如何逐行调试 shell 脚本 ?

要调试 shell 脚本,请在 bash 命令中使用 -x 选项,后跟脚本名称。

$ bash -x script-name.sh

(26) Puppet 中的 manifests 是什么 ?

Puppet 中的 manifests 是指定客户端配置的文件

(27) 在 Puppet Server 中使用哪个命令对请求的证书签名 ?

2.X 版本中使用‘puppetca –sign hostname-of-agent’命令, 3.X 版本中使用‘puppet ca sign hostname-of-agent’命令。

(28) 如何以及在哪里使用 Ansible ad-hoc 命令 ?

使用以下语法来使用 ad-hoc 命令

$ ansible [pattern] -m [module] -a <module option> $ ansible webservers -m shell -a 'df -Th'

ad-hoc 命令用于执行快速任务和测试,在 ansible 主机上不需要编写任何 playbook 运行 ad-hoc 命令。

(29) 如何查找 /var 目录下大小超过 200MB 的文件 ?

$ sudo find /var -type f -size +100M -exec ls -lah {} \;

(30) 如何查看 /var 中创建超过 30 天的文件并将其重定向到文件中 ?

$ find /var -type f -mtime +30 -exec ls -lah {} \; > /tmp/a.tmp

我的开源项目

30个热门Linux运维面试题,面试大厂必备!

酷瓜云课堂 – 开源知识付费解决方案

  • course-tencent-cloud(酷瓜云课堂 – gitee 仓库)
  • course-tencent-cloud(酷瓜云课堂 – github 仓库)

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/75450.html

(0)
上一篇 2024-07-21 22:15
下一篇 2024-07-22 13:45

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信