企业架构规划及服务器优化参数

第1ç«  企业架构规划

1.1 架构图

1.1.1 用户访问网站组成


类型


作用


实现方式


顾客-用户


访问网站的人员


@


保安-防火墙


安全策略控制;正确的流量通过,攻击者的流量组织


硬件- 华为 思科 juniper厂商

软件-iptables


迎宾-负载均衡服务器


提供访问者请求调度作用


nginx反向代理负载均衡服务器

LVS haproxy


服务员-web服务器


根据http原理,回复给访问者相应的页面信息


nginx网站服务技术  apache

tomcat


厨师-数据库服务器


返回给web服务器,相应用户数据的信息(字符串信息)


mysql oracle


厨师­-存储服务器


返回给web服务器,相应用户的视频、图片、附件等数据信息


NFS存储服务器  分布式储存mfs

fastdfs


厨师-备份服务器


备份全网架构服务器的重要资料


定时备份rsync+定时任务 

实时备份 inotify/sersync+rsync


厨师-缓存服务器


将数据存储到内存当中,提升读取效率


memcache 

redis

 mongodb


心跳线


 keepalived 高可用


 


集群


多台服务器做一件相同的事情


 

1.1.2 运维人员访问网站组成


类型


作用


实现方式


秘密通道-vpn


实现加密传输数据,实现认证建立连接


 


监管-跳板机


监控运维人员操作信息

   1、实时监控运维人员桌面信息

   2、命令记录功能

   3、操作记录回放

   4、用户审计功能


jumpsever/gateone


批量管理服务器


批量自动化管理多台主机


ssh+key

ansible (200-300台)

saltstack


监控服务器


监控架构服务器运行情况


zabbix/nagios+cacti


批量安装部署系统


(kicksrtart/cobbler)


 

1.2 架构搭建顺序


顺序


服务


软件


1


备份存储服务器


rsync软件实现备份服务


2


存储服务器


NFS软件实现存储服务


3


1 2 之间实时同步


inotify+rsync/sersync


4


批量管理服务器


ssh+key/ansible/saltstack


5


web服务


nginx


6


LNMP架构


linux+nginx+mysql+php


7


负载均衡


ngnix负载均衡


8


心跳线


keeplived 高可用

 

1.3 架构环境

1.3.1 主机环境


服务器规划


数量


作用说明


负载均衡服务器


两台


对访问网站的流量进行风流,减少流量对某台服务器的压力


web服务器


三台


处理用户的页面访问请求(Nginx)


NFS存储(兼职批量管理)


一台


储存图片、附件、头像等静态数据


备份服务器(rsync


一台


对全网服务器数据进行实时与定时备份


数据库服务器(mySQL


一台


对动态变化数据进行存储(文本内容)


管理服务器


一台


1)     1.作为yum仓库服务器,提供全网服务器的软件下载

2)     2.跳板机、操作审计

3)     3.vpn(pptp)

4)     4.监控(zabbix)

5)     5.兼职批量分发和管理(ssh+key/ansible/saltstack)


合计需要9台虚拟机

1.3.2 各主机(IP/主机名)规划


服务器说明


