当前位置: 首页 > news >正文

云计算运维面试

一、Linux的启动过程

1.加电

2.加载bios设置

3.加载grub

4. 加载内核系统到内存中

5.加载配置文件

6.加载内核模块

7.完成相应初始化工作和启动相应服务

8.启动系统进程

9.出现登录界面

10.开机自启动完成

二、查看系统的版本和内核

1、 查看版本

cat  /etc/redhat-release

2.查看内核版本

uname -a

uname -r

三、查看当前CPU负载

uptime top

四、查看内存使用

free -m

五、raid

raid0 ---数据条带卷
最少需要两块磁盘,分别往每一块磁盘上写一部分数据
优点:
1.读写速度快, 
2.磁盘利用率:100%
缺点:不提供数据冗余,无数据检验,不能保证数据的正确性,存在单点故障。

应用场景:
1)对数据完整性要求不高的场景,如:日志存储,个人娱乐
2)要求读写效率高,安全性能要求不高,如图像工作站 
============================================================================
raid1 又叫镜像raid,通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据。
一般需要两块磁盘,每块磁盘上都会存储一份完整数据。其数据安全性就会较高,但是磁盘空间利用率是比较低的。

优点:提供数据冗余,数据双倍存储安全性高支持容错。读速度快
缺点:写速度慢,无数据校验。磁盘利用率不高
磁盘利用率:50%

应用场景:
存放重要数据,如数据存储领域
===========================================================
raid5:RAID5应该是目前最常见的 RAID 等级,它的校验数据分布在阵列中的所有磁盘上。RAID5的磁盘上同时存储数据和校验数据。当一个数据盘损坏时,系统可以根据其他数据块和对应的校验数据来重建损坏的数据。 

raid5最少需要3块磁盘。
优点:
1.可以找回丢失的数据---数据可以通过校验计算得出,
2.冗余磁盘-->(需要4快磁盘将其中一块做热备)当某一块磁盘坏掉后,冗余磁盘会自动替换上去
3.有校验机制
4.读写速度高
5.磁盘利用率高
缺点:
1.磁盘越多安全性能越差

#定义:
RAID 5是RAID 0和RAID 1的折中方案。RAID 5具有和RAID0相近似的数据读取速度,只是多了一个校验信息。RAID5的磁盘空间利用率要比RAID 1高,存储成本相对较低,是目前运用较多的一种解决方案。


应用场景:安全性高,如金融、数据库、存储等。
==================================================
raid6:RAID6 等级是在 RAID5 的基础上为了进一步增强数据保护而设计的一种 RAID 方式。
RAID6引入双重校验的概念,最少需要四块磁盘,它可以保护阵列中同时出现两个磁盘失效时,阵列仍能够继续工作,不会发生数据丢失。
优点:
1.容错:允许两块磁盘同时坏掉。读写快。
2.良好的随机读性能
3.有校验机制

缺点:
1.写入速度差
2.成本高

应用场景:对数据安全级别要求比较高的企业
===============================================
RAID10:先做镜像再作条带--也叫混合raid
优点:
1.较高的IO性能
2.有数据冗余
3.无单点故障
4.安全性能高
缺点:成本稍高
应用场景:
特别适用于既有大量数据需要存取,同时又对数据安全性要求严格的领域,如银行、金融、商业超市、仓储库房、各种档案管理等。

六、面试:软链接和硬链接的区别:

 软链接可以跨文件系统,硬链接不可以;
- 软链接可以对目录进行连接,硬链接不可以;
- 删除源文件之后,软链接失效,硬链接无影响;
- 软连接有不同的inode号,硬链接相同的inode号;
- 两种链接都可以通过命令 ln 来创建;
 

七、DNS域名解析

