当前位置:首页 > 技术分析 > 正文内容

Linux运维工程师面试题3

ruisui881个月前 (03-25)技术分析12

1.如何排查数据库故障?

  1. slow query log

slow query log 是 MySQL 的一个功能,可以记录查询执行时间超过指定阈值的语句,以便进行 SQL 优化。启用 slow query log 需要在 MySQL 配置文件中设置:

slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow_query.log
long_query_time = 2

其中 slow_query_log 表示是否开启慢查询日志,slow_query_log_file 表示慢查询日志文件路径,long_query_time 表示查询执行时间的阈值。

  1. general query log

general query log 可以用来记录所有查询语句的执行情况,是排查数据库问题的重要工具之一。启用 general query log 也需要在 MySQL 配置文件中设置:

general_log = 1
general_log_file = /var/log/mysql/general.log

其中 general_log 表示是否开启 general query log,general_log_file 表示查询日志文件路径。

  1. innodb status

InnoDB 是 MySQL 自带的一种存储引擎,使用 innodb status 命令可以查看 InnoDB 引擎的状态信息,包括缓存、锁等情况。只需要在 MySQL 中执行以下命令即可查看:

SHOW ENGINE INNODB STATUS;
  1. performance schema

performance schema 是 MySQL 的一个监控工具,可以监控数据库的性能指标和状态信息。通过 performance schema,可以查看各种 MySQL 组件的性能指标,例如查询次数、缓冲区使用情况、锁等情况。

常用的 MySQL 日志和监控工具,通过它们可以了解数据库的运行状态和性能指标,以便进行问题排查和调优。在实际应用中,要根据具体情况选择合适的工具,以便更方便快捷的进行数据库调试和优化。

2.如何排查网络故障?

  1. ping

Ping 命令可以用来测试网络连接是否可达,以及连接的延迟情况。具体的使用方法如下:

ping [option] [host]

其中 option 是命令参数,host 是主机名或 IP 地址。

  1. traceroute

traceroute 命令可以用来跟踪数据包在网络中的路由情况,以便判断网络连接是否存在传输问题。具体的使用方法如下:

traceroute [option] [host]

其中 option 是命令参数,host 是主机名或 IP 地址。

  1. netstat

netstat 命令可以用来显示当前系统的网络连接状态信息,以便进行网络连接排查和调试。具体的使用方法如下:

netstat [option]

其中 option 是命令参数。

  1. tcpdump

tcpdump 命令可以用来抓取网络数据包,以便对网络数据进行分析和调试。具体的使用方法如下:

tcpdump [option]

其中 option 是命令参数。

  1. Wireshark

Wireshark 是一款比较流行的网络数据包分析软件,可以用来显示和分析网络数据包,以便排查网络问题。使用 Wireshark 需要有 GUI 界面支持,使用起来比较简单。

3.请介绍一下Docker容器和Kubernetes的区别,并简述它们的作用。

Docker 是一种容器化技术,Kubernetes 则是一个容器编排平台。它们都是现代应用程序开发中广泛使用的技术。下面简要介绍一下它们的区别和作用。

  1. Docker 容器

Docker 是一种轻量级的容器技术,可以将应用程序和依赖项打包在一个独立的容器中,以便进行交付和部署。通过 Docker,开发人员可以快速而方便的构建、测试和部署应用程序,不同的容器可以在任何平台上运行,从而实现了应用程序的移植性。

  1. Kubernetes 容器编排平台

Kubernetes 是 Google 开源的一个容器编排平台,可以管理多个容器部署到多个主机上。Kubernetes 可以自动扩展、管理和监视应用程序容器,确保它们始终运行在可用的状态,并能够按需调整资源分配和负载均衡,以适应不同的负载需求。

与 Docker 不同,Kubernetes 更加侧重于集群部署,它提供丰富的功能和 API,支持动态伸缩、自动故障恢复、升级和回滚等操作,使得应用程序容器的管理更加灵活和高效。

  1. 区别

Docker 是一种容器技术,主要用于打包和部署应用程序以及构建独立的、可移植的容器环境。而 Kubernetes 则是一个容器编排平台,主要用于管理和部署多个容器,并提供自动化、高可用性的扩展和故障恢复机制。

