Split分离解析  (常常配合CDN使用)

Content  Delivery Network,内容分发网络

购票用户:===》CDN服务商的缓存服务器
铁道部成本降低
CDN服务商赚钱
用户访问速度块

CDN服务商需要做的事情:

当用户查询www.12306.cn时,把客户机引导到最近/最快的那一台缓存服务器上

配置关键步骤:
1)建立2份地址库
/var/named/tedu.cn.zone.1 【www  ==》192.168.4.100】
/var/named/tedu.cn.zone.2 【www  ==》1.2.3.4】

2)在 /etc/named.conf 创建2个视图
options {
        directory  ”/var/named”;
};
view  “mylan” {   //第1个视图设置
        match-clients { 192.168.4.207; 192.168.7.0/24;  };   #匹配哪些IP地址
        zone “tedu.cn” {
                type  master;
                file “tedu.cn.zone.1”;
        };
};
view  “other” {   //第2个视图设置
        match-clients { any;  };
        zone “tedu.cn” {
                type  master;
                file “tedu.cn.zone.2”;
        };
};

3)编写地址库文件

vim /var/named/tedu.cn.zone.1

……. # cp /var/named/named.localhost

@       NS      svr7.tedu.cn.

www     A       192.168.4.100

vim /var/named/tedu.cn.zone.2

@       NS      svr7.tedu.cn.

www     A       1.2.3.4

4)重启named服务

systemctl restart named

DNS配置常见问题:

1)有冲突的服务 (pkill -9 dnsmasq)

2)地址库文件的权限 (复制模板文件,要加-p选项)

RAID阵列

RAID —— 把一堆便宜磁盘整合成一块大磁盘

RAID0,条带模式,提高速度     (同一个文档分散存放在不同的磁盘,并行写入提高效率)

RAID1,镜像模式,提高可靠性

RAID10,条带+镜像模式,提高速度和可靠性

 

RAID10和RAID01的比较
 RAID10是先做镜象,然后再做条带。
 RAID01则是先做条带,然后再做镜象。
比如以6个盘为例,RAID10就是先将盘分成3组镜象,然后再对这3个RAID1做条带。RAID01则是先利用3块盘做RAID0,然后将另外3块盘做为RAID0的镜象。
下面以4块盘为例来介绍安全性方面的差别:
1、RAID10的情况

这种情况中,我们假设当DISK0损坏时,在剩下的3块盘中,只有当DISK1一个盘发生故障时,才会导致整个RAID失效,我们可简单计算故障率为1/3。
2、RAID01的情况

这种情况下,我们仍然假设DISK0损坏,这时左边的条带将无法读取。在剩下的3块盘中,只要DISK2,DISK3两个盘中任何一个损坏,都会导致整个RAID失效,我们可简单计算故障率为2/3。
因此RAID10比RAID01在安全性方面要强。

从数据存储的逻辑位置来看,在正常的情况下RAID01和RAID10是完全一样的,而且每一个读写操作所产生的IO数量也是一样的,所以在读写性能上两者没什么区别。而当有磁盘出现故障时,比如前面假设的DISK0损坏时,我们也可以发现,这两种情况下,在读的性能上面也将不同,RAID10的读性能将优于RAID01。

RAID5,均衡模式,可以提高速度和可靠性,使用1块容错盘.坏了一块磁盘,其他两个磁盘可以根据校验数据恢复损坏的数据

RAID6,优化版的RAID5,稳定性更好,使用2块容错盘

主要实现两个目标
1)提高磁盘读写速度
2)提供硬件备份

其他好处:
拥有更大容量的磁盘、性价比更高
阵列如何实现(RAID级别)?

500GB X 6块 构建 RAID5 阵列
==》2.5TB
500GB X 6块 构建 RAID6 阵列
==》2TB
500GB X 6块 构建 RAID0 阵列
==》3TB
500GB X 6块 构建 RAID1 阵列
==》500GB
500GB X 6块 构建 RAID10 阵列
==》3块组条带 x2 镜像  1.5TB

