1.运维核心职责
运维核心职责 |
运维主要工作内容 |
※三个核心 |
数据不丢、7*24不宕机、提升用户体验 |
1.监控: |
查看网站监控,网站状态、流量(带宽) |
|
根据监控提示(邮件 微信 电话)进行处理 |
2.备份: |
备份的内容(配置、数据、脚本、网站程序代码)检查备份是否能用 |
3.代码更新上线: |
进行代码上线,代码回滚 |
4.其他项目: |
根据需求做项目(备份、优化、监控) |
5.额外要求: |
一些生活琐事 |
2.程序进程守护进程
程序进程守护进程 |
|
程序 |
保存在文件中的代码 |
进程 |
正在运行的程序 |
守护进程 |
为了一项任务或服务持续运行的程序 |
3.如何优化提升用户体验
如何优化提升用户体验 |
|
高并发写入 |
将数据先写入到内存,再写入到磁盘里 |
访问量少读取 |
将数据写到磁盘,然后再读取到内存中 |
防止数据丢失 |
双路电源、UPS不间断电源、供油协议 |
4.buffer和cache的区别
区别 |
|
buffer: |
写buffer 写缓冲,将数据写入到内存的数据区域 |
cache: |
读cache 读缓存,从内存里读取数据区域 |
5.Raid卡级别
Raid卡作用 |
高容量 |
高性能(读写速度) |
高冗余(安全性) |
Raid级别 |
需要几块盘 |
存取速度 |
容量 |
冗余 |
安全性 |
使用场景 |
举例 |
Raid0 |
至少1快 |
读写都快 |
所有硬盘容量的总和 |
0 |
差,损失1块全不能用 |
不要安全只求速度 |
数据块从库,存储从库 |
Raid1 |
只能2块 |
写入慢,读取正ok |
总量的一半 |
100% |
好,坏1块还可以使用,有备份 |
只追求安全性,对速度无要求 |
系统盘,监控服务器 |
Raid5 |
最少3块 |
写入慢,读取正常 |
损失一块盘容量 |
有1块盘 |
正常,最多坏1块 |
对速度安全,对速度要求不高 |
普遍数据库,存储访问量不高 |
Raid10 |
最少4块 |
读写都快 |
总量的一半 |
可以损坏一半 |
好,坏1块还可以使用,有备份 |
安全和性能都要 |
高并发或高访问量,数据库主库 存储 |
6.磁盘分区常见方案
企业磁盘分区规则 |
/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 |
剩余保留,谁用谁分 |
7.GPL协议
GPL协议 |
|
每个软件都要开放源代码,可以随意传播 |
可以随意修改代码 |
修改完之后发出来 |
8.导致xshell无法连接服务器的原因
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 重启生效 |
9.根下所有目录的作用
根下的目录 |
作用 |
/bin |
二进制文件 命令 |
/sbin |
超级命令 只有root能使用 |
/boot |
引导文件存放系统内核 |
/dev |
设备文件 光盘 硬盘 |
/etc |
系统的配置文件 |
/home |
普通用户的家目录 |
/lib&/lib64 |
libary库文件 |
/mnt |
默认的临时挂载点 |
/opt |
第三方软件安装位置 |
/proc |
存放的内存中的信息进程 |
/root |
root用户的家目录 皇宫 |
/sys |
存放内存 信息 进程 |
/tmp |
临时存放的文件 回收站 |
/usr |
存放用户安装的软件 |
/var |
日志文件 |
10./etc目录下的文件
/etc/sysconfig/network-scripts/ifcfg-eth0 |
配置网卡 |
/etc/fstab |
开机自动挂载的列表 |
/etc/hostname |
主机名 |
/etc/hosts |
查看本地DNS域名 |
/etc/resolv.conf |
配置DNS域名 |
/etc/rc.local -> rc.d/rc.local |
开机自启动脚本文件 |
/etc/inittab |
运行级别 |
/etc/profile |
环境变量 别名 |
/etc/bashrc |
配置别名 给命令起一个小名 |
/etc/motd |
用户登录系统之后显示这个文件信息 |
/etc/issue |
用户登录系统之前显示的版本或文件信息 |
/etc/init.d |
存放系统管理命令 |
/etc/passwd |
用户密码 |
/etc/group |
用户组信息 |
补充 |
|
/var/log/messages |
系统日志 |
/var/log/secure |
用户登录日志 |
11.CentOS 6与7启动流程
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 |
12.CentOS 6与7运行级别
|
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 |
13.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剩余
14. 软硬链接区别
如何创建:
硬链接 ln
软链接 ln -s
含义:
硬链接ln:
在同一分区中inode号码相同的,节点相同的文件,超市前后门(多个入口)
软链接:
相当于快捷方式,存放存放源文件的位置,inode节点号与源文件不同
特点:
1.不能对目录创建硬链接,但可以创建软链接,对目录的软链接会被经常用到
2.软链接可以跨文件系统,硬链接不可以跨文件系统
怎么没的 (源文件 软链接 硬链接 与删除)
1.删除软链接文件,对源文件及硬链接文件没有影响
2.删除文件的硬链接文件,对源文及软链接文件没有影响
3.删除链接文件的源文件,对硬链接文件无影响,会导致其软链接失效(闪烁)
4.同时删除源文及硬链接文件,整个文件才会被真正的删除
15.单引号,双引号,不加引号区别
区别 |
|
单引号 |
所见即所得 |
双引号 |
解析命令,但是需要与 或$( )结合 |
不加引号 |
与双引号类似,支持花括号(通配符) |
反引号 |
== $( )与后者作用相同,与双引号类似解析命令 |
16.特殊符号的含义
# 配置文件注释 root用户命令提示符
; 命令结束,连续不同命令的分隔符
! 逻辑运算中的“非”(not)
.(点) 当前目录
.. 返回上一级目录
- 切换上一次的目录
~ 当前用户家目录
> 标准输出重定向,先清空文件内容再写入
>> 标准输出追加重定向,追加内容到文件尾部
2> 标准错误输出重定向,先清空文件然后把错误信息写入文件中
2>> 标准追加错误输出重定向, 把错误信息追加到文件结尾
17.正则表达式的含义
基础正则:
. 匹配任意字符 类似通配符的问号 不匹配空行
* 逐行匹配,前1个字符连续出现0次或0次以上
.* 表示所有内容
^ 以...开头的行
$ 以...结尾的行
^$ 空行
[ ] 匹配[]集合内的任意一个字符
[^ ] 取反,不包含[]集合内的任意一个字符
扩展正则:
+ 匹配前一个字符1次或1次以上
? 匹配前一个字符0次或1次
| 或者
( ) 表示一个整体,反向引用,\后向引用
{ } 匹配字符最少几次,最多几次
18.文件和目录rwx含义
文件 : |
r是否能查看文件内容的权限 |
|
w是否能修改文件内容的权限 和r配合 只有w vim可以强制修改,会被覆盖 |
|
x是否能让文件执行的权限 和r配合 |
目录: |
r是否能显示目录下内容的权限 和x配合 |
|
w是否能在目录下创建或删除或重命名的权限 和x配合 |
|
x是否能进入目录下查看文件信息修改文件属性的权限 |
19.什么是IP地址 端口号 协议
|
|
ip |
服务器的地址位置 |
端口号 |
区分各种服务 |
协议 |
大家共同遵守的协议 规则 |
20.20.查看端口是否开启的多种方法
默认端口号为22
本地xshell连接netstat
lsof -i:22
nc 10.0.0.201 22
telnet 10.0.0.201 22
nmap -p22 10.0.0.201
21.取出ip地址的多种方法
inet 10.0.0.201/24 brd 10.0.0.255 scope global eth0
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|grep 'inet '|sed -r 's#^.*t (.*)/.*#\1#g' #grep+sed
ip a s eth0|grep 'inet '|awk -F'[ /]+' '{print $3}' #grep+awk
22.调换/etc/passwd 第一列和最后一列内容
awk -F: -vOFS=":" '{u=$1;$1=$NF;$NF=u;print $0}' /etc/passwd
sed -r 's#(^.*:)(.*)(/.*)#\3 \1#g' /etc/passwd
23.如何稳定执行定时任务计划
1.查看当前定时任务是否运行
systemctl
systemctl is-active crond
active \\正在运行
ps
ps -ef|grep crond
2.查看定时任务是否开机自启动
systemctl is-enabled crond
enabled \\已启动
3.确保reuslog是否运行 是否开机自启动 \\rsyslog 自动写系统日志的文件
systemctl is-active rsyslog
active
systemctl is-enabled rsyslog
enabled
4.定时任务书写要规范专业
24./etc/fstab含义及每一列含义
`开机自动挂载设备的配置文件
UUID=13d82528-a2cc-484e-b468-9dfc25c36f5c swap swap defaults 0 0
第一列.UUID或设备名称
第二列.挂载点(入口)
第三列.文件系统类型
第四列.挂载参数
第五列.是否备份
第六列.是否开机自启动检查`