作者:Georgekai

归档:学习笔记

2018/1/19

 



架构组成、架构部署

1.1 linux架构开场介绍

前段服务部分:(前段服务:负者负载均衡和web服务器

顾客-访问者:访问网站架构的人员

保安-防火墙:主要提供系统架构的网络安全性

迎宾-负载均衡服务器:主要对访问请求进行调度处理(谁闲给闲,或挨个分配一部分)

服务员-网站web服务器:为访问者提供服务,做出相应处理(nginxtomcat

服务员-网站web服务器:为访问者提供服务,做出相应处理(nginxtomcat

服务员-网站web服务器:为访问者提供服务,做出相应处理(nginxtomcat

 

后端服务部分: mysqlNFSrsyncmemcache

厨师-数据库服务器:主要是用于存储字符串信息(mysql

厨师-存储服务器:用于存储用户上传的图片、视频、音频、附件等数据(数据库服务器存储的内容 不一样)(NFS存储服务)

厨师-备份服务器:对系统架构中,对重要数据信息进行备份存储(rsync备份)

厨师-缓存服务器:提供用户访问存储和读取快速响应,采用内存存储数据。

(会存储一份数据库服务器中的数据,用于用户优先访问提高访问速度,存放热 点数据)(memcacheredismongodb

中小型公司架构集群部署经验_ 环境 

 

1.2.1 异地备份方案:两地三中心

 

 中小型公司架构集群部署经验_linux_02

 

1.2.2 员工-运维人员:

秘密通道-×××通道:(pptp vpn

审计监控-跳板机: (shell / jumpserver)监控运维人员操作了哪些

监控-监控服务器:(zabbixcpu、内存、磁盘、服务、网络等,可以实现电话、邮件、微信等报警 通知。单击此处输入日期。

经理-批量管理服务器:(ssh+key+shell+ansible),对架构中所有服务器进行批量化操作

 中小型公司架构集群部署经验_linux_03

 

1.2.3 发现架构不足(完善架构)

1. 架构中的防火墙服务器可以部署多台,避免单点故障

2. 架构中负载均衡服务器也可以部署多台,避免单点故障(keeplived服务)

3. 架构中数据库服务器可以部署多台,实现主从架构,多个主多个从架构,避免单点故障

4. 架构中存储服务器可以部署多台

5. 架构中备份服务器可以部署多台

6. 架构中缓存服务器可以部署多台

1.3 架构部署

1.3.1 环境规划(统一规划)

  1. 服务器主机名称与主机IP地址规划

    中小型公司架构集群部署经验_ 环境_04

注:如主机配置较差可mysqlrsync可以为一台   web 可以设置二台, NFS和批量管理为一台

 

2. 主机IP规划表:

 中小型公司架构集群部署经验_期中架构_05

 

3. 服务器目录规划

/server/scripts

/server/tools

/application

1.3.2 配置模板主机

1. 配置网络环境:

1)网卡的网段信息

2)网卡的网关信息

3)其他相关虚拟网络功能设置——

虚拟网络编辑器——中小型公司架构集群部署经验_ 环境_06


VMnet8——中小型公司架构集群部署经验_ 环境_07

 

NAT模式——中小型公司架构集群部署经验_ 环境_08

 

不应用DHCP服务——中小型公司架构集群部署经验_期中架构_09

NAT设置为10.0.0.254——中小型公司架构集群部署经验_期中架构_10

 

2. 添加虚拟网卡:

1)添加出一块新的虚拟网卡,网卡名为:eth1

中小型公司架构集群部署经验_ 环境_11 中小型公司架构集群部署经验_linux_12

注:LAN区段定义一个内部网络环境,只要在同一个LAN区段即可相互通信

 

3. 开启模板主机,进行网卡地址信息配置

1)第一块网卡:eth0网络地址配置情况

中小型公司架构集群部署经验_ 环境_13

2)第二块网卡:eth1网络地址配置情况

中小型公司架构集群部署经验_期中架构_14  中小型公司架构集群部署经验_ 环境_15 中小型公司架构集群部署经验_linux_16

保存并退出,重启网卡服务!  

4. 为虚拟主机克隆,做好环境准备(一清空,两删除)

1)两删除:删除网卡里面UUID信息,删除网卡里面mac地址信息

 同时查看俩块网卡的UUIDHWADDR信息:中小型公司架构集群部署经验_ 环境_17  

 删除查看网卡的UUIDHWADDR信息:sed -ri '/UUID|HWADDR/d' /etc/sysconfig/network-scripts/ifcfg-eth[01]


2)一清空:清空一个网络规则配置文件

1. >/etc/udev/rules.d/70-persistent-net.rules

2. echo '>/etc/udev/rules.d/70-persistent-net.rules' >> /etc/rc.local

 

5. 对模板机进行基本系统优化

1hosts文件配置  (内网地址对应的主机名)

    \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

1.下载yum源

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo

PS:yum repolist 列出yum源信息;讲解什么是epel源

