Linux运维面试题
文章目录
- 一、云计算与传统计算的区别?
- `以吃包子为例:`
- `云计算又分为laaS、PaaS、SaaS`
- `总结:`
- `云计算的本质—《浪潮之巅第四版下册》`
- 二、云平台运维需要做哪些安全配置?
- `1.安全组`
- `2.ECS主机`
- `3.Nginx反向代理`
- `4.数据安全`
- `第三方防护`
- `日志处理`
- 四、Nginx优化
- 五、简述Redis的哨兵模式?
- `故障切换(failover)的过程`
- 六、Linux内核优化
- 七、使用过哪些云产品
- `金山云`
- 十四、介绍下有状态和无状态的区别?
- 十七、给shell脚本设置SUID会提权吗?
- 四十、什么是Swap内存交换?
- 四十二、TPS和QPS的区别?
- 四十三、HTTP与HTTPS的区别
- `HTTP协议存在的问题`
- `HTTPS的优势`
- echo 1 > /tmp/1.txt后,/tmp/1.txt占用磁盘的大小是多少
- `答案`
- `解释`
一、云计算与传统计算的区别?
以吃包子为例:
传统计算就好比自己亲自做包子,要准备面粉、馅,会和面,同时还要准备煤气、蒸屉等厨具,还要有餐桌与餐具,再自己蒸熟方能吃。
云计算又分为laaS、PaaS、SaaS
Iaas就好比直接从商店买回速冻包子,自己蒸熟了再吃
PaaS就好比直接从网上订份包子外卖,放到桌子上直接就能吃
SaaS就好比直接去包子店吃,自己只需准备钱和嘴就行
总结:
使用云计算可以让提供服务的厂商专心做一件事,而不需过多地关注服务器、机房维护等底层的事情,只需把自己的产品做好就行。。
云计算的本质—《浪潮之巅第四版下册》
- 云计算保证用户可以随时随地访问和处理信息,非常方便地与他人共享信息。
- 云计算保证用户可以使用云端的大量计算资源,包括CPU处理器和存储器(内存和磁盘),而无须自己购置设备。
二、云平台运维需要做哪些安全配置?
1.安全组
禁Ping
只开放业务端口,并修改常用的业务端口
2.ECS主机
禁止root登陆
禁用密码登录,使用私钥登录
更换ssh端口
设置连接ssh超时时间
禁止SSH进行DNS反向解析
3.Nginx反向代理
https
设置访问控制(allow,deny)
隐藏版本
4.数据安全
云主机要定期快照
使用云厂商提供的数据库,可以提供7-732天内任意时间点数据回档的能力;云对象存储 COS,版本回退,异地灾备
第三方防护
SSL证书管理、WAF、事态感知和Ddos高防
日志处理
确保日志文件被及时迁移、存放和切割
四、Nginx优化
nginx常见优化
五、简述Redis的哨兵模式?
Redis自身提供了哨兵的命令,哨兵作为独立进程运行。
其原理是哨兵通过发送命令,等待Redis服务器响应,从而监控运行的多个Redis实例。
故障切换(failover)的过程
假设Master宕机,哨兵1先检测到这个结果,系统并不会马上进行failover,仅仅是哨兵1主观的认为主服务器不可用,这个现象称为主观下线。
当后面的哨兵也检测到Master不可用,并且数量达到一定值时(也就是设置的票数),哨兵之间就会进行一次投票,投票的结果由一个哨兵发起,进行failover操作。
切换成功后,就会通过发布订阅模式,让各个哨兵把自己监控的Slave指向新的Master,这个过程称为客观下线。
六、Linux内核优化
1.调整打开文件最大句柄数2.修改端口范围3.调大vm.max_map_count(ES、SonarQube启动失败需要调整)4.调整内存分配策略(设置vm.overcommit_memory的值)5.关闭transparent_hugepage七、使用过哪些云产品
金山云
1.ubuntu16.04系统自带的ubuntu用户密码一周后不能登录
解决:开机启动——按'e'——在linux那行末尾添加rw single init=/bin/bash——Ctrl+x——按'e'——Ctrl+x 进入单用户模式后修改密码即可十四、介绍下有状态和无状态的区别?
对服务器程序来说,其判断依旧——两个来自相同发起者的请求在服务器端是否具备上下文关系。
状态化请求,服务器端一般都要保存请求的相关信息,每个请求可以默认地使用以前的请求信息。
无状态请求,服务器端所能够处理的过程必须全部来自于请求所携带的信息,以及其他服务器端自身所保存的、并且可以被所有请求所使用的公共信息。
HTTP协议本身是无状态,同一客户端的两次请求之间没有任何关系,对于服务器来说,它不知道这两个请求来自同一客户端
session是有状态的,而cookie是无状态的
十七、给shell脚本设置SUID会提权吗?
不会,为shell脚本设置SUID是无效的。
尽管可以对 shell 脚本设置 suid 和 sgid 权限,但是大部分现代 shell 都会对脚本忽略这些位的设置。因为shell 是一种功能非常强大的脚本语言,拥有解释和执行任意表达式的能力。这些特性允许的限制太过宽泛,这就使环境变得非常不安全。因此,如果您对一个 shell 脚本设置了 suid 或 sgid 权限,就不要期望脚本在执行时能够遵守这些设置。
四十、什么是Swap内存交换?
Swap是一个临时解决物理内存不足的方案,类似Windows系统下的“虚拟内存”。当物理内存不足时,拿出部分硬盘空间当SWAP分区(虚拟成内存)使用,从而解决内存容量不足的情况。
SWAP又分为两个过程:SWAP OUT和SWAP IN
- 当某进程向OS请求内存发现不足时,OS会把内存中暂时不用的数据交换出去,放在SWAP分区中,这个过程称为SWAP OUT。
- 当某进程又需要这些数据且OS发现还有空闲物理内存时,又会把SWAP分区中的数据交换回物理内存中,这个过程称为SWAP IN。
通过利用磁盘空间作为扩展内存,从而增大了可用的内存。在内核需要更多内存时,不经常使用的页可以写入硬盘。如果再需要访问相关数据,内核会将相应的页切换回内存。
通过缺页异常机制,这种切换操作对应用程序是透明的。换出的页可以通过特别的页表项标识。在进程试图访问此类页帧时,CPU则启动一个可以被内核截取的缺页异常。此时内核可以将硬盘上的数据切换到内存中。接下来用户进程可以恢复运行。由于进程无法感知到缺页异常,所以页的换入和换出对进程是完全不可见的。
参考文章:https://blog.csdn.net/weixin_39738755/article/details/113015380
四十二、TPS和QPS的区别?
TPS:Transactions Per Second,意思是每秒事务数
QPS:Queries Per Second,意思是每秒查询率
参考文章:https://www.cnblogs.com/uncleyong/p/11059556.html
四十三、HTTP与HTTPS的区别
HTTP协议存在的问题
- 通信使用明文(不加密),内容可能被窃听
- 无法证明报文的完整性,所以可能遭篡改
- 不验证通信方的身份,因此有可能遭遇伪装
HTTPS的优势
- 数据隐私性:内容传输使用对称加密,证书验证使用非对称加密。
- 数据完整性:内容传输经过完整性校验
- 身份认证:第三方无法伪造服务端(客户端)身份
参考文章:https://segmentfault.com/a/1190000018992153
HTTPS用的是对称加密还是非对称加密?
echo 1 > /tmp/1.txt后,/tmp/1.txt占用磁盘的大小是多少
答案
4kB
解释
文件储存在硬盘上,硬盘的最小存储单位叫做 扇区(Sector)。每个扇区储存 512 字节(相当于0.5KB)。操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个块(block)。这种由多个扇区组成的块,是文件存取的最小单位。块的大小,最常见的是4KB,即连续八个 sector 组成一个 block 块。