4.如何进行文件系统的扩容?

  1. 手动扩展分区

要扩展文件系统,需要先扩展磁盘分区。可以使用工具如 fdisk 或 parted 扩展分区,具体步骤如下:

  • 使用 fdisk 或 parted 查看当前磁盘分区
  • 备份数据
  • 使用 fdisk 或 parted 扩展磁盘分区
  • 使用 resize2fs 命令扩展文件系统

例如,如果要扩展 /dev/sda1 分区,可以按照以下步骤进行:

# 1. 查看当前磁盘分区
fdisk -l

# 2. 备份数据
# 可以使用 tar 或其他备份工具备份数据

# 3. 使用 fdisk 扩展磁盘分区
# 具体操作可以参考 fdisk 的帮助文档
fdisk /dev/sda

# 4. 使用 resize2fs 扩展文件系统
resize2fs /dev/sda1
  1. 使用 LVM 进行扩容

逻辑卷管理器(LVM)是一种抽象层,可在物理磁盘和文件系统/卷之间创建一个层。这使得文件系统扩展更加简单和方便。以下是一个使用 LVM 扩展文件系统的例子:

  • 创建物理卷 pvcreate /dev/sdb
  • 创建卷组 vgcreate vg01 /dev/sdb
  • 扩展卷组 vgextend vg01 /dev/sdc
  • 扩展逻辑卷大小 lvextend -L +10G /dev/mapper/vg01-lv01
  • 文件系统扩容 resize2fs /dev/mapper/vg01-lv01

注:以上命令需要先安装 lvm2 工具包。

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/3000.html

分享给朋友:

“Linux运维工程师面试题3” 的相关文章

Beta版Linux Mint“Xia”发行版22.1发布

IT之家 12 月 13 日消息,Beta 版 Linux Mint“Xia” 22.1 昨日(12 月 12 日)发布,新版本基于 Ubuntu 24.04,内核版本为 Linux 6.8,长期支持将持续到 2029 年,为用户提供可靠稳定的使用体验。新版本在软件包管理方面,主要弃用了传统的 ap...

vue3中父子组件之间传值的详解

首先我们回顾一下vue2中父子组件是怎么传值的,然后对比vue3进行详解。一、vue2中父子组件传值<!-- 父组件 --> <template> <div> // name:父组件把值传给子组件test-child // childFn:...

深入理解Vue.js组件通信:父子组件与子父组件数据交互详解

什么是Vue组件通讯 Vue.js 组件通信是指在 Vue 应用的不同组件之间进行数据交换和状态同步的过程。由于 Vue 的组件是基于单文件组件(SFCs)的模块化设计,每个组件都有自己的作用域,因此它们不能直接访问彼此的数据。为了使组件之间能够协同工作,Vue 提供了几种不同的通信方式。以下是 V...

79.idea中git合并分支操作分享

文章目录前言1.fetch的操作2.合并最新代码到当前的开发分支3.解决冲突4.分支合并:5.完成代码合并总结前言git的操作在日产的工作中也非常重要,团队化的代码管理,每次如果代码被别人覆盖或者自己的代码不能提交到服务器那是灾难性的结果,本篇进行一篇分享来总结下idea中git的操作帮助java开...

git的几种分支模式

编写代码,是软件开发交付过程的起点,发布上线,是开发工作完成的终点。代码分支模式贯穿了开发、集成和发布的整个过程,是工程师们最亲切的小伙伴。那如何根据自身的业务特点和团队规模来选择适合的分支模式呢?本文分享几种主流 Git 分支模式的流程及特点,并给出选择建议。分支的目的是隔离,但多一个分支也意味着...

Gitlab 的使用和代码审查流程介绍

1、先简洁介绍下项目常用的信息-面板统计页面2、用户信息面板3、服务器信息4、项目信息5、重点介绍代码提交审核机制和授权合并机制开发人员推送代码的时候不能直接推送到master,否则就会报错。此时开发人员要本地新建分支然后在提交上来列出修改了哪些细节管理员可以管理这些分支合并到master6、指派合...