2.查看是否下载成功

ls /etc/yum.repos.d/

3)关闭SElinux

临时关闭:setenforce 0

永久关闭:vim /etc/sysconfig/selinux

  SELINXU=disabled

  sed -i.bak 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

           grep SELINUX=disabled /etc/selinux/config

 

4)关闭iptables

   /etc/init.d/iptables stop

           /etc/init.d/iptables stop

           chkconfig iptables off

 

5)精简开机自启动服务

   export.UTF-8

           chkconfig|egrep -v "crond|sshd|network|rsyslog|sysstat"|awk '{print "chkconfig",$1,"off"}'|bash

           chkconfig --list|grep 3:on

 

6)提权george用户可以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

7)英文字符集

           cp /etc/sysconfig/i18n /etc/sysconfig/i18n.ori

           echo 'LANG="en_US.UTF-8"'  >/etc/sysconfig/i18n

           source /etc/sysconfig/i18n

           echo $LANG

 

 

8)时间同步

           echo '#time sync by lidao at 2017-03-08' >>/var/spool/cron/root

           echo '*/5 * * * * /usr/sbin/ntpdate pool.ntp.org >/dev/null 2>&1' >>/var/spool/cron/root

           crontab -l

9)加大文件描述符

 永久修改打开文件数量:echo '*    -    nofile    65535    ' >>/etc/security/limits.conf

           tail -1 /etc/security/limits.conf

 临时修改打开文件数量:ulimit -n 65535

   ulimit -a  ---检查默认打开文件数

  

   open files                      (-n) 1024

注:文件描述符:一个服务默认可以打开的文件数量

中小型公司架构集群部署经验_linux_18

10)内核优化

cat >>/etc/sysctl.conf<<EOF

net.ipv4.tcp_fin_timeout = 2

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_tw_recycle = 1

net.ipv4.tcp_syncookies = 1

net.ipv4.tcp_keepalive_time = 600

net.ipv4.ip_local_port_range = 4000    65000

net.ipv4.tcp_max_syn_backlog = 16384

net.ipv4.tcp_max_tw_buckets = 36000

net.ipv4.route.gc_timeout = 100

net.ipv4.tcp_syn_retries = 1

net.ipv4.tcp_synack_retries = 1

net.core.somaxconn = 16384

net.core.netdev_max_backlog = 16384

net.ipv4.tcp_max_orphans = 16384

#以下参数是对iptables防火墙的优化,防火墙不开会提示,可以忽略不理。

net.nf_conntrack_max = 25000000

net.netfilter.nf_conntrack_max = 25000000

net.netfilter.nf_conntrack_tcp_timeout_established = 180

net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120

net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60

net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120

EOF

#使配置文件生效:sysctl -p


11)安装其他小软件

实现linux和windows上传和下载软件:

yum install lrzsz nmap tree dos2unix nc telnet sl -y

12ssh连接速度慢优化

sed -i.bak 's@#UseDNS yes@UseDNS no@g;s@^GSSAPIAuthentication yes@GSSAPIAuthentication no@g'  /etc/ssh/sshd_config

重新加载sshd配置文件: /etc/init.d/sshd reload

13)创建目录环境

mkdir /server/{scripts,tools} /application -p

14)重启网卡确认配置是否正确

5. 进行虚拟主机克隆

1)关闭虚拟模板机,做一个模板机快照

内存:512M 硬盘:10G   

 

2)进行虚拟主机克隆

链接克隆:

缺点:模板机(母体)没有了,所有链接克隆主机也会消失

优点:克隆效率高,占用系统资源少

完整克隆:

缺点:克隆效率低,占用系统资源多

优点:克隆主机更加安全,互相独立

中小型公司架构集群部署经验_linux_19 中小型公司架构集群部署经验_期中架构_20

第一台虚拟主机名:rsync-backup(按顺序往下排)

虚拟机位置:最好找一个专用位置存放期中架构虚拟机

6. 对克隆后的虚拟主机进行网络配置(修改IP地址和主机名)

注:当多个虚拟主机克隆完毕后,要一台一台开启,进行网 络配置,否则会造成网络地址冲突

开启一台克隆主机:

1)修改IP地址

sed 's#200#41#g' /etc/sysconfig/network-scripts/ifcfg-eth[01] -i

egrep '41'  /etc/sysconfig/network-scripts/ifcfg-eth[01] -i

 

2)修改主机名

hostsname backup

sed 's#georgekai#backup#g' /etc/sysconfig/network

 

3) 查看hosts文件是否修改成功(9IP对应的主机名)

 

4)重启网络服务

service network restart

5xshell中重新连接,并设置好会话标签名称


小伙伴们可以关注我的微信公众号:linux运维菜鸟之旅

中小型公司架构集群部署经验_期中架构_21

关注“中国电信天津网厅”公众号,首次绑定可免费领2G流量,为你的学习提供流量! 

中小型公司架构集群部署经验_期中架构_22