==》2块组条带 x3 镜像  1.0TB

进程管理

查看进程信息

查看进程的主要命令工具:

  • ps aux、ps –elf:查看进程静态快照
  • top:查看进程动态排名
  • pstree:查看进程与进程之间的树型关系结构
  • pgrep:根据指定的名称或条件检索进程

Process,进程(内存中正在进行的程序)
整个Linux操作系统是由大量的进程(每一个进程都由一个编号PID)一起提供服务的
系统开机 ==》内核 ==》系统管理器(PID 1) ==》其他程序。。。

pstree 看进程树,为了更好的掌握系统的状态

练习:
1)查看Linux系统的整个进程树结构,显示各进程的PID号

pstree  -p

2)从上述结果中找出sshd进程的PID值  (-p)

pstree  -p  |  grep  sshd

3)根据sshd进程的PID值查看进程树,列出各进程的命令行 ( - a )

pstree  -ap  937

ps  进程快照,用来为系统中所有进程拍照

练习:
1)安装并启用httpd服务

# yum  -y  install  httpd
# systemctl  restart  httpd
2)列出系统中所有的httpd进程,比较每个进程属于哪个用户
# ps  aux | grep  httpd
3)列出系统中所有httpd进程的父进程号,观测差别
# ps  -elf | grep  httpd
4)查看前一步结果中PID编号最小(辈分最大)的httpd进程的进程树
# pstree  -p  9634

关于httpd网站服务器:
第1个httpd进程由root运行,不面向Web用户
第2个及以后的httpd进程是以apache用户身份运行,面向Web用户

知道一个进程的父进程有什么作用?
比如病毒进程
如果一个进程被杀死,这个进程会自动把所有子进程都终止

top  查看进程资源占用情况,动态展示(实时录像)

# top
top - 15:53:09 up  6:23,  3 users,  load average: 0.00, 0.01, 0.05
Tasks: 150 total,   2 running, 148 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.1 us,  0.1 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  2049108 total,  1267212 free,   303156 used,   478740 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.  1556160 avail Mem

排名信息。。。
CPU处理器的平均负载:最近1分钟,5分钟,15分钟
load average: 0.00, 0.01, 0.05
%Cpu(s):   99.7 id 空闲
按数字1切换多核模式

按q键退出

练习:
1)查看当前主机的CPU负载情况
2)查看当前主机开启了多长时间、有几个用户登录、运行的进程数
3)查看当前主机的CPU、内存、交换分区空闲比率
4)观测当前占用CPU资源最多的进程叫什么名

pgrep 检索进程信息
练习:
1)查看用户mike开启的进程名、PID号

# pgrep  -l  -U  mike
2)统计当前主机运行的进程的数量
# pgrep  .  |  wc  -l
3)检查网站服务进程httpd是否已经开启
# pgrep  -l  httpd  (检查进程是否运行)
4)找出名字为 gdm 的进程的PID号

# pgrep  -x  gdm

pgrep  关键词  ==》只要进程名包括这个关键词,就符合条件
pgrep  -x  关键词  ==》必须进程名等于这个关键词,才符合条件

进程调度及终止

进程调度及终止的主要命令工具:

  • 命令行 &:将命令行在后台运行
  • Ctrl + z 组合键:挂起当前进程(暂停并转入后台)
  • jobs:列出当前用户当前终端的后台任务
  • bg 编号:启动指定编号的后台任务
  • fg 编号:将指定编号的后台任务调入前台运行
  • kill [-9] PID…:杀死指定PID值的进程
  • kill [-9] %n:杀死第n个后台任务
  • killall [-9] 进程名…:杀死指定名称的所有进程
  • pkill:根据指定的名称或条件杀死进程   (pkill  -U  用户名)

!!! 不带信号 -9 表示正常杀死进程
!!! 带信号 -9 表示强制杀死

图形桌面下的点杀工具 xkill ——
按 Alt F2 调出运行命令的工具,输入 xkill 并回车

练习:进程调度及终止

1)运行“sleep 600”命令