1.用户在Web浏览器中输入“www.example.com”,浏览器先检查自身缓存中有没有解析过的这个域名对应的ip地址,如果有,解析结束.如果浏览器没有缓存,那么就检查操作系统的hosts文件,称为本地解析,比如windows就是C:\Windows\System32\drivers\etc\hosts文件,linux在/etc/hosts文件中配置。如果命中域名解析结束。如果没有命中域名解析,浏览器会向本地的DNS服务器查询,如果命中域名解析就结束。

2. 如果本地DNS服务器没有命中域名解析,那么本地DNS服务器采用递归查询的方法,向根域名服务器进行查询。
3. 根域名服务器开启迭代查询方法告诉本地域名服务器,下一步应该查询的顶级域名服务器.com TLD的IP地址
4. 本地域名服务器向顶级域名服务器.com TLD进行查询
5. .com TLD服务器告诉本地域名服务器,下一步查询example.com权威域名服务器的IP地址
6. 本地域名服务器向example.com权威域名服务器发送查询
7. example.com权威域名服务器告诉本地域名服务器所查询的主机IP地址
8. 本地域名服务器最后把查询的IP地址响应给web浏览器

- 一旦DNS查询的8个步骤返回了example.com的IP地址,浏览器就能够发出对网页的请求:

9. 浏览器向IP地址发出HTTP请求
10. 该IP处的web服务器返回要在浏览器中呈现的网页

八、事务具有四个特性:

原子性(Atomicity):最小单位,不可分割

一致性(Consistency):sql语句,要么全部成功,要么全部失败

隔离性(Isolatio >):各个事务互不干扰

持续性(Durability):事务提交后,数据改变会记录在磁盘中

九、MyISAM和InnoDB的区别

Mysql在V5.1之前默认存储引擎是MyISAM;在此之后默认存储引擎是InnoDB

MyISAM不支持事务,而InnoDB支持

InnoDB支持数据行锁定,MyISAM不支持行锁定,只支持锁定整个表

InnoDB支持外键,MyISAM不支持

Innodb能存储64TB,MyISAM能存储256TB
InnoDB不支持全文索引,而MyISAM支持

MyISAM支持GIS数据,InnoDB不支持

十、Mysql调优策略(面试拓展)

1. 选择合适的存储引擎: InnoDB
2. 选取磁盘读写速度较快的设备作为Mysql服务器
3. 充分使用索引
4. 增加慢查询日志功能 redis
5. 频繁访问的数据,用缓存数据库解决
6. 单条查询最后增加 LIMIT 1,停止全表扫描
7. 设置最大连接数
8. 设置引擎的读写速度

十一、MySQL的安全控制

1.数据库不要暴露在公网

授权普通用户;注意远程连接地址  权限

2、修改数据库端口3306

3、进程,使用mysql普通用户启动

4、启动mysql二进制文件(binlog),在误删除数据的情况下。

5.删除空口令账号

6.test(5,6)数据库删除

7.禁止root用户远程访问

8.记录慢日志

9.最大连接数max_connections=300;

十二、mysql主从复制原理

主服务器上面的任何修改都会保存在二进制日志( Bin-log日志) 里面。 从服务器上面启动一个I/O线程, 连接到主服务器上面请求读取二进制(Bin-log)日志,然后把读取到的二进制日志写到本地的Realy-log(中继日志)里面。 从服务器上面同时开启一个SQL线程,读取Realy-log(中继日志),如果发现有更新立即把更新的内容在本机的数据库上面执行一遍。

十三、关系型数据和非关系型数据库的区别

1.关系型数据库:
优点:
1、易于维护:都是使用表结构,格式一致;
2、使用方便:SQL语言通用,可用于复杂查询;
3、复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询;
4、学习成本低。
缺点:
1、读写性能比较差,尤其是海量数据的高效率读写;
2、固定的表结构,灵活度稍欠;
3、高并发读写需求,传统关系型数据库来说,硬盘I/O是一个很大的瓶颈。

