集群架构的配置

集群架构之准备工作(1)

图片图片

图片

在对各功能进行详细介绍之前,我们需要先准备虚拟机环境,我们规划如下:

 

 

图片

目录结构规划:

~/scripts存放脚本文件的目录~/tools存放软件安装包的目录/backup存放备份文件的目录/data存放共享文件的目录,即NFS服务器存放数据的目录

环境规划完毕。读者可以搭建自己的虚拟机环境,也可以采用阿里云环境等,如果还有疑惑,可以在微信公众号给我发消息哦。

系统配置及优化

我们把这些规划的目录,在模板机里准备好:

mkdir scripts
mkdir tools
mkdir /data /backup

 

这里的优化我们照做即可,具体原理我们后面遇到时再做详解。

配置所有主机域名解析(配置模板机)

设置本地服务主机名称与IP地址映射关系

[root@localhost ~]# cat >>/etc/hosts<<EOF
> 10.0.0.11 m01
> 10.0.0.12 lb01
> 10.0.0.13 lb02
> 10.0.0.14 web01
> 10.0.0.15 web02
> 10.0.0.21 nfs
> 10.0.0.22 rsync
> 10.0.0.23 mysql
> EOF

 

更新yum源

# 使用阿里云的yum源
curl -s -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# 安装RHEL/CentOS官方源不提供的软件包(也是用阿里的源)
curl -s -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

 

和安全相关的优化

关闭一些安全服务,可以避免一些不必要的麻烦。生产中,相关的安全服务由单独的防火墙完成。

关闭selinux

# 修改配置文件,使配置永久生效
[root@localhost ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

# 上面的修改并不能即时生效,所以我们需要通过下面的命令来即时关闭selinux
[root@localhost ~]# setenforce 0

# 查看seLinux是否已经关闭
[root@localhost ~]# getenforce
Permissive # 这种状态表示selinux已经不再起作用。

 

关闭防火墙

# 禁止开机启动
[root@localhost ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

# 关闭防火墙
[root@localhost ~]# systemctl stop firewalld

 

 

 

推荐阅读

 

 

《一站式教程之集群架构》:

一文彻底搞懂IP地址知识(值得收藏的手册)

老司机:子网掩码我不怕,怕的是子网划分!

关于dhcp,看这一篇就够了!

网络配置net-tools工具包

ifconfig已淘汰,ip登场

多网卡绑定之bond

多网卡绑定之team

集群架构及常见集群特性介绍

 

 

看完本文有收获?请分享给更多人

推荐关注「Cloud研习社」,带你从零开始掌握云计算技术!

集群架构之准备工作(3)

Cloud研习社 Cloud研习社 2022-08-20 10:33 发表于山东
图片图片

教程每周二、四、六更新

图片

命令行设置

为了保证操作的安全性和可回顾性,我们设置:

echo 'export TMOUT=300' >>/etc/profile # 设置ssh超时时间为300s
echo 'export HISTSIZE=2000' >>/etc/profile # 记录命令行历史命令条数
echo 'export HISTFILESIZE=1000' >>/etc/profile # 历史命令文件保存的历史命令条数

 

增加文件描述符

# 永久生效的修改方法:
[root@localhost ~]# echo '* - nofile 65535 ' >>/etc/security/limits.conf
[root@localhost ~]# tail -1 /etc/security/limits.conf

# 临时生效的修改方法
[root@localhost ~]# ulimit -SHn 65535

 

注意:如果仅仅修改配置文件的话,不会立刻生效。所以我们还会使用临时生效的方法,一边达到立刻生效的目的。

内核优化

[root@localhost ~]# 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

# 使之生效
[root@localhost ~]# sysctl -p

 

ssh连接优化

在工作中,我们会遇到ssh连接服务器较慢的情况,我们可以通过如下方式来优化:

# 修改配置文件
[root@localhost ~]# sed -i 's/#UseDNS yes/UseDNS no/g' /etc/ssh/sshd_config
[root@localhost ~]# sed -i 's/GSSAPIAuthentication yes/GSSAPIAuthentication no/g' /etc/ssh/sshd_config

# 重启ssh服务使配置生效
[root@localhost ~]# systemctl restart sshd

 

为了保证ssh工作的安全性,工作中还需要更换ssh默认端口号和监听地址段,防止黑客攻击。但是为了学习的方便性,我们这里就不修改了,请知道加强ssh安全还有这些手段即可:

# 更改默认端口号
[root@localhost ~]# sed -i '17s/.*/Port 51622/g' /etc/ssh/sshd_config

# 修改ssh服务监听的默认ip地址(默认0.0.0.0),这里我们指定监听内网地址172.16.1.3
[root@localhost ~]# sed -i '20s/.*/ListenAddress 172.16.1.3/g' /etc/ssh/sshd_config

 

安装vim

[root@localhost ~]# yum -y install vim

 

到此为止,系统的初步优化就到这里了,此时就可以开始克隆虚拟机了。

修改主机名称(修改除模板机以外的所有主机)

[root@web01 ~]# hostnamectl set-hostname web01

 

注意:有些vmware版本在克隆命名虚拟机的时候,会自动把主机名改掉。

 

 

推荐阅读

 

 

《一站式教程之集群架构》:

一文彻底搞懂IP地址知识(值得收藏的手册)

老司机:子网掩码我不怕,怕的是子网划分!

关于dhcp,看这一篇就够了!

网络配置net-tools工具包

ifconfig已淘汰,ip登场

多网卡绑定之bond

多网卡绑定之team

集群架构及常见集群特性介绍

集群架构之准备工作(1)

集群架构之准备工作(2)-设置时间同步

 

 

看完本文有收获?请分享给更多人

推荐关注「Cloud研习社」,带你从零开始掌握云计算技术!

Cloud研习社
为Linux云计算零基础同学服务,致力于打造一套完整的linux云计算教程。包括新手学习路线、linux、存储、集群架构以及Docker,K8S,DevOps等
146篇原创内容
公众号
收录于合集 #linux
 50
下一篇Linux中sudo、su和su -命令的区别小结
阅读 10

posted @ 2022-08-19 17:29  往事已成昨天  阅读(42)  评论(0编辑  收藏  举报