[root@svr7 ~]# sleep 600

2)另开一个终端,查出sleep程序的PID并杀死

[root@svr7 ~]# ps aux | grep sleep

[root@svr7 ~]# kill -9 7699

3)运行多个vim程序并分别都放入后台

[root@svr7 ~]# vim 1.txt &
[1] 8068
[root@svr7 ~]# vim 2.txt &

4)杀死所有vim进程

[root@svr7 ~]# pkill -9 vim

5)su切换为zhsan用户

[root@svr7 ~]# su zhansan

[tom@svr7 root]$

6)另开一个终端,强制踢出zhsan用户

[root@svr7 ~]# pkill -9 -U zhansan

4 案例:系统日志分析

4.1 问题

本例要求熟悉Linux系统中的常见日志文件,使用必要的命令工具完成下列任务:

  1. 列出所有包含关键词8909的系统日志消息
  2. 查看启动时识别的鼠标设备信息
  3. 列出最近2条成功/不成功的用户登录消息
  4. 列出最近10条重要程度在 ERR 及以上的日志消息
  5. 列出所有与服务httpd相关的消息
  6. 列出前4个小时内新记录的日志

4.2 方案

常见的系统日志及各自用途:

  • /var/log/messages,记录内核消息、各种服务的公共消息
  • /var/log/dmesg,记录系统启动过程的各种消息
  • /var/log/cron,记录与cron计划任务相关的消息
  • /var/log/maillog,记录邮件收发相关的消息
  • /var/log/secure,记录与访问限制相关的安全消息

日志消息的优先级(高–>低):

  • EMERG(紧急):级别0,系统不可用的情况
  • ALERT(警报):级别1,必须马上采取措施的情况
  • CRIT(严重):级别2,严重情形
  • ERR(错误):级别3,出现错误
  • WARNING(警告):级别4,值得警告的情形
  • NOTICE(注意):级别5,普通但值得引起注意的事件
  • INFO(信息):级别6,一般信息
  • DEBUG(调试):级别7,程序/服务调试消息

RHEL7提供的journalctl日志工具的常见用法:

  • journalctl | grep 关键词
  • journalctl -u 服务名 -p 优先级
  • journalctl -n 消息条数
  • journalctl –since=”yyyy-mm-dd HH:MM:SS” –until=”yyyy-mm-dd HH:MM:SS”

4.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:分析系统日志及用户日志

1)列出所有包含关键词8909的系统日志消息

简单模拟一个故障(SELinux阻止Web开放8909端口):

  1. [root@svr7 ~]# vim /etc/httpd/conf.d/8909.conf         //添加开8909端口配置
  2. Listen 8909
  3. [root@svr7 ~]# setenforce 1                             //开启强制模式
  4. [root@svr7 ~]# systemctl restart httpd                 //起服务失败
  5. Job for httpd.service failed because the control process exited with error code. See “systemctl status httpd.service” and “journalctl -xe” for details.

从日志文件/var/log/messages中检索信息:

  1. [root@svr7 ~]# grep 8909 /var/log/messages
  2. Jan 6 17:53:48 svr7 setroubleshoot: SELinux is preventing /usr/sbin/httpd from name_bind access on the tcp_socket port 8909. For complete SELinux messages. run sealert -l 6d37b8f0-ab8a-4082-9295-c784f4f57190
  3. Jan 6 17:53:48 svr7 python: SELinux is preventing /usr/sbin/httpd from name_bind access on the tcp_socket port 8909.#012#012 Plugin bind_ports (92.2 confidence) suggests ***************#012#012If you want to allow /usr/sbin/httpd to bind to network port 8909#012Then you need to modify the port type.#012Do#012# semanage port -a -t PORT_TYPE -p tcp 8909#012 where PORT_TYPE is one of the following: http_cache_port_t, http_port_t, jboss_management_port_t, jboss_messaging_port_t, ntop_port_t, puppet_port_t.#012#012 Plugin catchall_boolean (7.83 confidence) suggests *********#012#012If you want to allow nis to enabled#012Then you must tell SELinux about this by enabling the ‘nis_enabled’ boolean.#012#012Do#012setsebool -P nis_enabled 1#012#012 Plugin catchall (1.41 confidence) suggests *****************#012#012If you believe that httpd should be allowed name_bind access on the port 8909 tcp_socket by default.#012Then you should report this as a bug.#012You can generate a local policy module to allow this access.#012Do#012allow this access for now by executing:#012# grep httpd /var/log/audit/audit.log | audit2allow -M mypol#012# semodule -i mypol.pp#012
  4. .. ..