非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合,可以是文档或者键值对等。
优点:
1、格式灵活:存储数据的格式可以是key,value形式、文档形式、图片形式等等,文档形式、图片形式等等,使用灵活,应用场景广泛,而关系型数据库则只支持基础类型。
2、速度快:nosql可以使用硬盘或者随机存储器作为载体,而关系型数据库只能使用硬盘;
3、高扩展性;
4、成本低:nosql数据库部署简单,基本都是开源软件。

缺点:
1、不提供sql支持,学习和使用成本较高;
2、无事务处理;
3、数据结构相对复杂,复杂查询方面稍欠。

十四、Redis支持五种数据类型:

string(字符串)

hash(哈希)

list(列表)

set(集合)

zset(sorted set:有序集合)

十五、redis主从 – 同步原理


从服务器会向主服务器发出SYNC指令,当主服务器接到此命令后,就会调用BGSAVE指令来创建一个子进程专门进行数据持久化工作,也就是将主服务器的数据写入RDB文件中。在数据持久化期间,主服务器将执行的写指令都缓存在内存中。

在BGSAVE指令执行完成后,主服务器会将持久化好的RDB文件发送给从服务器,从服务器接到此文件后会将其存储到磁盘上,然后再将其读取到内存中。这个动作完成后,主服务器会将这段时间缓存的写指令再以redis协议的格式发送给从服务器。

十六、redis有哪些好处


(1) 速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1)
(2) 支持丰富数据类型,支持string,list,set,sorted set,hash
(3) 支持事务,操作都是原子性,所谓的原子性就是对数据的更改要么全部执行,要么全部不执行
(4) 丰富的特性:可用于缓存,消息,按key设置过期时间,过期后将会自动删除

十七、redis相比memcached有哪些优势


(1) memcached所有的值均是简单的字符串,redis作为其替代者,支持更为丰富的数据类型
(2) redis可以持久化其数据


十九、redis常见性能问题和解决方案

(1) Master最好不要做任何持久化工作,如RDB内存快照和AOF日志文件
(2) 如果数据比较重要,某个Slave开启AOF备份数据,策略设置为每秒同步一次
(3) 为了主从复制的速度和连接的稳定性,Master和Slave最好在同一个局域网内
(4) 尽量避免在压力很大的主库上增加从库
(5) 主从复制不要用树状结构,用单向链表结构更为稳定,即:Master(写) <- Slave1(读) <- Slave2(读) <- Slave3(读)...
这样的结构方便解决单点故障问题,实现Slave对Master的替换。如果Master挂了,可以立刻启用Slave1做Master,其他不变。

十八、redis集群的工作原理


主多从+哨兵模式(keelalived)

二十、telnet与ssh的区别:


telnet:不安全,没有对传输数据进行加密,容易被监听,还有遭受中间人攻击,telnet不能压缩传输数据,所以传输慢
ssh:对数据进行了加密,安全度高,ssh传输数据经过压缩,所以传输速度比较快

二十一、关系型数据库和非关系型数据库的区别

关系型数据库: 支持事务,有表结构,支持复杂查询,但是读写性能较差,固定表结构,不灵活,在高并发的请求下,磁盘io是很大的瓶颈。

关系型数据库:memcache redis mogodb

非关系型数据库:存储格式灵活,不仅支持key-value的格式,还支持图片和文本文档,读写速度快,支持磁盘和和随机存储器作为载体,高扩展性,不支持sql语句,不支持事务。

非关系型数据库:oralce MySQL sqlserver


二十二、三次握手四次挥手

三次握手:

客户端向服务端发送一个带有SYN标志的数据给服务

服务器接收后,回传一个带有syn/ack标志的数据包确认消息

客户端再回传一个带有AVK+1的数据包

四次挥手:

客户端发送一个FIN=1.来关闭服务器和客户端的连接

服务器送到后,发送一个ack给客户端,确认序号为ack+1,在数据传输完成后

服务器个客户端发送一个带有FIN=1,来关闭客户端和服务端的连接

客户端收到FIN后,发送一个ack给server,确认序号为ack+1

二十三、DNS解析过程