外网ip(nat


内网IP(LAN区段)


主机名称规划


A1-nginx负载均衡服务器01


10.0.0.5/24


172.16.1.5/24


lb01


A2-nginx负载均衡服务器02


10.0.0.6/24


172.16.1.6/24


lb02


B1-nginx web服务器


10.0.0.7/24


172.16.1.7/24


web02


B2-nginx web服务器


10.0.0.8/24


172.16.1.8/24


web01


B3-nginx web服务器


10.0.0.9/24


172.16.1.924


web03


C3-mysql数据库服务器


10.0.0.51/24

(生产环境不设置)


172.16.1.51/24


db01


C1-NFS存储服务器


10.0.0.31/24

(生产环境不设置)


172.16.1.31/24


nfs01


C2-rsync 存储服务器


10.0.0.41/24

(生产环境不设置)


172.16.1.41/24


backup


X-管理服务器


10.0.0.61/24

(生产环境不设置)


172.16.1.61/24


m01

1.3.3 初始目录规划


说明


目录结构


目录结构说明


初始化目录


/server/scripts

/server/tools

/application


存放脚本的目录

存放编译安装软件源代码的目录

软件程序的安装目录

1.4 虚拟主机配置

1.4.1 虚拟主机网卡添加(vmware软件)

选择网络适配器,添加一块新对的网卡

  

图1-1 添加网卡

选项默认即可,下一步直到网卡添加成功。

 

图1-2 添加完成

1.4.2 编辑网络

修改网络选项,将NAT模式子网改为 10.0.0.0 /24

修改网关为10.0.0.254

 

图1-3 修改NAT网络的网段

 

图1-4 修改NAT网络的网关

设置网卡的格式

      第一块网卡选择nat模式

 

图1-5 第一块网卡设置

第二块网卡选择lan区段

 

图1-6 第二块网卡设置 LAN区段

配置好lan区段后选择上lan区段即可

 

图1-7 第二块网卡选择好LAN区段

1.4.3 虚拟主机网卡地址配置

 

图1-8 第一块网卡eth0配置

 

图1-9 第二块网卡eth1配置

 

1.4.4 网卡配置好后注意

配置完成需要重启网络服务

/etc/init.d/network restart

第2ç«  架构主机优化脚本

注意:此脚本需要放在/tmp 目录下

#!/bin/bash
#################################################
#    File Name: optimize-init_sys.sh
#       Author: Energy
#         Mail: admin@znix.top
#     Function: system optimize scripts
#################################################
#optimization linux system
. /etc/init.d/functions

#change system directory: create seripts/software directory
function change_dir(){
    ShellDir="/server/scripts"
    SoftwareDir="/server/tools"
    mkdir -p $ShellDir &&\
    mkdir -p $SoftwareDir
}

# input info verify
function info_verify(){
    read -p "Please make sure the information you entered (yes|no): " info
  case "$info" in
        y*|Y*)
            continue
            ;;
        n*|N*)
            exit 1
          ;;
  esac
}

#change system hostname
function change_hostname(){
    read -p "Please input hostname: " HostName
        info_verify
    hostname $HostName &&\
    sed -i "2s/=.*$/=$HostName/g" /etc/sysconfig/network &&\
    chk_hosts=$(grep -o "\b$HostName\b" /etc/hosts)
    get_ip=$(ifconfig eth0|awk -F "[ :]+" 'NR==2 {print $4}')
    if [ -z $chk_hosts ]
    then
        echo "$get_ip   $HostName" >>/etc/hosts
    else
        continue
    fi
}

#boot system optimize: setup chkconfig
function change_chkconfig(){
    Boot_options="$1"
    for boots in `chkconfig --list|grep "3:on"|awk '{print $1}'|grep -vE "$Boot_options"`
    do
        chkconfig $boots off
    done
}

#setup system optimize: setup ulimit
function change_ulimit(){
    grep "*       -       nofile       65535" /etc/security/limits.conf >/dev/null 2>&1
    if [ $? -ne 0 ]
    then
        echo '*       -       nofile       65535' >>/etc/security/limits.conf
    fi
}

#setup system optimize: setup sysctl
function change_sysctl(){
    cat /tmp/sysctl.conf >/etc/sysctl.conf &&\
    modprobe bridge &>/dev/null &&\
    sysctl -p &>/dev/null
}

#sshd software optimize: change sshd_conf
function change_sshdfile(){
    SSH_Port="port 22"
    SSH_ListenAddress=$(ifconfig eth0|awk -F "[ :]+" 'NR==2 {print $4}')
    SSH_PermitRootLogin="PermitRootLogin no"
    SSH_PermitEmptyPassword="PermitEmptyPasswords no"
    SSH_GSSAPI="GSSAPIAuthentication no"
    SSH_DNS="useDNS no"
      #sed -i -e "13s/.*/$SSH_Port/g" /etc/ssh/sshd_config
      #sed -i -e "15s/.*/ListenAddress $SSH_ListenAddress/g" /etc/ssh/sshd_config
      #sed -i -e "42s/.*/$SSH_PermitRootLogin/g" /etc/ssh/sshd_config
      #sed -i -e "65s/.*/$SSH_PermitEmptyPassword/g" /etc/ssh/sshd_config
      sed -i -e "81s/.*/$SSH_GSSAPI/g" /etc/ssh/sshd_config
      sed -i -e "122s/.*/$SSH_DNS/g" /etc/ssh/sshd_config
}

#selinux software optimize: change disable
function change_selinux(){
    sed -i 's#SELINUX=.*#SELINUX=disabled#g' /etc/selinux/config &&\
    setenforce 0
}