使用完毕记得删除测试配置文件:

  1. [root@svr7 ~]# rm -rf /etc/httpd/conf.d/8909.conf
  2. [root@svr7 ~]# systemctl restart httpd

2)查看启动时识别的鼠标设备信息

  1. [root@svr7 ~]# dmesg | grep -i mouse
  2. [ 1.020385] mousedev: PS/2 mouse device common for all mice
  3. [ 1.249422] input: ImPS/2 Generic Wheel Mouse as /devices/platform/i8042/serio1/input/input2
  4. [ 2.279665] usb 2-1: Product: VMware Virtual USB Mouse
  5. [ 2.603999] input: VMware VMware Virtual USB Mouse as /devices/pci0000:00/0000:00:11.0/0000:02:00.0/usb2/2-1/2-1:1.0/input/input3
  6. [ 2.604222] hid-generic 0003:0E0F:0003.0001: input,hidraw0: USB HID v1.10 Mouse [VMware VMware Virtual USB Mouse] on usb-0000:02:00.0-1/input0

3)列出最近2条成功/不成功的用户登录消息

查看成功登录的事件消息:

  1. [root@svr7 ~]# last -2
  2. zhsan pts/2 192.168.4.207 Fri Jan 6 18:00 - 18:00 (00:00)
  3. root pts/2 192.168.4.110 Fri Jan 6 17:26 - 17:59 (00:33)
  4. wtmp begins Thu Aug 4 00:10:16 2016

查看失败登录的事件消息:

  1. [root@svr7 ~]# lastb -2
  2. anonymou ssh:notty 192.168.4.207 Fri Jan 6 18:00 - 18:00 (00:00)
  3. anonymou ssh:notty 192.168.4.207 Fri Jan 6 18:00 - 18:00 (00:00)
  4. btmp begins Fri Jan 6 18:00:34 2017

步骤二:使用journalctl日志提取工具

1)列出最近10条重要程度在 ERR 及以上的日志消息

  1. [root@svr7 ~]# journalctl -p err -n 10
  2. Logs begin at Thu 2017-01-05 15:50:08 CST, end at Fri 2017-01-06 18:01:01 CST.
  3. Jan 06 14:56:57 svr7 setroubleshoot[23702]: SELinux is preventing /usr/sbin/vsftpd from getattr access on the file /rhel7/repodata/repomd.xml. For complete SELinux mes
  4. Jan 06 14:56:57 svr7 setroubleshoot[23702]: SELinux is preventing /usr/sbin/vsftpd from read access on the file repomd.xml. For complete SELinux messages. run sealert
  5. Jan 06 14:56:57 svr7 setroubleshoot[23702]: SELinux is preventing /usr/sbin/vsftpd from read access on the file repomd.xml. For complete SELinux messages. run sealert
  6. Jan 06 14:56:57 svr7 setroubleshoot[23702]: SELinux is preventing /usr/sbin/vsftpd from lock access on the file /rhel7/repodata/repomd.xml. For complete SELinux messag
  7. Jan 06 17:53:48 svr7 setroubleshoot[33743]: Plugin Exception restorecon_source
  8. Jan 06 17:53:48 svr7 setroubleshoot[33743]: SELinux is preventing /usr/sbin/httpd from name_bind access on the tcp_socket port 8909. For complete SELinux messages. run
  9. Jan 06 17:53:53 svr7 setroubleshoot[33743]: SELinux is preventing /usr/sbin/httpd from name_connect access on the tcp_socket port 8909. For complete SELinux messages.
  10. Jan 06 17:53:54 svr7 systemd[1]: Failed to start The Apache HTTP Server.
  11. .. ..
  12. lines 1-11/11 (END)