1)在自身缓存中查找,若果存在,解析结束,然后再hosts文件中查找,成为本地解析

2) 在本地DNS服务器中查找

3)本地DNS服务器开启递归查询在根域查询

4)根域开启迭代查询向顶级域查询

5)顶级域开启迭代查询向权威域查询

6)顶级域把解析到的ip发送给本地DNS服务器

7)本地 DNS服务器把解析到的ip发送给浏览器

8)浏览器建立连接

二十四、数据库的存储引擎

innodb:支持事务,支持行锁定,可以进行数据回滚

myisam:有较高的查询速度,不支持事务

memory:读写速度快,但是不支持事务

二十五、数据库备份

方式:物理备份 逻辑备份

方法:完整备份:备份数据库中全部的数据

增量备份:基于上一次备份到当前时间的所有数据

差异备份:备份上一次完整备份到现在更新的数据

二十六、redis主从同步的原理

从服务器向主服务器发送一个SYNC报文,当主服务器接收到命令后,就会调用一个bgsave创建一个子进程来专门进行数据的持久化工作,也就是将数据写入RDB文件,在数据持久化期间,主服务器接送执行的指令都缓存在内存中

在bgsave结束后,主服务器将bgsave发送给从服务器,从服务器将文件存储在磁盘,然后将其读取到内存中,主服务器会将在此期间缓存的指令以redis协议的格式发送给从服务器

二十七、redis和memcached相比有什么优势

redis支持更加丰富的数据类型

redis支持数据持久化

二十八、redis的优点

支持丰富的数据类型

支持数据持久化

支持事务

速度快

丰富的特性

二十九、读写分离的好处

分摊服务器的压力,提高系统的处理效率,主要分摊服务器读的压力,间接提高了服务器写的性能,因为读的请求全部发送给从库

nginx动静分离的目的

将网页静态资源与后台应用分开部署,提高用户的访问静态资源速度,减低对后台应用的访问

nginx会话保持的目的

确保每个用户的请求都能够一台服务器进行处理

nginx的缺点

处理不了动态请求,单进程多线程,

三十、redis的数据类型

string(字符串类型)

ip_hash

list

set(集合)

zset(有序集合)

三十一、tomcat的调优策略:

在安全优化:降权启动,隐藏版本

在生产优化方面:

上策:优化代码

中策:内存回收

下策:加大内存

下下策:每天零点定时重启

三十二、ping不通一个ip有什么排查思路

公网ip

检查网线和交换机是否正常工作

检查ip和子网掩码是否写错

ping网关是否正常

DNS配置是否正确

检查是不是网络机房抖动

内网ip

检查网线和交换机是否正常工作

检查ip和子网掩码是否写错

ping网关是否正常

检查ip是否冲突

33、主从复制延时的原因

主库语言本来就慢,从库当然也慢

主库系统负载繁忙或者网络拥塞

从库性能不如主库

没有开启gtid,导致dump串行传输

34、主库语句慢如何监控,如何排查?

开启慢语句记录日志

ELK收集慢日志

使用执行计划查看慢语句是否走索引

询问开发是否可以开启索引

35、主从复制监控的内容

延时状态

报错信息

主从延时情况

36、数据库监控的内容

主从情况

监控锁状态

参数指标

37、数据库数据误删除怎么处理

完整备份+binlog

前端页面挂上维护信息

在完整备份时使用参数指定pOST位置点

查看POST位置点,在测试环境导入完整备份的数据

截取binlog日志,截取出上一次全量备份到误删除前的所有数据

将截取binlog数据导入测试库

查看数据是否完整,从测试库将数据导出给主库

主库恢复数据

验证数据是否完整

38、MySQL优化

在安全方面:修改默认端口号,禁止root用户远程登录,对用户降权,以普通用户运行mysql

在性能方面:升级硬件,内存,磁盘,优化sql语句

在参数方面:增加连接数,缓存的参数优化

在架构方面:读写分离,高可用,一主多从

