admin管理员组文章数量:1570208
使用的操作系统内核版本
centos 7 3.10.0
centos 6 2.6.32
临时加永久修改主机名称
hostnamectl set-hostname wj
etc下的重要文件
/etc/resolv.conf DNS的配置文件
/etc/rc.local 开机自动重启
/etc/profile 环境变量的配置文件
/etc/fstab 开机自动挂载硬件
配置文件中每列的含义:
UUID=123f212b-6f45-4c4d-8a09-aa28c4527896 / xfs defaults 0 0
第一列: uuid唯一标识 系统给每个硬件都会自动分配一个UUID 或者是硬件的名称也可以
第二列: 表示挂载点
第三列: 文件系统类型 xfs ext3 +ext4
第四列: 挂载参数选项 默认defaults
第五列: 是否备份系统DUMP不用 默认0
第六列: 开机是否自检 默认0
查看系统状态
查看cpu信息 lscpu /proc/cpuinfo
查看内存信息 free /proc/meminfo
查看负载信息 uptime w /proc/loadavg
查看磁盘信息 df /proc/mount
查看系统日志文件 /var/log/massages /var/log/secure #安全日志
操作系统的七个运行级别
- 0 关机
- 1 单用户模式 救援模式
- 2 多用户模式 不支持NFS 许多功能不支持
- 3 完全多用户模式 系统默认运行级别
- 4 保留待开发
- 5 图形化模式 桌面模式
- 6 重启
软连接与硬链接的区别
- inode号: 硬链接的inode号码相同,软链接inode不同
- 创建方式:创建硬链接使用ln 创建软链接使用ln -s
- 跨文件系统:硬链接不能跨文件系统,软链接可以跨文件系统
- 目录和文件:目录不能做硬链接,可以做软链接,文件既可以做硬链接也可以做软链接
- 删除源文件:删除源文件不影响硬链接,删除源文件影响软链接文件
查找文件修改时间大于七天前的文件并且删除
find ./ -mtime +7|xargs rm
find ./ -mtime +7 -exec rm -rf {} \;
rm -rf `find ./ -mtime +7`
对操作系统做过那些优化
- ssh优化
- 时间同步
- 优化防火墙
- 关闭selinux防火前
- 修改默认的yum仓库
- 安装扩展仓库
- 安装常用的软件
- 创建普通用户
磁盘无法写入
- 查看磁盘内存(block)是否满了 df -h
- 查看inode号是否满了 df -i
系统没有开启postfix
定时任务定向到空或者定向到某一个文件中
设置定时任务定时清理小文件
程序运行过程中自动生成小文件
解决磁盘不够用
- 第一块磁盘不够用
- 挂载新的磁盘
- 将源文件移动到新磁盘
- 做软连接到原本位置本保证名称不变
- 用户在写入信息相当于写入到新磁盘
yum只下载不安装
yum -y install --downloadonly --downloaddir=/opt/ wget
Nginx负载均衡调度算法
轮询 | 按时间顺序逐一分配到不同的后端服务器(默认) |
---|---|
weight | 加权轮询,weight值越大,分配到的访问几率越高 |
ip_hash | 每个请求按访问IP的hash结果分配,这样来自同一IP的固定访问一个后端服务器 |
url_hash | 按照访问URL的hash结果来分配请求,是每个URL定向到同一个后端服务器 |
least_conn | 最少链接数,那个机器链接数少就分发 |
磁盘RAID
RAID0(独立磁盘冗余阵列)
- 至少一块
- 利用率:100%
- 安全:任何一块硬盘损坏,所有的数据无法使用
- 性能:是所有动态磁盘中,数据读写最快的
RAID1(镜像卷)
- 只能两块或两块的倍数
- 利用率:硬盘使用率只有50%
- 安全:可以坏一半
- 性能:写入速度最慢(那一半去做备份了)
RAID5
- 至少三块
- 利用率:磁盘利用率是n-1块盘(一块留做奇偶校验)
- 安全:最多可以损坏一块硬盘
- 性能:写入速度不快,读取Ok
RAID10
- 最少4块硬盘,增加硬盘必须是2的倍数;
- 利用率:所有硬盘容量的一半
- 安全:最多损坏一半磁盘
- 性能:写入和读取都很快
如果系统提示 -bash-4.2$ 如何解决
1)复制 /etc/skel/.bash_profile和.bsah.rc到家目录
复制/etc/skel/下面的所有隐藏文件到家目录
2)直接执行环境变量 source .bash_profile .bashrc
网络面试题
三次握手流程
TCP 2次握手行不行?为什么要3次
1. 为了实现可靠数据传输, TCP 协议的通信双方, 都必须维护一个序列号, 以标识发送出去的数据 包中, 哪些是已经被对方收到的。 三次握手的过程即是通信双方相互告知序列号起始值, 并确认 对方已经收到了序列号起始值的必经步骤
2. 如果只是两次握手, 至多只有连接发起方的起始序列号能被确认, 另一方选择的序列号则得不到 确认
简述 TCP 和 UDP 的区别
TCP和UDP协议都是传输层协议。二者的区别主要有:
- 1. 基于连接vs无连接 TCP是面向连接的协议。 UDP是无连接的协议。UDP更加适合消息的多播发布,从单个点向多个点传输消息。
- 2. 可靠性 TCP提供交付保证,传输过程中丢失,将会重发。 UDP是不可靠的,不提供任何交付保证。(网游和视频的丢包情况)
- 3. 有序性 TCP保证了消息的有序性,即使到达客户端顺序不同,TCP也会排序。 UDP不提供有序性保证。
- 4. 速度 TCP速度慢 UDP速度快。应用在在线视频媒体,电视广播和多人在线游戏。
- 5. 报头大小 TCP头大。 一个TCP数据包报头的大小是20字节。 TCP报头中包含序列号,ACK号,数据偏移量,保留,控制位,窗口,紧急指针,可选项,填 充项,校验位,源端口和目的端口。 UDP头小。 UDP数据报报头是8个字节。 而UDP报头只包含长度,源端口号,目的端口,和校验和。
- 8. 拥塞或流控制 TCP有流量控制。 在任何用户数据可以被发送之前,TCP需要三数据包来设置一个套接字连接。TCP处理的可靠 性和拥塞控制。 UDP不能进行流量控制。
- 9. 应用 由于TCP提供可靠交付和有序性的保证,它是最适合需要高可靠并且对传输时间要求不高的应用。 UDP是更适合的应用程序需要快速,高效的传输的应用,如游戏。 UDP是无状态的性质,在服务器端需要对大量客户端产生的少量请求进行应答的应用中是非常有 用的。 在实践中,TCP被用于金融领域,如FIX协议是一种基于TCP的协议,而UDP是大量使用在游戏和娱 乐场所。 10.上层使用的协议 基于TCP协议的:Telnet,FTP以及SMTP协议。 基于UDP协议的:DHCP、DNS、SNMP、TFTP、BOOTP。
说说TCP 可靠性保证
- 校验和
- 确认应答
- 超时重传
- 最大消息长度
四次挥手流程
DNS解析过程
电脑客户端会发出一个 DNS 请求,问 www.163 的 IP 是啥啊,并发给本地域名服务器 (本地 DNS)。那本地域名服务器 (本地 DNS) 是什么呢?如果是通过 DHCP 配置,本地 DNS 由你的网络服务商(ISP),如电信、移动等自动分配,它通常就在你网络服务商的某个机房。本地 DNS 收到来自客户端的请求。你可以想象这台服务器上缓存了一张域名与之对应 IP 地址的大表格。如果能找到 www.163,它就直接返回 IP 地址。如果没有,本地 DNS 会去问它的根域名服务器:“老大,能告诉我 www.163 的 IP 地址吗?”根域名服务器是最高层次的,全球共有 13 套。它不直接用于域名解析,但能指明一条道路。根 DNS 收到来自本地 DNS 的请求,发现后缀是 ,说:“哦,www.163 啊,这个域名是由 区域管理,我给你它的顶级域名服务器的地址,你去问问它吧。”本地 DNS 转向问顶级域名服务器:“老二,你能告诉我 www.163 的 IP 地址吗?”顶级域名服务器就是大名鼎鼎的比如 、、 这些一级域名,它负责管理二级域名,比如 163,所以它能提供一条更清晰的方向。顶级域名服务器说:“我给你负责 www.163 区域的权威 DNS 服务器的地址,你去问它应该能问到。”本地 DNS 转向问权威 DNS 服务器:“您好,www.163 对应的 IP 是啥呀?”163 的权威 DNS 服务器,它是域名解析结果的原出处。为啥叫权威呢?就是我的域名我做主。权威 DNS 服务器查询后将对应的 IP 地址 X.X.X.X 告诉本地 DNS。本地 DNS 再将 IP 地址返回客户端,客户端和目标建立连接。至此,我们完成了 DNS 的解析过程。
说说浏览器从输入 URL 到展现页面的全过程
- 输入地址
- 浏览器查找域名的 IP 地址
- 3、浏览器向 web 服务器发送一个 HTTP 请求
- 服务器的永久重定向响应
- 服务器处理请求
- 服务器返回一个 HTTP 响应
- 浏览器显示 HTML
- 浏览器发送请求获取嵌入在 HTML 中的资源(如图片、音频、视频、CSS、JS等等)
简述 HTTP 和 HTTPS 的区别?
- https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。
- http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
- http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
- http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认 证的网络协议,比http协议安全。
说说 HTTP 的方法有哪些
- GET: 用于请求访问已经被URI(统一资源标识符)识别的资源,可以通过URL传参给服务器
- POST:用于传输信息给服务器,主要功能与GET方法类似,但一般推荐使用POST方式。
- PUT: 传输文件,报文主体中包含文件内容,保存到对应URI位置。
- HEAD: 获得报文首部,与GET方法类似,只是不返回报文主体,一般用于验证URI是否有效。
- DELETE:删除文件,与PUT方法相反,删除对应URI位置的文件。
- OPTIONS:查询相应URI支持的HTTP方法。
https加密过程
简述 HTTP 1.0,1.1,2.0 的主要区别
http/1.0 :
1. 默认不支持长连接,需要设置keep-alive参数指定 2. 强缓存expired、协商缓存last-modified\if-modified-since 有一定的缺陷
http 1.1 :
1. 默认长连接(keep-alive),http请求可以复用Tcp连接,但是同一时间只能对应一个http请求(http请 求在一个Tcp中是串行的) 2. 增加了强缓存cache-control、协商缓存etag\if-none-match 是对http/1 缓存的优化
http/2.0 :
1. 多路复用,一个Tcp中多个http请求是并行的 (雪碧图、多域名散列等优化手段http/2中将变得多 余) 2. 二进制格式编码传输 3. 使用HPACK算法做header压缩 4. 服务端推送
说说 HTTP 常见的响应状态码及其含义
- 1XX : 信息类状态码(表示接收请求状态处理)
- 2XX : 成功状态码(表示请求正常处理完毕) 200 ok
- 3XX : 重定向(表示需要进行附加操作,已完成请求) 301跳转,永久重定向 302临时重定向
- 4XX : 客户端错误(表示服务器无法处理请求)403 目录没文件 404 没目录
- 5XX : 服务器错误状态码(表示服务器处理请求的时候出错)
说说 Cookie 和 Session 的关系和区别是什么
- Cookie与Session都是会话的一种方式。它们的典型使用场景比如“购物车”,当你点击下单按钮 时,服务端并不清楚具体用户的具体操作,为了标识并跟踪该用户,了解购物车中有几样物品,服 务端通过为该用户创建Cookie/Session来获取这些信息。
- cookie数据存放在客户的浏览器上,session数据放在服务器上。
- cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗 考虑到安全应当使 用session。
- session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能 考虑到减轻 服务器性能方面,应当使用COOKIE。
- 单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。
ISO/OSI的七层模型
应用层 表示层 会话层 传输层 网络层 数据链路层 物理层
TCP/IP四层
应用层 传输层 网络层 网络接口层。
scp和rsync进行远程文件复制有什么区别
LVS的三种模式是
- NAT模式 类似Nginx代理模式
- DR模式 转发模式
- TUN模式
证书的种类
- EV 证书是安全防护等级最高的证书,安装EV证书后的网站,会出现绿色地址栏,同时附有注册机构名称,让用户对访问网站的真实性一目了然。
- OV 证书防护等级要高于DV证书,除了验证域名所有权外,OV证书还会验证注册机构是否真实。
- DV证书是防护等级相对较弱的一种证书,比较适合于个人网站、博客 。安装了DV证书的网站,会在地址栏中出现一个小锁标志。
常见的端口
- ftp #数据端口20 控制端口21
- dns #53
- ssh #22
- telnet #23
- mysql #3306
- http #80
- https #443
Nginx 和 Apache 区别
Nginx
- 轻量级,采用C语言进行编写,同样的web服务,会占用更少的内存及资源
- 抗并发,nginx 以 epoll and kqueue 作为开发模型,处理请求是异步非阻塞的,负载能比apache高很多,而Apache则是阻塞型的。在高并发下nginx能保持资源低消耗高性能,而apache在PHP处理慢或者前端压力很大的情况下,很容易出现进程飙升,从而拒绝服务的现象
- 处理静态文件好,静态处理性能比apache高三倍以上
- 设计高度模块化,编写模块相对简单
- 配置简洁
- 支持7层负载均衡
- 反向代理服务器,可作为非常优秀的邮件代理服务器
- 社区活跃,各种高性能模块出品迅速
Apache
- rewrite比nginx强大
- Apache模块多
- bug少
- 稳定
- 对PHP支持比较简单,nginx需要配合其他后端使用
- 在处理动态请求有优势
使用playbook执行的shell命令无法显示结果怎么办?
使用变量注册 模块是register
为什么要有swap分区?工作原理是什么?
Linux 内核为了提高读写效率与速度,会将文件在内存中进行缓存,这部分内存就是cache Memory(缓存内存)。即使你的程序运行结束后,Cache Memory也不会自动释放。这就会导致你在Linux系统中程序频繁读写文件后,你会发现可用物理内存变少。当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从 Swap分区中恢复保存的数据到内存中。这样,系统总是在物理内存不够时,才进行Swap交换。
PV UV IP VV是什么
PV:用以衡量网站用户访问的网页的数量,每刷新一次就加一次;
UV:独立访客数,当客户端第一次访问某个网站服务器的时候,网站服务器会给这个客户端的电脑发出一个Cookie,当同一ip加再次访问时就直接查找cookie,并对其进行一些更新;
IP:独立IP的访问用户;(IP和UV之间的数据不会有太大的差异,通常每个UV相对于每个IP更准确地对应一个实际的浏览者。)
VV:访客的访问次数,记录所有访客1天内访问了多少次您
LVS的四种模式
- 网络地址转换模式,即NAT模式(Network Address Translation)
- IP隧道模式,即TUN模式(IP Tunneling)
- 直接路由模式,即DR模式(Direct Routing)
- 完全网络地址转换模式,即FULLNAT模式(FULL Network Address Translation)
Ansible常用的模块
ping,copy,yum,user,group,file,shell
Nginx七种状态
[root@web01 ~]# curl 127.0.0.1/nginx_status
Active connections: 1 #连接活跃数
server accepts handled requests #总连接数 总处理数 总请求数
1719 1719 1718
Reading: 0 Writing: 1 Waiting: 0
ab dd压测
ab -n1000 -c200 -r "http://localhost:80"
dd if=/dev/zero of=/dev/null bs=600M count=1024
Docker面试题
COMMAND和ENTRYPOINT的区别:
指定COMMAND,用于容器时执行的脚本,当用户运行容器时指定命令,则会覆盖此命令
指定ENTRYPOINT,和CMD不同之处在于,当用户运行容器时指定命令时,会将用户的命令当做参数传递给此命令。
ARG和ENV的区别
# 使用ARG可以在构建阶段声明变量,当构建阶段结束后,变量生命周期结束。
# 该值在构建时可以使用"docker build --build-arg"进行覆盖
ARG NGINX_VERSION=1.20.1
# 向容器传递环境变量,当容器运行时会传递给容器,在构建阶段也有效。
# 该值在运行容器阶段可以使用"docker run -e,--env"进行覆盖。
ENV CLASSROOM=jiaoshi05
Docker重启策略说明
on-failure
重启,若不指定max-retries,表示重启次数不上限,等效于"always"。
on-failure:3
有条件重启,当异常退出超过3次时,容器将不再重启。
unless-stopped
有条件重启,当异常退出时,会自动重启。
除非停止docker服务之前容器已被停止,否则每次启动容器时均会重启容器。
always
只要容器退出就始终重启容器。
no
当容器退出时不自动重启,这是默认的配置
版权声明:本文标题:系统运维常见面试题 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/xitong/1727663500a1124451.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论