2)列出所有与服务httpd相关的消息

  1. [root@svr7 ~]# journalctl -u httpd
  2. Logs begin at Thu 2017-01-05 15:50:08 CST, end at Fri 2017-01-06 18:01:01 CST.
  3. Jan 06 14:57:16 svr7 systemd[1]: Starting The Apache HTTP Server
  4. Jan 06 14:57:16 svr7 httpd[23812]: AH00557: httpd: apr_sockaddr_info_get() failed for svr7
  5. Jan 06 14:57:16 svr7 httpd[23812]: AH00558: httpd: Could not reliably determine the server’s fully qualified domain name, using 127.0.0.1. Set the ‘ServerName’ directi
  6. Jan 06 14:57:16 svr7 systemd[1]: Started The Apache HTTP Server.
  7. Jan 06 17:53:44 svr7 systemd[1]: Stopping The Apache HTTP Server…
  8. Jan 06 17:53:46 svr7 systemd[1]: Starting The Apache HTTP Server…
  9. Jan 06 17:53:46 svr7 httpd[33741]: AH00557: httpd: apr_sockaddr_info_get() failed for svr7
  10. .. ..

3)列出前4个小时内新记录的日志

根据当前日期时间往前推4个小时,确定–since起始和–until结束时刻:

  1. [root@svr7 ~]# journalctl since “2017-01-06 14:11” until “2017-01-06 18:11”
  2. Logs begin at Thu 2017-01-05 15:50:08 CST, end at Fri 2017-01-06 18:10:01 CST.
  3. Jan 06 14:20:01 svr7 systemd[1]: Started Session 160 of user root.
  4. Jan 06 14:20:01 svr7 CROND[22869]: (root) CMD (/usr/lib64/sa/sa1 1 1)
  5. Jan 06 14:20:01 svr7 systemd[1]: Starting Session 160 of user root.
  6. Jan 06 14:30:01 svr7 systemd[1]: Started Session 161 of user root.
  7. Jan 06 14:30:01 svr7 CROND[23028]: (root) CMD (/usr/lib64/sa/sa1 1 1)
  8. Jan 06 14:31:39 svr7 systemd[1]: Starting Session 162 of user root.
  9. Jan 06 14:32:17 svr7 sshd[23046]: pam_unix(sshd:session): session closed for user root
  10. Jan 06 14:31:39 svr7 systemd[1]: Started Session 162 of user root.
  11. Jan 06 14:31:39 svr7 sshd[23046]: pam_unix(sshd:session): session opened for user root by (uid=0)
  12. Jan 06 14:31:39 svr7 systemd-logind[985]: New session 162 of user root.
  13. .. .