39、web网页访问慢

是某些用户慢,还是所有用户都满

打开监控,查看cpu,mem,磁盘的负载情况

打开ELK,查看关键响应时间,看看是否存在规律,比如某个时间突然升高,或者间歇性

如果某个服务器负载过高,可以将它先从负载均衡器上摘掉,在去具体分析查询问题

如果web服务器负载正常,但是访问慢,可能是数据库服务器响应不来或者负载过高

查看数据库是否存在慢语句,或者数据库执行语句卡死

通过日志分析法

!!!更新中

相关文章:

  • 拍摄视频的时候相机断电导致视频文件损坏,怎么修复
  • 一文了解芯片测试项目和检测方法 -纳米软件
  • 图像二值化阈值调整——Triangle算法,Maxentropy方法
  • 粤嵌实训医疗项目--day06(Vue + SpringBoot)
  • 2023年云计算的发展趋势
  • 取暖器/暖风机上架 亚马逊美国站UL1278测试标准要求
  • activiti命令模式与责任链模式
  • DDoS攻击剧增,深入解析抗DDoS防护方案
  • 设计模式之模版方法(TemplateMethod)
  • Spring Boot 整合xxl-job实现分布式定时任务
  • STM32GPIO——上拉、下拉电阻
  • uniapp在IOS手机下解决时间nan-an-nan问题
  • MYSQL迁移到人大金仓后的适配问题汇总
  • Facebook个人主页和公共主页的区别
  • 新型的铁塔基站“能源管家”
  • 【mysql】环境安装、服务启动、密码设置
  • JavaScript 无符号位移运算符 三个大于号 的使用方法
  • JavaScript设计模式系列一:工厂模式
  • laravel 用artisan创建自己的模板
  • Linux下的乱码问题
  • Linux学习笔记6-使用fdisk进行磁盘管理
  • Mithril.js 入门介绍
  • Next.js之基础概念(二)
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • PHP的Ev教程三(Periodic watcher)
  • Windows Containers 大冒险: 容器网络
  • WinRAR存在严重的安全漏洞影响5亿用户
  • 彻底搞懂浏览器Event-loop
  • 纯 javascript 半自动式下滑一定高度,导航栏固定
  • 给自己的博客网站加上酷炫的初音未来音乐游戏?
  • 深入浅出webpack学习(1)--核心概念
  • 使用前端开发工具包WijmoJS - 创建自定义DropDownTree控件(包含源代码)
  • 试着探索高并发下的系统架构面貌
  • 在Mac OS X上安装 Ruby运行环境
  • 最简单的无缝轮播
  • ​2020 年大前端技术趋势解读
  • ​Linux·i2c驱动架构​
  • #QT(一种朴素的计算器实现方法)
  • ( 10 )MySQL中的外键
  • (06)Hive——正则表达式
  • (6)添加vue-cookie
  • (day 2)JavaScript学习笔记(基础之变量、常量和注释)
  • (Redis使用系列) Springboot 整合Redisson 实现分布式锁 七
  • (二)Pytorch快速搭建神经网络模型实现气温预测回归(代码+详细注解)
  • (附源码)springboot宠物管理系统 毕业设计 121654
  • (附源码)springboot宠物医疗服务网站 毕业设计688413
  • (附源码)ssm高校志愿者服务系统 毕业设计 011648
  • (转)EXC_BREAKPOINT僵尸错误
  • .babyk勒索病毒解析:恶意更新如何威胁您的数据安全
  • .htaccess配置常用技巧
  • .Net Core与存储过程(一)
  • @param注解什么意思_9000字,通俗易懂的讲解下Java注解
  • @Tag和@Operation标签失效问题。SpringDoc 2.2.0(OpenApi 3)和Spring Boot 3.1.1集成
  • [ SNOI 2013 ] Quare
  • [ vulhub漏洞复现篇 ] struts2远程代码执行漏洞 S2-005 (CVE-2010-1870)