暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

集群架构分析规划(二)

蜜蜂点滴 2020-05-08
113

一、服务器准备


13台服务器。外网地址,根据实际情况设置。

二、集群架构图

三、建虚拟机-模板机

1、新建虚拟机无法上外网:

ctrl+a 定位命令行首个字母

#vim /etc/sysconfig/network-scripts/ifcfg-ens33

ONBOOT的值改为yes

2、修改虚拟机名子

#hostnamectl set-hostname www

3、修改shell命令提示符的颜色:

[root@www ~]# vi ~/.bashrc 

export   PS1='[\[\e[34;1m\]\u@\[\e[0m\]\[\e[32;1m\]\h\[\e[0m\]\[\e[31;1m\]\w\[\e[0m\]]\$'

生效:#. ~/.bashrc 或#source ~/.bashrc

4、修改网卡名称:

备份:

[root@www/etc/sysconfig/network-scripts]#cp ifcfg-ens33{,.ori}

修改配置文件内容:

[root@www/etc/sysconfig/network-scripts]#vi ifcfg-ens33

NAME=eth0

DEVICE=eth0

修改配置文件名子:

[root@www/etc/sysconfig/network-scripts]#mv ifcfg-ens33 ifcfg-eth0

来重新生成grub配置并更新内核参数:

[root@www~]#vi /etc/default/grub 

GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet net.ifnames=0 bilsdevname=0"

[root@www~]#grub2-mkconfig -o /boot/grub2/grub.cfg

重启:reboot

查看结果:[root@www~]#ip add 已经更改过来

5、保留yum安装时下载的软件包

[root@www~]#cat /etc/yum.conf

 keepcache=0 安装完成后,自动删除软件包

keepcache=1 安装完成后,保留安装包

yum安装包下载路径:/var/cache/yum/x86_64/7/updates/packages/

6、更新系统

更新源:

curl -s -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo


curl -s -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

-s:安静的,没有任何输出

-o:输出到文件

更新系统:

#yum update -y

7、安装一些有用的软件包

安装系统常用工具:

#yum install tree nmap dos2unix lrzsz nc lsof wget tcpdump htop iftop iotop sysstat nethogs -y

检测是否都安装上:

#rpm -qa tree nmap dos2unix lrzsz nc lsof wget tcpdump htop iftop iotop sysstat nethogs

安装运维系统常用的工具:

#yum install psmisc net-tools bash-completion vim-enhanced -y

# rpm -qa psmisc net-tools bash-completion vim-enhanced

8、优化

①安装及配置路径规划:

[root@www~]#mkdir -p /server/scripts /server/tools /application /backup /data

/server/scripts:脚本存放路径

/server/tools:存放软件包

/application:编译安装路径

/backup:备份目录

/data:数据共享目录

hosts配置解析信息:

# 配置/etc/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 web01

172.16.1.8 web02

172.16.1.9 sweb01

172.16.1.10 sweb02

172.16.1.31 nfs01

172.16.1.41 backup

172.16.1.51 db01 db01.mifengdiandi.xyz

172.16.1.61 m01

EOF

②优化安全设置:

关闭防火墙:

[root@www~]#systemctl stop firewalld

[root@www~]#systemctl disable firewalld

[root@www~]#systemctl status firewalld

关闭SELinux:

[root@www~]#sed -i 's#SELINUX=.*#SELINUX=disabled#g' /etc/selinux/config

[root@www~]#sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

③精简开机启动程序:

[root@www~]#systemctl list-unit-files |grep enable|egrep -v "sshd.service|crond.service|sysstat|rsyslog|^NetworkManager.service|irqbalance.service"|awk '{print "systemctl disable",$1}'|bash

[root@www~]#systemctl start NetworkManager

[root@www~]#systemctl enable NetworkManager

重启后查看系统开启端口情况:

#netstat -lntup #<==如果没有该命令请安装#yum install net-tools

tcp:22            

tcp6:::22 

udp:68

9、设置普通用户提权操作:

[root@www~]#useradd admin

[root@www~]#id admin

uid=1000(admin) gid=1000(admin) groups=1000(admin)

[root@www~]#echo 123456|passwd --stdin admin

Changing password for user admin.

passwd: all authentication tokens updated successfully.

[root@www~]#\cp /etc/sudoers /etc/sudoers.ori

[root@www~]#echo 'admin ALL=(ALL)NOPASSWD:ALL'>>/etc/sudoers

[root@www~]#tail -1 /etc/sudoers

admin ALL=(ALL)NOPASSWD:ALL

检验语法:

[root@www~]#visudo -c

10、设置中文字符,建议最好用英文

#cp /etc/locale.conf{,.ori}

localectl set-locale LANG="zh_CN.UTF-8"

#cat /etc/locale.conf

11、设置系统时间同步

#yum install ntpdate -y

#/usr/sbin/ntpdate ntp3.aliyun.com

服务器时间一定要准确:设置定时任务

echo '#crond-id-001:time sync by admin'>>/var/spool/cron/root

echo '* * 1 * * /usr/sbin/ntpdate ntp3.aliyun.com >/dev/null 2>&1' 


>>/var/spool/cron/root

crontab -l

12、提升命令行操作安全性

锁屏,显示历史命令数量,历史记录文件保留格式

echo 'export TMOUT=300' >>/etc/profile

echo 'export HISTSIZE=5' >>/etc/profile

echo 'export HISTFILESIZE=5' >>/etc/profile

. /etc/profile

13、优化系统内核

#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

> net.core.wmem_default = 8388608

> net.core.rmem_default = 8388608

> net.core.wmem_max = 16777216

> net.core.rmem_max = 16777216

> EOF

13、优化SSH远程连接效率

修改ssh服务端口为52113,默认端口为22

#\cp /etc/ssh/sshd_config{,.ori}

#sed -i -e '17s/.*/Port 52113/g' /etc/ssh/sshd_conf

#sed -i -e "19s/.*/ListenAddress 172.16.1.41/g" /etc/ssh/sshd_config

说明:修改SSH服务监听的默认IP地址,默认为0.0.0.0全部监听,可以自定义指定监听内网IP地址

#sed -i -e "38s/.*/PermitRootLogin no/g" /etc/ssh/sshd_config

说明:关闭SSH登录root用户权限,提升系统安全性

#sed -i -e "64s/.*/PermitEmptyPasswords no/g" /etc/ssh/sshd_config

PermitEmptyPasswords no

UseDNS no

GSSAPIAuthentication no

14、清理系统版本信息:

#>/etc/issue

#>/etc/issue.net

15、为GRUP增加密码

#grub2-setpassword 

四、技术

1、无人值守批量装机服务(Cobbler)

2、YUM仓库搭建(一键快速自动化必备)

3、SSH、Ansible批量管理服务项目

4、Zabbix完成集群的基础/应用/web/自动化监控

5、搭建VPN服务使用PPTP或者Openvpn

6、搭建跳板机服务jumpserver

7、Rsync全网备份项目/异地备份

8、MYSQL数据库环境搭建,主从搭建

9、"NFS共享存储数据实时复制到backup

10、将PHP产品和Tomcat产品上传目录挂载到NFS"


11、Nginx+PHP流行动态,web环境搭建

12、Nginx+Tomcat流行动态web环境搭建

13、NFS提供静态站点存储

14、将NFS存储数据实时复制到静态web本地

15、Nginx静态web服务环境搭建

16、搭建Nginx+keepalived负载高可用,实现动静分离


17、Memcahed或Redis session 会话保持环境搭建


18、实现全站HTTPS加密访问项目

19、Iptables内网服务器共享上网



文章转载自蜜蜂点滴,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论