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

Linux运维工程师面试题3

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

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” 的相关文章

总结了Vue3的七种组件通信方式,别再说不会组件通信了

写在前面本篇文章是全部采用的<script setup>这种组合式API写法,相对于选项式来说,组合式API这种写法更加自由,具体可以参考Vue文档对两种方式的描述。本篇文章将介绍如下七种组件通信方式:propsemitv-modelrefsprovide/injecteventBusv...

Vue3 中有哪些值得深究的知识点?

众所周知,前端技术一直更新很快,这不 vue3 也问世这么久了,今天就来给大家分享下vue3中值得注意的知识点。喜欢的话建议收藏,点个关注!1、createAppvue2 和 vue3 在创建实例时,有很大的区别,具体对比如下://Vue 2 Vue.use({ router, store,...

gitlab简单搭建与应用

一、gitlab1、简介GitLab是利用Ruby on Rails一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。与Github类似,GitLab能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历...

HTML5+眼球追踪?黑科技颠覆传统手机体验

今天,iH5工具推出一个新的神秘功能——眼动追踪,可以通过摄像头捕捉观众眼球活动!为了给大家具体演示该功能的使用,我做了一个案例,供大家参考。实际效果如下:案例比较简单,就是通过眼动功能获取视觉焦点位置,剔除用户看中的牌。现在,舞台的属性中多了一个“启用眼动”的选项,另外,还多了一个“启用摄像头”的...

Vue进阶(幺叁捌):vue路由传参的几种基本方式

1、动态路由(页面刷新数据不丢失)methods:{ insurance(id) { //直接调用$router.push 实现携带参数的跳转 this.$router.push({ path: `/particulars/${id}`,...

一文让你彻底搞懂 vue-Router

路由是网络工程里面的专业术语,就是通过互联把信息从源地址传输到目的地址的活动。本质上就是一种对应关系。分为前端路由和后端路由。后端路由:URL 的请求地址与服务器上的资源对应,根据不同的请求地址返回不同的资源。前端路由:在单页面应用中,根据用户触发的事件,改变URL在不刷新页面的前提下,改变显示内容...