综合架构开场介绍
00. 课程介绍部分
整体课程介绍:
01. 备份服务
02. 存储服务
03. 实时同步服务
04. 批量管理服务
05. 网站服务(web服务)
06. LNMP网站架构
07. 负载均衡反向代理服务???
08. 高可用服务
09. 监控服务
10. 跳板机服务
11. 防火墙服务
今天课程内容:
01. 架构介绍
02. 架构规划
网络的规划
主机名称规划
03. 系统优化
字符集优化
安全优化(防火墙 selinux)
远程连接优化
命令提示符优化
yum源优化
04. 进行虚拟主机克隆操作
上午课程: 4个小时
下午课程: 2个小时
01. 备份服务 (安装部署)
01. 课程知识回顾
01. 什么是路由交换
交换机: 实现在同一个局域网内多台主机之间的通讯
路由器: 实现不同局域网之间主机的通讯
02. 路由的配置方法
静态路由
动态路由
03. OSI7层模型
数据封装与解封装
04. TCP/UDP协议
TCP三次握手
TCP四次挥手
TCP十一种状态集转换(扩展)
05. 网络的重要原理
DNS解析原理 域名--IP地址
补充: 反向DNS解析 IP地址---域名
ARP解析原理 IP地址---MAC地址
06. IP地址划分
IP地址的分类
IP地址的子网划分方法
07. linux系统中路由配置
静态默认网关路由
静态网段路由
静态主机路由
01. 中小规模网站架构组成
比喻
1) 顾客--用户
访问网站的人员
2) 保安--防火墙 (firewalld)
进行访问策略控制
3) 迎宾--负载均衡服务器 (nginx)
对用户的访问请求进行调度处理
4) 服务员---web服务器 (nginx)
处理用户的请求
5) 厨师---数据库服务器 (mysql)
存储的字符数据 (耳机 500 索尼 黑色 北京地址 订单时间2019-05-05 13:00)
6) 厨师---存储服务器 (nfs)
存储图片 音频 视频 附件等数据信息
7) 厨师---备份服务器 (rsync+crond-定时备份 rsync+sersync--实时备份)
存储网站所有服务器的重要数据
8) 厨师---缓存服务器 (memcache redis mongodb)
a 将数据信息存储到内存中
b 减缓服务器的压力
9) 经理---批量管理服务器 (ansible)
批量管理多台服务器主机
部署网站架构:
1) 需要解决网站架构单点问题
迎宾: 高可用服务---keepalived
数据库: 高可用服务---mha
存储服务: 高可用服务---keepalived实现
高可用服务---分布式存储
备份服务:
面试题: 公司的数据是如何备份
1) 利用开源软件实现数据备份 rsync(免费)
2) 利用企业网盘进行数据备份 七牛云存储
3) 利用自建备份存储架构 两地三中心
缓存服务: 高可用服务--- 缓存服务集群/哨兵模式
2) 内部员工如何远程访问架构
部署搭建VPN服务器 PPTP vpn
https://blog.oldboyedu.com/pptp-l2tp/
3) 内部员工操作管理架构服务器要进行审计
跳板机服务器 jumpserver
https://jumpserver.readthedocs.io/zh/docs/setup_by_centos.html
4) 架构中服务器出现问题需要进行提前报警告知
部署监控服务器 zabbix
02. 综合架构规划
主机名称和IP地址规划
01. 防火墙服务器 firewalld 10.0.0.81(外网地址) 172.16.1.81(内外地址) 软件: firewalld
02. 负载均衡服务器 lb01 10.0.0.5 172.16.1.5 软件: nginx keepalived
03. 负载均衡服务器 lb02 10.0.0.6 172.16.1.6 软件: nginx keepalived
04. web服务器 web01 10.0.0.7 172.16.1.7 软件: nginx
05. web服务器 web02 10.0.0.8 172.16.1.8 软件: nginx
06. web服务器 web03 10.0.0.9(存储) 172.16.1.9 软件: nginx
07. 数据库服务器 db01 10.0.0.51 172.16.1.51 软件: mysql(慢) mariaDB
08. 存储服务器 nfs01 10.0.0.31 172.16.1.31 软件: nfs
09. 备份服务器 backup 10.0.0.41 172.16.1.41 软件: rsync
10. 批量管理服务器 m01 10.0.0.61 172.16.1.61 软件: ansible
11. 跳板机服务器 jumpserver 10.0.0.71(61) 172.16.1.71 软件: jumpserver
12. 监控服务器 zabbix 10.0.0.72(61) 172.16.1.72 软件: zabbix
先把路走通,再进行变通
*10. 缓存服务器 忽略
03. 优化配置模板主机--centos-01-模板机
1) 进行网络配置
a 添加网卡
--右键模板机--设置--添加--网络适配器NAT--完成。
--第一块网卡默认为NAT,外网网卡。(默认外网为10.0.0.0/24)
--第二块网卡:网络适配器2--LAN区段--LAN区段--添加--172.16.1.0/24(随意写既可)--确定--选中所添加的。此时同意网段都是同一内网可相互通信。
--注意内存调整为1G
b 配置网卡
vim /etc/sysconfig/network-scripts/ifcfg-eth1或者nmtui配置,不需要DNS和网关。nmtui需要开启NetworkManager服务
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth1
#UUID=f0bd4e71-c72f-4285-8688-43b317143a67
DEVICE=eth1
ONBOOT=yes
IPADDR=172.16.1.200
PREFIX=24
#DNS2=114.114.114.114
IPV6_PRIVACY=no
UUID=9c92fad9-6ecb-3e6c-eb4d-8a47c6f50c04
c 确认网络配置
ip a show
2) 系统优化过程
1. 模板机优化配置---hosts文件配置
\cp /etc/hosts{,.bak}
cat >/etc/hosts<<EOF
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.1.5 lb01
172.16.1.6 lb02
172.16.1.7 web01
172.16.1.8 web02
172.16.1.9 web03
172.16.1.51 db01 db01.etiantian.org
172.16.1.31 nfs01
172.16.1.41 backup
172.16.1.61 m01
EOF
2. 模板机优化配置---更改yum源
#更改yum源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup &&\
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum install -y wget
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
PS:yum repolist 列出yum源信息;讲解什么是epel源
3. 模板机优化配置---关闭selinux
#关闭selinux
sed -i.bak 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
grep SELINUX=disabled /etc/selinux/config
setenforce 0
getenforce
4. 模板机优化配置---关闭iptables
#关闭iptables centos7
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld
5. 模板机优化配置---提权oldboy可以sudo (可选配置)
#提权oldboy可以sudo(可选配置)
useradd oldboy
echo 123456|passwd --stdin oldboy
\cp /etc/sudoers /etc/sudoers.ori
echo "oldboy ALL=(ALL) NOPASSWD: ALL " >>/etc/sudoers
tail -1 /etc/sudoers
visudo -c
6. 模板机优化配置---英文字符集
#英文字符集
localectl set-locale LANG="en_US.UTF-8"
7. 模板机优化配置---时间同步
#时间同步
yum install -y ntpdate
echo '#time sync by lidao at 2017-03-08' >>/var/spool/cron/root
echo '*/5 * * * * /usr/sbin/ntpdate ntp1.aliyun.com >/dev/null 2>&1' >>/var/spool/cron/root
crontab -l
注意点:与ntp1.aliyun.com或与ntp2.aliyun.com时间同步都可以 。
8. 模板机优化配置---加大文件描述
yum install -y net-tools
yum install -y lsof
lsof -i:22
#加大文件描述
echo '* - nofile 65536' >>/etc/security/limits.conf
tail -1 /etc/security/limits.conf
说明:
一个服务程序运行起来,会打开相应的文件
crond定时任务服务---systemctl start crond --- 打开相应文件
/var/spool/cron/root --- 加载打开配置文件
/var/log/cron --- 加载打开日志文件
9. 模板机优化配置---安装其他小软件
#安装其他小软件
yum install lrzsz nmap tree dos2unix nc telnet wget lsof ntpdate bash-completion bash-completion-extras -y
10. 模板机优化配置---ssh连接速度慢优化
#ssh连接速度慢优化
sed -i.bak 's@#UseDNS yes@UseDNS no@g;s@^GSSAPIAuthentication yes@GSSAPIAuthentication no@g' /etc/ssh/sshd_config
systemctl restart sshd
04. 进行模板主机克隆操作
1. 进行模板机快照拍摄
2. 进行虚拟主机克隆
创建链接克隆 (学习环境)
优势:
a 节省物理主机资源
b 克隆主机效率快
劣势:
a 模板主机删除,链接主机也会失效
创建完整克隆 (企业应用)
优势:
a 模板主机删除,克隆主机依然可以使用
劣势:
a 比较消耗物理主机资源
b 克隆主机效率低
先克隆两台主机:
综合架构-备份服务器-10.0.0.41
综合架构-存储服务器-10.0.0.31
3. 克隆后虚拟主机配置
a 修改主机名称
hostnamectl set-hostname backup
b 修改主机地址
sed -i 's#200#41#g' /etc/sysconfig/network-scripts/ifcfg-eth[01]
grep 41 /etc/sysconfig/network-scripts/ifcfg-eth[01]
sed -i '/UUID/d' /etc/sysconfig/network-scripts/ifcfg-eth[01]
grep UUID /etc/sysconfig/network-scripts/ifcfg-eth[01]
systemctl restart network
PS: 一台一台顺序启动,进行修改,不要同时启动
补充: 克隆好的主机无法远程连接:
解决方式:
01. 利用ping方式测试
02. 关闭xshell软件重新打开
05. 备份服务器说明
作用:
01. 数据备份的服务器
02. 进行日志统一保存
[root@nfs01 backup]# grep -r oldboy /backup/
/backup/10.0.0.7_bak/oldboy.log:oldboy
如何部署搭建备份服务器: rsync服务
06. 什么是rsync服务
Rsync是一款开源的、快速的、多功能的、可实现全量及增量的本地或远程数据同步备份的优秀工具
07. rsync软件使用方法:
rsync命令 1v4
a 本地备份数据 cp
[root@nfs01 backup]# cp /etc/hosts /tmp
[root@nfs01 backup]# ll /tmp/hosts
-rw-r--r-- 1 root root 371 May 6 16:11 /tmp/hosts
[root@nfs01 backup]# rsync /etc/hosts /tmp/host_rsync
[root@nfs01 backup]# ll /tmp/host_rsync
-rw-r--r-- 1 root root 371 May 6 16:12 /tmp/host_rsync
b 远程备份数据 scp
scp -rp /etc/hosts [email protected]:/backup
[email protected]'s password:
hosts 100% 371 42.8KB/s 00:00
-r --- 递归复制传输数据
-p --- 保持文件属性信息不变
[root@nfs01 ~]# rsync -rp /etc/hosts 172.16.1.41:/backup/hosts_rsync
[email protected]'s password:
rsync远程备份目录:
[root@nfs01 ~]# rsync -rp /oldboy 172.16.1.41:/backup --- 备份的目录后面没有 /
[email protected]'s password:
[root@backup ~]# ll /backup
total 0
drwxr-xr-x 2 root root 48 May 6 16:22 oldboy
[root@backup ~]# tree /backup/
/backup/
└── oldboy
├── 01.txt
├── 02.txt
└── 03.txt
1 directory, 3 files
[root@nfs01 ~]# rsync -rp /oldboy/ 172.16.1.41:/backup --- 备份的目录后面有 /
[email protected]'s password:
[root@backup ~]# ll /backup
total 0
-rw-r--r-- 1 root root 0 May 6 16:24 01.txt
-rw-r--r-- 1 root root 0 May 6 16:24 02.txt
-rw-r--r-- 1 root root 0 May 6 16:24 03.txt
总结: 在使用rsync备份目录时:
备份目录后面有 / -- /oldboy/ : 只将目录下面的内容进行备份传输
备份目录后面没有/ -- /oldboy : 会将目录本身以及下面的内容进行传输备份
c 替代删除命令
rm命令
[root@nfs01 ~]# rsync -rp --delete /null/ 172.16.1.41:/backup
[email protected]'s password:
--delete 实现无差异同步数据
面试题: 有一个存储数据信息的目录, 目录中数据存储了50G数据, 如何将目录中的数据快速删除
rm /目录/* -rf
d 替代查看文件命令 ls
[root@backup ~]# ls /etc/hosts
/etc/hosts
[root@backup ~]# rsync /etc/hosts
-rw-r--r-- 371 2019/05/06 11:55:22 hosts
08 rsync命令语法格式
SYNOPSIS
Local: rsync [OPTION...] SRC... [DEST]
本地备份数据:
src: 要备份的数据信息
dest: 备份到什么路径中
远程备份数据:
Access via remote shell:
Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST]
[USER@] --- 以什么用户身份拉取数据(默认以当前用户)
hosts --- 指定远程主机IP地址或者主机名称
SRC --- 要拉取的数据信息
dest --- 保存到本地的路径信息
Push: rsync [OPTION...] SRC... [USER@]HOST:DEST
SRC --- 本地要进行远程传输备份的数据
[USER@] --- 以什么用户身份推送数据(默认以当前用户)
hosts --- 指定远程主机IP地址或者主机名称
dest --- 保存到远程的路径信息
守护进程方式备份数据 备份服务
1. 可以进行一些配置管理
2. 可以进行安全策略管理
3. 可以实现自动传输备份数据
Access via rsync daemon:
Pull: rsync [OPTION...] [USER@]HOST::SRC... [DEST]
rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]
Push: rsync [OPTION...] SRC... [USER@]HOST::DEST
rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST
09. rsync服务部署安装过程
linux系统安装部署服务流程:
a 下载安装软件 yum
b 编写配置文件
c 搭建服务环境 备份的目录/目录权限
d 启动服务程序 开机自动启动
e 测试服务功能
10. 课程总结
01. 网站架构组成
02. 网站架构规划(主机名称 主机地址 系统优化(脚本))
03. 虚拟主机克隆操作
a 关闭主机--链接克隆
b 克隆好的主机一台一台按顺序启动,修改配置(主机名称 主机地址)
04. rsync备份服务
rsync命令用法 1v4
rsync语法格式 本地备份 远程备份