#firewall software optimize: change stop
function change_firewall(){
    /etc/init.d/iptables stop >/dev/null 2>&1
}

#crond software optimize: time synchronization
function change_update(){
    grep -i "#crond-id-001" /var/spool/cron/root >/dev/null 2>&1
    if [ $? -ne 0 ]
    then
        echo '#crond-id-001:time sync by hq' >>/var/spool/cron/root
        echo "*/5 * * * * /usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1">>/var/spool/cron/root
    fi
}

#update yum info
function update_yum(){
    wget -q -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
    wget -q -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
}

#change profile file info
function change_profile(){
    grep "PS1" /etc/profile >>/dev/null 2>&1
    if [ $? -ne 0 ]
    then
        echo  "PS1='\[\e[32;1m\][\u@\h \W]\\$ \[\e[0m\]'" >>/etc/profile
    fi
    grep "alias grep" /etc/profile >>/dev/null 2>&1
    if [ $? -ne 0 ]
    then
    echo "alias grep='grep --color=auto'" >>/etc/profile
    echo "alias ll='ls -l --color=auto --time-style=long-iso'" >>/etc/profile
    fi
    source /etc/profile
}

function main(){
    change_dir
    change_hostname
    change_chkconfig "crond|network|rsyslog|sshd|sysstat"
    change_ulimit
    change_sysctl
    change_sshdfile
    change_selinux
    change_firewall
    change_update
    update_yum
    change_profile
}
main
action "system optimize complete" /bin/true

2.1 架构优化脚本内容

适用于 #centos6.x  系统

2.1.1 更改yum源

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
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

2.1.2 关闭selinux

sed -i 's#SELINUX=enforcing#SELINUX=disabled#g'  /etc/selinux/config
grep SELINUX=disabled /etc/selinux/config
setenforce 0
getenforce

2.1.3 关闭关防火墙

/etc/init.d/iptables stop
/etc/init.d/iptables stop
chkconfig iptables off

2.1.4 精简开机自启动服务

chkconfig |egrep -v "sshd|network|crond|rsyslog|sysstat"|awk '{print "chkconfig",$1,"off"}'|bash
export LANG=en
chkconfig --list|grep 3:on

2.1.5 提权oldboy可以sudo(可选)

useradd oldboy
\cp /etc/sudoers /etc/sudoers.ori
echo "oldboy ALL=(ALL)  NOPASSWD: ALL" >>/etc/sudoers
tail -1 /etc/sudoers
visudo -c

2.1.6 中文字符集(不用做)

cp /etc/sysconfig/i18n /etc/sysconfig/i18n.ori
echo 'LANG="zh_CN.UTF-8"' >/etc/sysconfig/i18n
source /etc/sysconfig/i18n
echo $LANG

2.1.7 时间同步

echo '#time sync by hzs at 2017-10-05' >>/var/spool/cron/root
echo '*/5 * * * * /usr/sbin/ntpdate ntp1.aliyun.com >/dev/null  2>&1 '>>/var/spool/cron/root
crontab -l

2.1.8 命令行安全(千万别做)

#echo 'export TMOUT=300' >>/etc/profile
#echo 'export HISTSIZE=5' >>/etc/profile
#echo 'export HISTFILESIZE=5' >>/etc/profile
#tail -3 /etc/profile
#./etc/profile

2.1.9 加大文件描述符

echo '*        -    nofile     65535 '>>/etc/security/limits.conf
tail -1 /etc/security/limits.conf

2.1.10 内核优化

cat >>/etc/sysctl.conf<<EOF
##youhua
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_syn_backlog = 16384
##iptables  youhua
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

2.1.11 安装一些软件

yum install lrzsz namp tree  dos2unix nc -y

2.1.12 系统升级操作(暂不使用)

#yum update 或  yum upgrade
#yum -y update   #升级所有包,改变软件设置和系统设置,系统版本内核都升级
#yum -y ipgrade  #升级所有包,不改变系统设置和软件设置,系统版本升级,内核不变

2.2 模板机主机hosts文件配置

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    web02
172.16.1.8    web01
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

第3ç«  虚拟机克隆

3.1 克隆前准备

一清空,两删除

   清空网络配置文件

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

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

   删除网卡配置文件中的uuid和HWADDR

sed -ri '/HWADDR|UUID/d' /etc/sysconfig/network-scripts/ifcfg-eth[01]

3.2 进行克隆

模板机关机

