想要成为一名优秀的运维工程师,答题一定要 重细节 多方法
第1章 硬件与系统
1.1简述centos7常见运行级别
Centos 6 | Centos 7 | |
---|---|---|
0 | 关机 | 关机 poweroff.target |
1 | 单用户 | 救援模式 rescue.target |
2 | 没有网络的多用户 | 多用户模式 multi-user.target |
3 | 完全多用户 | 多用户模式 multi-user.target |
4 | 待开发 保留 | 多用户模式 multi-user.target |
5 | 图形界面模式 | 图形界面模式 graphical.target |
6 | 重启 | 重启 reboot.target |
1.2 简述centos7开机启动流程
Centos6 | Centos7 |
---|---|
1.开机 | 1.开机 |
2.bios开机自检 | 2.bios开机自检 |
3.MBR引导 | 3.MBR引导 |
4.GRUB菜单 选择不同内核 CentOS6进入单用户模式 | 4.GRUB菜单 选择不同内核 CentOS6进入单用户模式 |
5.加载内核 /boot加载到内存 | 5.加载内核 /boot加载到内存 |
6.运行INIT进程 CentOS6第一个进程 | 6.运行systemd进程 读取第一个运行程序 ps -ef |
7.读取/etc/inittab运行级别 | 7.读取运行级别 /etc/systemd/system/ |
8.串行 读取/etc/rc.sysinit 初始化系统 设置主机名 ip地址 | 8.并行 初始化系统/etc/systemd/system |
9.根据运行级别启动相应脚本软件(串行) | 9.启动脚本软件服务 |
10.启动minggetty登录界面 运行login | 10.启动getty登录界面 运行login |
1.3 简述常见Raid级别及应用场景
Raid级别 | 需要几块盘 | 存取速度 | 容量 | 冗余 | 安全性 | 使用场景 | 举例 |
---|---|---|---|---|---|---|---|
Raid0 | 至少1快 | 读写都快 | 所有硬盘容量的总和 | 0 | 差,损失1块全不能用 | 不要安全只求速度 | 数据块从库,存储从库 |
Raid1 | 只能2块 | 写入慢,读取正ok | 总量的一半 | 100% | 好,坏1块还可以使用,有备份 | 只追求安全性,对速度无要求 | 系统盘,监控服务器 |
Raid5 | 最少3块 | 写入慢,读取正常 | 损失一块盘容量 | 有1块盘 | 正常,最多坏1块 | 对速度安全,对速度要求不高 | 普遍数据库,存储访问量不高 |
Raid10 | 最少4块 | 读写都快 | 总量的一半 | 可以损坏一半 | 好,坏1块还可以使用,有备份 | 安全和性能都要 | 高并发或高访问量,数据库主库 存储 |
1.4 简述企业磁盘常见分区规则
企业磁盘分区规则 | /boot引导分区 | swap交换分区 | / 分区 | /data分区 |
---|---|---|---|---|
通常情况 | 200M~1G | 内存小于8G给1.5倍,大于8G 最多给8G | 剩余多少给多少 | |
数据重要的情况 | 200M~1G | 内存小于8G给1.5倍,大于8G 最多给8G | 20~200G | 余下全部分给/data |
大网站数据重要的情况 | 200M~1G | 内存小于8G给1.5倍,大于8G 最多给8G | 20~200G | 剩余保留,谁用谁分 |
1.5 什么是inode什么是block
含义:
inode (index node)
1.索引节点inode号码
2.inode空间 存放文件属性信息(大小 所有者 权限 文件类型 硬连接数 时间)和block的位置,
但是文件名没有存放在这里
block 数据块
block 用来存放文件的内容
特点:
inode: (ls -i查看目录inode号)
1.256字节 (磁盘分区大于500MB)
2.inode在同一个分区(文件系统)中是唯一的
3.创建1个非空的文件需要占用1个inode和至少一个block
block:
1.block大小是4K
2.文件比较小的,剩余的将无法使用
3.文件比较大的,占用多个block
查看整体情况:
block 一共有多 还剩多少(查看磁盘空间使用情况)
df -h 以人类可读的形式
inode一共有多少 还剩多少
df -i inode剩余
1.6 /etc/fstab含义及每一列含义
`开机自动挂载设备的配置文件
UUID=13d82528-a2cc-484e-b468-9dfc25c36f5c swap swap defaults 0 0
第一列.UUID或设备名称
第二列.挂载点(入口)
第三列.文件系统类型
第四列.挂载参数
第五列.是否备份
第六列.是否开机自启动检查`
1.7 简述软硬连接的区别
如何创建:
硬链接 ln
软链接 ln -s
含义:
硬链接ln:
在同一分区中inode号码相同的,节点相同的文件,超市前后门(多个入口)
软链接:
相当于快捷方式,存放存放源文件的位置,inode节点号与源文件不同
特点:
1.不能对目录创建硬链接,但可以创建软链接,对目录的软链接会被经常用到
2.软链接可以跨文件系统,硬链接不可以跨文件系统
怎么没的 (源文件 软链接 硬链接 与删除)
1.删除软链接文件,对源文件及硬链接文件没有影响
2.删除文件的硬链接文件,对源文及软链接文件没有影响
3.删除链接文件的源文件,对硬链接文件无影响,会导致其软链接失效(闪烁)
4.同时删除源文及硬链接文件,整个文件才会被真正的删除
1.8 运维的职责
运维核心职责 | 运维主要工作内容 |
---|---|
※三个核心 | 数据不丢、7*24不宕机、提升用户体验 |
1.监控: | 查看网站监控,网站状态、流量(带宽) |
根据监控提示(邮件 微信 电话)进行处理 | |
2.备份: | 备份的内容(配置、数据、脚本、网站程序代码)检查备份是否能用 |
3.代码更新上线: | 进行代码上线,代码回滚 |
4.其他项目: | 根据需求做项目(备份、优化、监控) |
5.额外要求: | 一些生活琐事 |
1.9 说一说你公司的服务器配置
DELL的R730,2U的服务器,2路8核心
内存是128G 600G*8的SAS磁盘 做的是raid5
1.10 简单阐述虚拟机上不了网的原因有哪些
ip add | 显示服务器的ip地址是否正确 |
---|---|
ping baidu.com | 检查虚拟机是否能上网 |
win+r services.msc服务 | 找到VMware的服务全部启动 |
虚拟机的VMnet8 网卡 | 设置为自动获得ip地址 |
检查是否关闭NetworkManager | systemctl disable NetworkManager |
检查虚拟网络编辑器 | NAT模式的子网ip与网关ip的修改 |
telnet +服务器ip +端口号 | 本地服务是否运行中 |
关闭防火墙 | systemctl disable firewalld |
关闭selinux | setenforce 0 重启生效 |
第2章文件目录
2.1简述一下文件的位置与名称
1 网卡配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0
2 DNS配置文件 /etc/resolv.conf
3 系统日志 /var/log/messages
4 登录日志 /var/log/secure
5 系统环境变量 /etc/profile
6 本地域名解析文件 /etc/hosts
7 用户与密码信息文件 /etc/passwd /etc/shadow
8 开机自启文件 /etc/rc.local
9 开机自动挂载文件 /etc/fstab
10 用户组信息文件 /etc/group
2.2简述一下目录/文件的功能
/dev 设备配置文件
/etc/rc.local 开机自启动脚本
/etc/inittab 运行级别
/var/log/secure 用户登录日志
/mnt 临时挂载点
/var/log/cron 定时任务日志
/proc/loadavg 系统负载
/proc/cpuinfo cpu信息
第3章命令
3.1创建目录/oldboy/test
mkdir -p /oldboy/test
3.2在/oldboy/test/目录下创建file01.txt到file10.txt的10个文件
touch /oldboy/test/file{01..10}.txt
3.3查找/etc目录下以.txt结尾的,修改时间在7天前的,大于1k的文件复制到/tmp下(两种方法)
cp `find -type f mtime +7 -size +1k -name '*.txt'` /tmp/
find -type f mtime +7 -size +1k -name '*.txt|xargs -i cp {} /tmp/ \:
find -type f mtime +7 -size +1k -name '*.txt|xargs cp -t /tmp/
3.4查找/etc目录下以.txt结尾的,修改时间在7天前的,大于1k的文件,打包压缩到/tmp下并且以时间命名(两种方法)
tar zcf /tmp/`date +%F`.tar.gz `find-- -type f mtime +7 -size +1k -name '*.txt'`
find -type f mtime +7 -size +1k -name '*.txt' -exec tar /tmp/`date +%F`.tar.gz {} +
find -type f mtime +7 -size +1k -name '*.txt'|xargs tar zcf /tmp/`date +%F`.tar.gz
3.5将test.tar.gz解压到/root目录下
tar xf test.tar.gz -C /root/
3.6取出IP地址(三方法)
ip a s eth0|sed -nr '3s#^.*t (.*)/.*$#\1#gp' #用sed
ip a s eth0|awk -F'[/ ]+' 'NR==3{print $3}' #用awk
ip a s eth0|sed -n '3p'|awk -F'[ /]+' '{print$3}' #sed+awk
ip a s eth0|egrep -o '[0-9.]{7,15}'|awk 'NR==1' #grep
3.7取出/tmp/file.txt文件的权限(如0644)(3种)
stat /tmp/file.txt |sed -rn '4s#^.*: \((.*)/-.*#\1#gp'
stat /tmp/file.txt |awk -F'[/(]+' 'NR==4{print $2}'
stat /tmp/file.txt |sed -n '4p'|awk -F'[ (/]' '{print $3}'
stat /tmp/file.txt |sed -n '4p'|egrep -o '[0-9]{4}'
3.8将/etc/passwd的第一列与最后一列调换位置
awk -F: -vOFS=":" 'A=$1;$1=$NF;$NF=a{print $0}' /etc/passwd
3.9将/oldboy/file.txt文件中的所有oldboy替换成oldgirl,同时将000替换成666
sed -e 's#oldboy#oldgirl#g;s#000#666#g' /tmp/1.txt -i
awk '{gsub(/oldboy/,"oldgirl");gsub(/000/,"666");print $0}' /tmp/1.txt
3.10统计/etc/passwd文件中又几个“nologin”
awk '/nologin/{i++}END{print i}' /etc/passwd
grep -c 'nologin' /etc/paswd
第4章用户与权限
4.1有一文件权限是-rw-r--r—则该权限用数字表示是什么,所有者,同用户组,其他用户对该文件都有什么权限
644
所有者 可读可写
同用户组 可读
其他用户 可读
4.2什么是超级用户,什么是虚拟用户,什么是普通用户
超级用户 uid=0 最高权限
虚拟用户 CentOS6 uid=1~499 CentOS7 uid=1~999
普通用户 CentOS6 uid>=1000 CentOS7 uid>=1000
4.3将/oldboy/file.txt的权限修改为644
chmod 644 /oldboy/file.txt
4.4创建用户组old,指定gid为1024
groupadd -g 1024
4.5创建用户boy指定uid为1024,指定用户组为old
useradd -u 1024 -g old boy
第5章定时任务
5.1定时任务中的五个*代表的都是什么含义
分 时 日 月 周
5.2每周六凌晨2点15分将/etc/下以.conf结尾的文件打包到/backup目录下,并以时间命名
15 02 * * 06 find /etc/ -type f -name '*.txt'|xargs tar zcf /backup/etc_`date +\%F`.tar.gz >/dev/null 2>&1
5.3每周六凌晨2点15分将/etc/下以.conf结尾的文件打包到/backup目录下,并以时间命名,同时删除7天前的压缩包
1.写一个脚本:
vim /server/scripts/bak-etc.sh
#!/bin/bash
tar zcf /backup/etc_`date +%F.tar.gz `find /etc/ -type f -name '*.conf'`
find /tmp/ -type f -mtime +7 -name 'etc*.tar.gz'|rm -rf
2.把脚本写入到定时任务里
15 02 * * 06 sh /server/scripts/bak-etc.sh >/dev/null 2>&1
5.4每周六凌晨2点15分将/etc/下以.conf结尾的文件打包到/backup目录下,并以时间命名,同时删除7天前的压缩包但是要保留每周一的
1.写一个脚本:
#!/bin/bash
tar zcf /backup/etc_`date +%F_%w.tar.gz `find /etc/ -type f -name '*.conf'`
rm -f `find /tmp/ -type f -mtime +7 ! -name '*_1.tar.gz'`
2.把脚本写入到定时任务里
15 02 * * 06 sh /server/scripts/bak-etc.sh >/dev/null 2>&1
第6章网络与基础架构
6.1什么是三次握手,什么是四次挥手
1.客户端给服务端发起连接请求,SYN,并发送一个随机序列号seq。
2.服务端反馈给客户端信息表示确认,ACK,seq+1,并发送一个随机序列号seq。
3.然后客户端给服务端再次确认信息,ACK,(seq+1)+1,并发送一个随机序列号seq。
6.2什么是协议、什么是端口、什么是IP地址
协议 大家共同遵守的协议 规则
端口 区分各种服务
IP地址 服务器的地址位置
6.3简述Osi七层网络模型
应用层
表示层
会话层
传输层
网络层
数据链路层
物理层
6.4简述什么是nfs,什么是rsync,这两个服务的作用是什么
nfs-----> 共享的数据目录
rsync--->实时推送 备份
第7章翻译
7.1/dev/sda is mounted; is mounted make a filesystem here!
sda 磁盘分区已经挂载 不可以在分区挂载之后再进行格式化!
7.2id: lidao: No such user
没有这个用户
7.3mount: you must specify the filesystem type
你必须指定你的挂载的系统类型
7.4useradd: UID is not unique
UID不是唯一的
7.5You have new mail in /var/spool/mail/root
你有一封来自此路径的邮件