目录
字符模式:multi-user.target 图形模式:graphical.target
分离解析
什么是分离解析
当收到客户机的DNS请求时
- 能够区分客户机的来源地址
- 为不同的客户机提供不同的解析结果(IP地址)
- 为客户机就近提供服务器
DNS服务器=互联网的导航员
BIND的view视图
根据源地址集合将客户机分类
- 不同客户机获得不同结果(待遇有差别)
- 所有的客户机都要找到自己的类别
- 分类的匹配由上到下依次匹配,原则:匹配即停止
- 所有的zone都必须写在view中
view "vip" {
match-clients { 客户端来源地址1; .. ..; }; 北京南站
zone "12306.cn" IN {
...... 地址库1;
}; };
view "other" {
match-clients { 客户端来源地址2; .. .. ; }; 北京西站
zone "12306.cn" IN {
...... 地址库2;
}; };
view "haha" {
match-clients { any; }; 任意
zone "12306.cn" IN {
...... 地址库3;
}; };
案例
环境及需求
- 权威DNS:svr7.tedu.cn 192.168.4.
- 负责区域:tedu.cn
- A记录解析----以www.tedu.cn
客户机
192.168.4.207----www.tedu.cn---->192.168.4.100
其他地址----www.tedu.cn---->1.2.3.4
[root@svr7 /]# vim /etc/named.conf
options {
directory "/var/named";
};
view "haha" {
match-clients { 192.168.4.207; }; #匹配客户端来源IP地址
zone "tedu.cn" IN {
type master;
file "tedu.cn.zone"; #定义地址库文件
};
};
view "xixi" {
match-clients { any; }; #匹配客户端来源地址,任意
zone "tedu.cn" IN {
type master;
file "tedu.cn.other"; #定义地址库文件
};
};
[root@svr7 /]# cd /var/named/
[root@svr7 named]# vim tedu.cn.zone
tedu.cn. NS svr7
svr7 A 192.168.4.7
www A 192.168.4.100
[root@svr7 named]# cp -p tedu.cn.zone tedu.cn.other
[root@svr7 named]# vim tedu.cn.other
tedu.cn. NS svr7
svr7 A 192.168.4.7
www A 1.2.3.4
[root@svr7 /]# systemctl restart named
案例2
• 环境及需求
– 权威DNS:192.168.4.7
– 负责区域:tedu.cn qq.com
– A记录分离解析 以 www.tedu.cn与www.qq.com为例
客户机来自 解析结果
192.168.4.207 --www.tedu.cn---》192.168.4.100
其他地址 --www.tedu.cn---》1.2.3.4
192.168.4.207 --www.qq.com---》192.168.4.200
其他地址 --www.qq.com---》10.20.30.40
在每一个view中,zone的个数保持一致
在每一个view中,zone负责的域名保持一致
[root@svr7 /]# vim /etc/named.conf
options {
directory "/var/named";
};
view "haha" {
match-clients { 192.168.4.207; };
zone "tedu.cn" IN {
type master;
file "tedu.cn.zone";
};
zone "qq.com" IN { #定义新的zone
type master;
file "qq.com.zone"; #指定地址库文件,写入解析结果为192.168.4.200
};
};
view "xixi" {
match-clients { any; };
zone "tedu.cn" IN {
type master;
file "tedu.cn.other";
};
zone "qq.com" IN { #定义新的zone
type master;
file "qq.com.other"; #指定地址库文件,写入解析结果为10.20.30.40
};
};
[root@svr7 /]# cd /var/named/
[root@svr7 named]# vim qq.com.zone
qq.com. NS svr7
svr7 A 192.168.4.7
www A 192.168.4.200
[root@svr7 named]# cp -p qq.com.zone qq.com.other
[root@svr7 named]# vim qq.com.other
qq.com. NS svr7
svr7 A 192.168.4.7
www A 10.20.30.40
RAID阵列概述
• 廉价冗余磁盘阵列
– Redundant Arrays of Inexpensive Disks
– 通过硬件/软件技术,将多个较小/低速的磁盘整合成一个大磁盘
– 阵列的价值:提升I/O效率、硬件级别的数据冗余
– 不同RAID级别的功能、特性各不相同
• RAID 0,条带模式
– 同一个文档分散存放在不同磁盘
– 并行写入以提高效率
– 至少需要两块磁盘组成
• RAID 1,镜像模式
– 一个文档复制成多份,分别写入不同磁盘
– 多份拷贝提高可靠性,效率无提升
– 至少需要两块磁盘组成
• RAID5,高性价比模式
– 相当于RAID0和RAID1的折中方案
– 需要至少一块磁盘的容量来存放校验数据
– 至少需要三块磁盘组成
• RAID6,高性价比/可靠模式
– 相当于扩展的RAID5阵列,提供2份独立校验方案
– 需要至少两块磁盘的容量来存放校验数据
– 至少需要四块磁盘组成
• RAID 0+1/RAID 1+0
– 整合RAID 0、RAID 1的优势
– 并行存取提高效率、镜像写入提高可靠性
– 至少需要四块磁盘组成
对比项 | RAID 0 | RAID 1 | RAID 10 | RAID 5 | RAID 6 |
---|---|---|---|---|---|
磁盘数 | ≥ 2 | ≥ 2 | ≥ 4 | ≥ 3 | ≥ 4 |
存储利用率 | 100% | ≤ 50% | ≤ 50% | n-1/n | n-2/n |
校验盘 | 无 | 无 | 无 | 1 | 2 |
容错性 | 无 | 有 | 有 | 有 | 有 |
IO性能 | 高 | 低 | 中 | 较高 | 较高 |
进程管理
程序:静态的代码 占用磁盘空间
进程:动态执行的代码 占用 CPU 与 内存
父进程与子进程 整体为树型结构 僵尸进程 孤儿进程
进程标识:PID
查看进程树命令
• pstree — Processes Tree
– 格式:pstree [选项] [PID或用户名]
• 常用命令选项
– -a:显示完整的命令行
– -p:列出对应PID编号
systemd:所有进程的父进程,上帝进程
[root@svr7 /]# pstree #查看整棵进程树信息
[root@svr7 /]# pstree lisi #查看lisi用户的进程
bash───vim
[root@svr7 /]# pstree -p lisi #显示PID
bash(30931)───vim(30963)
[root@svr7 /]# pstree -ap lisi #显示完整的命令信息
bash,30931
└─vim,30963 a.txt
[root@svr7 /]#
• ps aux 操作
– 列出正在运行的所有进程,信息全面
• ps -elf 操作
– 列出正在运行的所有进程,可以看到父进程的PID值
PPID列:父进程的PID值统计正在运行的进程个数
[root@svr7 /]# wc -l /etc/passwd
24 /etc/passwd
[root@svr7 /]# ps aux | wc -l
[root@svr7 /]# ps -elf | wc -l
[root@svr7 /]# wc -l /var/log/messages
[root@svr7 /]# find /etc/ -name "*.conf" | wc -l
进程动态排名
• top 交互式工具
格式:top [-d 刷新秒数] [-U 用户名]
P(大写)按CPU进行排序
M(大写)按内存进行排序
• 检索进程
• pgrep — Process Grep
– 用途:pgrep [选项]... 查询条件
• 常用命令选项
– -l:输出进程名,而不仅仅是 PID
– -U:检索指定用户的进程
– -x:精确匹配完整的进程名
[root@svr7 /]# pgrep -l a
[root@svr7 /]# pgrep -l crond
[root@svr7 /]# pgrep -l cro
[root@svr7 /]# pgrep -lU lisi
[root@svr7 /]# pstree -ap lisi
• 进程的前后台调度
• 在命令行末尾添加“&”符号,不占用当前终端
• Ctrl + z 组合键
– 挂起当前进程(暂停并转入后台)
• jobs 命令
– 查看后台任务列表
• fg 命令
– 将后台任务恢复到前台运行
• bg 命令
– 激活后台被挂起的任务
[root@svr7 /]# sleep 1000 & #正在运行放入后台
[root@svr7 /]# jobs #查看后台进程信息
[root@svr7 /]# sleep 800
^Z #按Ctrl+z暂停放入后台
[2]+ 已停止 sleep 800
[root@svr7 /]# jobs #正在运行放入后台
[root@svr7 /]# bg 2 #将后台编号为2的进程继续运行
[root@svr7 /]# jobs
[root@svr7 /]# fg 1 #将后台编号为1的进程恢复到前台
sleep 1000
^C #按Ctrl+c结束运行的进程
[root@svr7 /]# fg 2 #将后台编号为2的进程恢复到前台
sleep 800
^C #按Ctrl+c结束运行的进程
[root@svr7 /]# jobs
• 杀死进程
• 干掉进程的不同方法
– Ctrl+c 组合键,中断当前命令程序
– kill [-9] PID... 、kill [-9] %后台任务编号
– killall [-9] 进程名...
– pkill [-9] 查找条件
[root@svr7 /]# sleep 800 &
[root@svr7 /]# sleep 800 &
[root@svr7 /]# sleep 800 &
[root@svr7 /]# sleep 800 &
[root@svr7 /]# jobs -l
[root@svr7 /]# kill 2728
[root@svr7 /]# jobs -l
[root@svr7 /]# kill -9 2731
[root@svr7 /]# jobs -l
[root@svr7 /]# killall sleep
[root@svr7 /]# jobs -l
日志管理
• 日志的功能
• 系统和程序的“日记本”
– 记录系统、程序运行中发生的各种事件
– 通过查看日志,了解及排除故障
– 信息安全控制的“依据”
• 由系统服务rsyslog统一记录/管理
– 日志消息采用文本格式
– 主要记录事件发生的时间、主机、进程、内容
• 常见的日志文件
/var/log/messages 记录内核消息、各种服务的公共消息
/var/log/dmesg 记录系统启动过程的各种消息
/var/log/cron 记录与cron计划任务相关的消息
/var/log/maillog 记录邮件收发相关的消息
/var/log/secure 记录与访问限制相关的安全消息
日志分析
• 通用分析工具
– tail、tailf、less、grep等文本浏览/检索命令
– awk、sed等格式化过滤工具
tailf:实时跟踪日志消息
[root@svr7 /]# echo 123 > /opt/1.txt
[root@svr7 /]# tailf /opt/1.txt
123
用户登录分析
• users、who、w 命令
– 查看已登录的用户信息,详细度不同
pts:图像终端
• last、lastb 命令
– 查看最近登录成功/失败的用户信息
[root@svr7 /]# users
[root@svr7 /]# who
[root@svr7 /]# last -2 #最近登陆成功的2条信息
[root@svr7 /]# lastb -2 #最近登陆失败的2条信息
日志消息的优先级
• Linux内核定义的事件紧急程度
– 分为 0~7 共8种优先级别
– 其数值越小,表示对应事件越紧急/重要
0 | EMERG(紧急) | 会导致主机系统不可用的情况 |
1 | ALERT(警告) | 会马上采取措施解决的问题 |
2 | CRIT(严重) | 比较严重的情况 |
3 | ERR(错误) | 运行出现错误 |
4 | WARRING(提醒) | 可能会影响系统功能事件 |
5 | NOTICE(注意) | 不会影响系统但值得注意 |
6 | INFO(信息) | 一般信息 |
7 | DEBUG(调试) | 程序或系统调试信息等 |
使用journalctl工具
• 提取由 systemd-journal 服务搜集的日志
– 主要包括内核/系统日志、服务日志
• 常见用法
[root@svr7 /]# journalctl | grep named
[root@svr7 /]# journalctl -xe #在服务启动失败时,报错信息显示
– journalctl -u 服务名 [-p 优先级]
– journalctl -n 消息条数
– journalctl --since="yyyy-mm-dd HH:MM:SS" --
until="yyyy-mm-dd HH:MM:SS"
systemd介绍
init程序的作用
• Linux系统和服务管理器
– 是内核引导之后加载的第一个初始化进程(PID=1)
– 负责掌控整个Linux的运行/服务资源组合
systemd
• 一个更高效的系统&服务管理器
– 开机服务并行启动,各系统服务间的精确依赖
– 配置目录:/etc/systemd/system/
– 服务目录:/lib/systemd/system/
– 主要管理工具:systemctl
对于服务的管理
systemctl restart 服务名 #重起服务
systemctl start 服务名 #开启服务
systemctl stop 服务名 #停止服务
systemctl status 服务名 #查看服务当前的状态
systemctl enable 服务名 #设置服务开机自启动
systemctl disable 服务名 #设置服务不开机自启动
systemctl is-enabled 服务名 #查看服务是否开机自启动
RHEL6 运行级别
0 | 关机 |
1 | 单用户模式(基本功能的实现,破解Linux密码) |
2 | 多用户字符界面(不支持网络) |
3 | 多用户字符界面(支持网络)服务器默认的运行级别 |
4 | 未定义 |
5 | 图形界面 |
6 | 重起 |
切换运行级别: init 5
RHEL7 运行模式/运行级别
字符模式:multi-user.target
图形模式:graphical.target
[student@room9pc01 ~]$ rht-vmctl reset classroom
[student@room9pc01 ~]$ rht-vmctl reset server
虚拟机server:当前直接切换到字符模式
[root@server /]# systemctl isolate multi-user.target
虚拟机server:当前直接切换到图形模式
[root@server /]# systemctl isolate graphical.target
虚拟机server:查看每次开机默认进入模式
[root@server /]# systemctl get-default
graphical.target
虚拟机server:设置永久策略,每次开机自动进入multi-user.target
# systemctl set-default multi-user.target
# reboot