SERVICE03 - Split分离解析 RAID磁盘阵列 进程管理 日志管理相关推荐

  1. Split分离解析 RAID磁盘阵列 进程管理 日志管理

    1)理解DNS系统的作用 互联网的指路人,提供信息查询"网站域名 -->IP地址" 知道一个www.baidu.com的IP地址 不等于 能访问 www.baidu.com ...

  2. 03: Split分离解析 RAID磁盘阵列 进程管理 日志管理 总结和答疑

    Top NSD SERVICES DAY03 案例1:配置并验证Split分离解析 案例2:查看进程信息 案例3:进程调度及终止 案例4:系统日志分析 1 案例1:配置并验证Split分离解析 1.1 ...

  3. DNS分离解析 RAID磁盘阵列 进程管理 系统日志分析

    Top NSD SERVICES DAY03 案例1:配置并验证Split分离解析 案例2:查看进程信息 案例3:进程调度及终止 案例4:系统日志分析 1 案例1:配置并验证Split分离解析 1.1 ...

  4. DNS服务器分离解析 RAID阵列 进程管理 日志管理 systemd作用

    目录 分离解析 什么是分离解析 BIND的view视图 案例 案例2 RAID阵列概述 • 廉价冗余磁盘阵列 • RAID 0,条带模式 • RAID 1,镜像模式 • RAID5,高性价比模式 ​• ...

  5. Split分离解析 、 RAID磁盘阵列 、 进程管理 、 日志管理 、 systemctl控制 案例

    Top NSD SERVICES DAY04 案例1:配置并验证Split分离解析 案例2:查看进程信息 案例3:进程调度及终止 案例4:系统日志分析 案例5:使用systemctl工具 1 案例1: ...

  6. rsync同步操作 、 发布rsync共享 、 inotify实时同步 、 Split分离解析

    虚拟机A     1. 将防火墙状态设置为trusted   2.SELinux当前修改为permissive   3.SELinux永久状态修改为permissive     4.清空Yum缓存,检 ...

  7. 多区域 DNS 服务,子域授权,缓存 DNS及Split 分离解析的原理和实现

    DNS 服务器的功能: 正向解析:根据注册的域名查找其对应的 IP 地址 反向解析:根据 IP 地址查找对应的注册域名(不常用) DNS(域名解析)服务器:解析域名--->将域名解析为 IP 地 ...

  8. 客户资源信息管理后台/机构管理/信息管理/商机管理/产品管理/合同管理/日志管理/预约管理/任务清单/员工管理/资料库管理/统计分析/用户管理/售后日志/系统配置/crm客户管理系统/系统对接管理

    Axure作品介绍:客户资源信息管理后台/机构管理/信息管理/商机管理/产品管理/合同管理/日志管理/预约管理/任务清单/员工管理/资料库管理/统计分析/用户管理/售后日志/系统配置/crm客户管理系 ...

  9. LINUX从零开始——SERVICES(系统服务管理进阶)——Day4 [缓存DNS、Split分离解析、电子邮件通信、Web服务器项目实战]

    一.环境准备 1.还原快照,开启虚拟机A与虚拟机B,以root用户登录 二 .环境设置 1.防火墙设置: 虚拟机A [root@A ~]# firewall-cmd --set-default-zon ...

最新文章

  1. 挑战弱监督学习的三大热门问题 AutoWSL2019挑战赛正式开赛
  2. ASP.NET MVC如何实现自定义验证(服务端验证+客户端验证)
  3. linux环境下python的部署
  4. iOS开发之详解正则表达式
  5. TCP/IP总结(4)TCP 概述
  6. Python基础:对象的深拷贝和浅拷贝的区别
  7. 粘贴复制Android复制和粘贴的实现
  8. getJPAQueryFactory与getJPAQuery使用
  9. 各大浏览器保存密码的文件
  10. C#中join 的lambada写法
  11. android怎么增量编译,Android Transform增量编译
  12. 太不可思议了,竟然用交通锥当 logo!
  13. 热敏电阻(NTC)的基本参数及其应用(图)
  14. HTML中的音视频标签
  15. 删除后别人的微信号变成wxid_“重新做人”?安卓版微信支持修改微信号,网友:哭了...
  16. 求1-100的和的几种方法
  17. 比较精确的计算农历节气的java源码
  18. (附源码)计算机毕业设计SSM旅游足迹分享系统
  19. 【lphtw】第五弹笔记ex41-ex46
  20. Initialization in《The Java® Virtual Machine Specification Java SE 7 Edition》

热门文章

  1. Android QQ空间浏览图片动画特效的实现(※)
  2. SwiftUI——界面间的“闪转腾挪”(页面跳转的各种方法)
  3. 【转载】LaTeX 各种命令和符号
  4. 为什么工作之后觉得996没有网上说的那么不堪?
  5. 吉他六线谱制作软件有哪些 吉他六线谱怎么用电脑制作
  6. 计算机二级考试备考access,2016年计算机二级考试Access备考基础习题(9)
  7. 使用风讯做新闻类网站
  8. blog满足了人们什么需求?我看马洛斯理论
  9. Seata-分布式事务中间件
  10. MySQL高可用和读写分离