企业综合架构
综合架构服务组成部分
前端部分:
防火墙服务器 :firewalld iptables
负载均衡服务器 : nginx LVS haproxy
web服务器 :nginx(html css js)apache(html css js) php(php) tomcat(java) uwsgi(python)
后端部分:
数据库服务器 : mysql/mariadb
存储服务器 : nfs
备份服务器 :rsync 远程备份
缓存服务器 : redis memcache
管理部分:
VPN服务器 :openvpn pptpvpn
跳板机服务器 :jumpserver
监控服务器 :zabbix
批量管理服务器 :ansible
yum仓库服务器:createrepo
部署
一.部署顺序
二.机器准备
1.将主机还原到最纯净状态
2.基础优化
1)下载源优化
yum install -y wget vim telnet net-tools bash-completion lrzsz
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
2) 时间同步优化
timedatectl set-timezone Asia/Shanghai #可能有错
3)远程连接优化
sed -i '79d;115d' /etc/ssh/sshd_config
sed -ri '$aGSSPIAuthenticaation no\nUseDNS no' /etc/ssh/sshd_config
sysemctl restart sshd
4) 系统安全优化
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i '7s#enforcing#disabled#g' /etc/selinux/config
3.确认网络配置信息
将网卡配置文件中UUID和HWADDR删除
sed -ri '/UUID|HWADDR/d' /etc/sysconfig/network-scripts/ifcfg-ent[01]
PS:网卡地址出现异常根据实际情况单独调整网卡配置文件
4.对主机进行克隆
5.对克隆好的主机改ip以及名称
hostanamectl set-hostname backup #以此类推
sed -i 's#200#41#g' /etc/sysconfig/network-scripts/ifcfg-ent[01]
systemctl restart network
三.服务部署
1.备份服务
1.)架构备份服务概述介绍
作用说明:主要用于备份,服务器中重要数据信息(系统配置文件 服务配置文件 服务日志文件 )
备份数据:本地备份 :作为数据对比文件
远程备份 :用于实现数据还原
备份过程-推送数据:
scp -rp /etc/sysconfig/network-scripts 172.16.1.41:/backup/
恢复过程-拉取数据:
scp -rp 172.16.1.41::/backup/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0
2.)架构备份服务工作原理(rsync)
数据传输备份原理:
①需要建立网络连接:TCP三次握手
②需要进行身份验证:客户端发送:用户/密码信息 服务端需要对比用户文件信息进行验证
③数据传递后需要进行属主和属组信息变化:客户端文件属性信息统一变为服务端指定用户信息(rsync)
数据增量备份原理:
在数据远程传输之前需要进行数据比对
比对方式:2种
1)根据文件sha/md5算法进行比对 根据文件名称以及文件内容识别文件之间区别
2)根据文件属性信息进行比对 权限不一样 时间信息 大小信息
3.)架构备份服务方式方法
定时备份数据:编写好备份数据脚本文件 --> 定时任务
实时备份数据:目录数据变化信息监控 -->rsync将变化的数据进行传递备份
4.)架构备份服务部署安装
服务端(备份服务器)部署过程:
安装rsync
yum install -y rsync
创建管理备份目录以及数据用户信息
useradd rsync -M -s /sbin/nologin 创建一个虚拟用户
创建一个备份数据目录
mkdir /backup
chown rsvnc:rsync /backup/ #限制只有属主rsvnc和属组rsync的用户才能访问备份目录
创建用户列表文件
echo 'rsync_backup:oldboy123' >> /etc/rsync.password
chmod 600 /etc/rsync.password #因为密码文件很机密所以只能root属组才能修改和查看
编写配置文件
vi /etc/rsyncd.conf
uid = rsync
gid = rsync
port = 873
fake super = yes
use chroot = no
max connections = 200
timeout = 300
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/run/rsyncd.log
ignore errors
read only = false
list = false
hosts allow = 172.16.1.0/24
auth users = 0.0.0.0/32
auth users = rsync_backup
secrets file = /etc/rsync.password
[backup]
comment = "backip dir by oldboy"
path = /backip
启动服务程序
systemctl start rsyncd #启动服务
ps -ef|grep rsyncd #查看有没有rsyncd进程
netstat -lntup|grep rsyncd #也可以通过端口查看是否启动
客户端部署过程:
交互式实现数据传递过程:
rsync -avz /etc/hosts rsync_backup@172.16.1.41::backup
免交互实现数据传递过程:
两种方式:
方式一:在客户端创建一个密码文件
echo oldboy123 >/etc/rsync.password
chomd 600 /etc/rsync.password
rsync -avz /etc/hosts rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password
方式二:配置环境变量实现免交互
RSYNC_PASSWORD ---设置环境变量实现免交互
echo 'export RSYNC_PASSWORD=oldboy123' >>/etc/profile
. /etc/profile
echo $RSYNC_PASSWORD
PS:rsync服务在复制目录时和scp复制目录信息区别
1)可以是心啊增量复制目录下面数据信息
2)复制目录时,目录后面又/和没有/是有区别的
scp复制目录时,目录后加于不加/ 都是将目录本身进行复制
rsync复制目录时,目录后面加/ 表示只将目录下面数据内容复制
rsync复制目录时,目录后面没/表示将目录以及目录下面内容复制 等价于 scp加/的情况
5)架构备份服务文件配置
uid = rsync #指定rsync服务备份目录或数据信息管理用户信息
gid = rsync #指定rsync服务备份目录或数据信息管理用户组信息
port = 873 #指定服务程序端口信息
fake super = yes
use chroot = no
max connections = 200
timeout = 300
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/run/rsyncd.log
ignore errors
read only = false
list = false
hosts allow = 172.16.1.0/24
auth users = 0.0.0.0/32
auth users = rsync_backup
secrets file = /etc/rsync.password
[backup]
comment = "backip dir by oldboy"
path = /backip
6)架构备份服务命令参数
diff/vimdiff ---文件信息对比
netstat ---查看系统网络服务状态信息
-l ---只显示网络监听状态信息
-n ---端口号码信息以数字方式呈现
-u ---显示udp协议信息
-t ---显示tcp协议信息
-p ---显示进程信息
文章评论