shutdown -h now

3.2.1 保留快照

3.3 进行克隆

3.3.1 进行克隆

 

3.3.2 创建连接克隆

 

3.4 克隆主机配置

01. 利用给的脚本进行修改

02. 手动进行修改

hostname backup
sed -i "s#oldboy40#backup#g" /etc/sysconfig/network
grep "backup" /etc/sysconfig/network
HOSTNAME=backup
grep "backup" /etc/hosts
172.16.1.41     backup

3.4.1 手动修改网卡地址

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

3.4.2 修改系统主机名称

hostname backup
sed -i  's#znix#backup#g' /etc/sysconfig/network
修改hosts文件

3.4.3 重启网卡生效

/etc/init.d/network restart

3.4.4 重新建立xsheel标签进行连接

第一台克隆主机完成

3.5 虚拟主机快照

模板机初始化完成进行拍照留念

存储空间足够,快照要多保存。,

3.6 错误排查

3.6.1 网卡配置问题

    a 两删除操作完成之后,不要再进行setup修改网卡操作,否则mac地址信息会再次出现

    b setup命令无法设置网卡信息,主要和字符集设置有关

3.7 如何让setup 命令中防火墙配置生效

3.7.1 CentOS系统找不到setup命令工具的解决方法

yum -y install setuptool
#安装setup命令工具

yum -y install ntsysv
#安装setup工具配套的系统服务组件

yum -y install system-config-securitylevel-tui
#安装setup工具配套的防火墙配置组件

yum -y install system-config-network-tui
#安装setup工具配套的网络配置组件

yum -y install authconfig-gtk
#安装setup工具配套的验证配置组件

yum -y install system-config-keyboard
#安装setup工具配套的键盘配置组件

3.7.2 使用setup配置中的Firewall configuration出现的错误

Traceback (most recent call last):
  File "/usr/bin/system-config-firewall-tui", line 29, in <module>
    import fw_tui
  File "/usr/share/system-config-firewall/fw_tui.py", line 34, in <module>
    import fw_nm
  File "/usr/share/system-config-firewall/fw_nm.py", line 30, in <module>
    bus = dbus.SystemBus()
  File "/usr/lib/python2.6/site-packages/dbus/_dbus.py", line 202, in __new__    private=private)
  File "/usr/lib/python2.6/site-packages/dbus/_dbus.py", line 108, in __new__
    bus = BusConnection.__new__(subclass, bus_type, mainloop=mainloop)
  File "/usr/lib/python2.6/site-packages/dbus/bus.py", line 125, in __new__
    bus = cls._new_for_bus(address_or_type, mainloop=mainloop)
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.FileNotFound: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory

3.7.3 解决办法

yum install -y system-config-firewall system-config-firewall-tui dbus eggdbus && service messagebus start

 

时间: 2024-09-20 20:06:06

企业架构规划及服务器优化参数的相关文章

布局云计算 企业架构是顶层设计的王道

云计算正在将企业的管理带入一种新的境界--业务近在咫尺,商机转瞬可获.流程如影随形,数据触手可得,伙伴无处不在,订单一触即发!这样的境界,正在成为现实.电子商务.移动商务.社交商务正在将越来越多的企业带入云端. 但是不少企业的管理仍然在云下,企业如何将日常管理带入云端,步入云管理的世界?--这得依靠企业架构的再造!在云计算之前,精益管理.供应链管理.流程管理.项目管理等众多的管理方法和工具已经引入中国,并成为不少企业通向卓越之路的选择.但是如今这些管理方法和工具都在移向云端.此时,企业会发现,单

SUSE推出针对ARM AArch64架构服务器优化的企业Linux商业发行版

SUSE在ARM TechCon大会上宣布推出 "第一个针对ARM AArch64架构服务器优化的企业Linux商业发行版",从而领先了Red Hat. 换言之,SUSE开发出了企业级Linux发行版,可以运行在64位的ARM服务器上.SUSE称该软件是全球首发,皆因其是商业成品,从而一举击败Red Hat,Red Hat企业级Linux服务器ARM版仍只提供测试开发使用的预览版. 不过,据SUSE的官方公告资料显示,"ARM版的SUSE Linux企业级服务器操作系统&qu

SUSE推出第一款针对ARM AArch64架构服务器优化的企业Linux商业发行版

SUSE在ARM TechCon大会上宣布推出 "第一个针对ARM AArch64架构服务器优化的企业Linux商业发行版",从而领先了Red Hat. 换言之,SUSE开发出了企业级Linux发行版,可以运行在64位的ARM服务器上.SUSE称该软件是全球首发,皆因其是商业成品,从而一举击败Red Hat,Red Hat企业级Linux服务器ARM版仍只提供测试开发使用的预览版. 不过,据SUSE的官方公告资料显示,"ARM版的SUSE Linux企业级服务器操作系统&qu

IBM服务器优化和集成服务-服务器整合效率研究

为抑制服务器蔓延和 IT 复杂性而努力即使使用拟定的最佳计划,复杂性也可能在公司的 IT 基础架构中无处不在. 可能的问题原因包括并购.新应用程序的引入.始料不及的发展.全球化规范需求.新法规和组织的高压攻势. 通常,复杂性表现为服务器蔓延: 您的数据中心得到发展,是由于起初增加几个服务器即能满足高峰期需求比重新检查整个基础架构更便宜.更容易. 然而最终,蔓延可能成为主要的罪魁祸首 - 随总体拥有成本 (TCO) 而增加实际成本,而且最重要的一点是减少了改革回应力和把握创新的机会.实际上,整合成

企业站做好站内优化要注意哪些事项

企业站做好站内优化要注意哪些事项 网站优化,结构优化是seo网站上线之后必须扎实用心去做的基础优化工作,作为一个站长我们必须兼顾各个方面的细节问题,力争将优化工作做精做细,下面徐州网站优化小编就和大家详细探讨下,企业网站结构优化我们应该通过那些方面进行考虑和分析,下面网商天下以自己的浅薄之见和广大站长进行讨论. 第一,企业网站结构扁平化是第一个优化要点 我们知道网站结构是搜索引擎蜘蛛提升抓取效率,是用户浏览习惯的最佳体现方式,作为一个合格的站长,网站上线之后,我们不要急于优化标签.代码等首先要进

云时代的企业架构之道

云计算时代,企业寻求新的发展机遇,就要在各方面实现创新.对于大型企业而言,如何能够追上信息化发展的步伐?如何搭建云时代的企业架构?大企业如何将云计算落地?这些都成为"大象型"企业的困惑,所谓牵一发动全身不无道理.在近日举行的"2012中国管理•全球论坛"之"云时代的IT转型"分论坛上,金蝶中间件有限公司董事长奉继承博士分享了他的观点. 云计算不断冲击着企业CIO思维,但是企业却很难让云计算落地.因为企业如果有很多系统,就意味着每一套系统都有自己的

Exchange2000系统建设及规划_服务器

第一章第二章 Exchange 2000 安装和设置第一节 安装前的准备工作1. 检查服务器硬件配置2. 检查服务器是否是已经安装了AD的域控制器(DC)3. 检查服务器的网卡及网络设置4. 检查DNS对应是否设置完成5. 检查服务器的IIS中是否安装好了SMTP service 和NNTP service6. 检查是否安装Windows2000 service pack 17. 服务器页面文件设置为较大值第二节 安装Exchange 20001. 注意,将Exchange 2000安装在空间较

红帽企业Linux6为未来服务器操作系统树立新的标杆

&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;   全球领先的开源解决方案供应商红帽公司(纽约证交所上市代码:RHT)今天宣布,公司最新版的旗舰操作平台红帽企业Linux6已正式上市,为未来十年的服务器操作系统树立起新的标杆.凭借红帽企业Linux6,红帽公司为商用开源操作系统订立了新的标准.红帽企业Linux6的设计目标是为今天灵活和多变的企业架构提供支持,为满足客户的物理.虚拟化和云部署需求奠定了全面的基础.

《TOGAF 9.1IT企业架构》什么是企业IT架构

2. 什么是企业IT架构 现在有越来越多的企业IT架构定义.在这一章,你会学习到一些企业IT架构的方法,我们会给你深入解释一种实用的方法,这种方法视企业架构师为CIO(译注:CIO首席信息官,是负责一个公司信息技术和系统所有领域的高级官员)的一个重要的助手(CIO, 其中一项职责是计划企业IT资产策略).我们将这个叫为实用商业(业务)方案,一旦我们把企业架构师的工作视为CIO的重要帮助,这个方案会逐渐变得更加清晰. 其他两种方案有: IT架构方案:这种方案主要植根于IT系统架构.这种系统设计师通