CentOS 系统设置
准备好硬件,安装完原生 CentOS 系统后。我们需要对初始系统做一些配置,保证后续安装过程的顺畅和蓝鲸平台的运行。
系统版本: 要求 CentOS-7.0 以上版本,推荐 CentOS-7.5。
1. 关闭 SELinux
# 检查 SELinux 的状态,如果它已经禁用,可以跳过后面的命令
sestatus
可以使用以下命令禁用 SELinux,或者修改配置文件。
# 通过命令临时禁用 SELinux
setenforce 0
# 或者修改配置文件
sed -i 's/^SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
接着,重启机器:
reboot
2. 关闭默认防火墙(firewalld)
安装和运行蓝鲸时,模块之间互相访问的端口策略较多,建议对蓝鲸后台服务器之间关闭防火墙。
# 检查默认防火墙状态,如果返回 not running,可以跳过后面的命令
firewall-cmd --state
停止并禁用 firewalld
systemctl stop firewalld # 停止 firewalld
systemctl disable firewalld # 禁用 firewall 开机启动
3. 安装 rsync 命令
安装脚本依赖 rsync 分发同步文件。
# 检查是否有 rsync 命令,如果有返回 rsync 路径,可以跳过后面的命令
which rsync
# 安装 rsync
yum -y install rsync
4. 设置静态IP ,停止并禁用 NetWorkManager
systemctl stop NetworkManager
systemctl disable NetworkManager
备注说明:该操作前提需确保主机为静态 IP,若为 DHCP 获取的 IP,则无法直接 disable NetworkManager,否则会出现主机重启后,或者主机运行一段时间 IP 租约地址到期后,网卡无法从网络重新正常获取 IP 地址的情况。
设置主机为静态ip
#ifconfig <<查看IP地址信息
#vim /etc/sysconfig/network-scripts/ifcfg-ens33 <<查看配置文件
修改配置文件
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="be9308cc-5668-427b-9c09-056b70296583"
DEVICE="ens33"
ONBOOT="yes"
IPV6_PRIVACY="no"
DNS1=127.0.0.1
DNS2=8.8.8.8
IPADDR=192.168.0.109
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
~
~
5. 调整最大文件打开数
# 检查当前 root 账号下的 max open files 值
ulimit -n
如果为默认的 1024,建议通过修改配置文件调整为 102400 或更大。
注意: limits.conf 初始文件的备份。
cat << EOF >> /etc/security/limits.conf
root soft nofile 102400
root hard nofile 102400
EOF
修改后,重新使用 root 登录检查是否生效。<<重新登录,reboot,才能生效
6. 确认服务器时间同步(单机部署跳过)
服务器后台时间不同步会对时间敏感的服务带来不可预见的后果。务必在安装和使用蓝鲸时保证时间同步。
# 检查每台机器当前时间和时区是否一致,若相互之间差别大于3s(考虑批量执行时的时差),建议校时。
date -R
# 查看和ntp server的时间差异(需要外网访问,如果内网有ntpd服务器,自行替换域名为该服务的地址)
ntpdate -d cn.pool.ntp.org
如果输出的最后一行 offset 大于 1s 建议校时。
# 和 ntp 服务器同步时间
ntpdate cn.pool.ntp.org
更可靠的方式包括通过运行 ntpd 或者 chrony 等服务在后台保持时间同步。 具体请参考官方文档 使用 ntpd 配置 NTP 或 使用 chrony 配置 NTP。
7. 检查是否存在全局 HTTP 代理(跳过)
蓝鲸服务器之间会有的 HTTP 请求,如果存在 HTTP 代理,且未能正确代理这些请求,会发生不可预见的错误。
# 检查 http_proxy https_proxy 变量是否设置,若为空可以跳过后面的操作。
echo "$http_proxy" "$https_proxy"
对于本机配置 http_proxy 变量的方式,请依次查找文件 /etc/profile、/etc/bashrc、$HOME/.bashrc 等是否有设置。 或者咨询网络管理员/IT 部门协助处理。
在这些主机中,选择任意一台机器作为蓝鲸的运维中控机。之后的安装命令执行,如果没有特别说明,均在这台中控机上执行。
8. 检查resolv.conf是否有修改权限
检查 /etc/resolv.conf 是否被加密无法修改(即便是 root),执行如下命令,检查是否有“i”加密字样:
lsattr /etc/resolv.conf
----i--------e-- /etc/resolv.conf
如果有则执行命令,临时解密处理,执行如下命令:
chattr -i /etc/resolv.conf
需要注意,在 resolv.conf 配置文件的首行,即第一个DNS地址需为 127.0.0.1,如下所示:
nameserver 127.0.0.1
nameserver 192.168.1.100
nameserver 192.168.2.100
备注说明:resolv 配置文件无需人工修改内容,后续安装脚本会自动为主机进行配置 127.0.0.1,因此只需检查是否允许修改即可。关于首行需要 127.0.0.1,这是由于后面蓝鲸内部组件的调用所需,域名通过 consul 解析,会探测服务运行状态,然后返回IP地址, 例如访问 es,那么内部需要解析 es.service.consul 等,若首行不是 127.0.0.1,否则这些域名就通过外网去解析,无法返回正确的响应,导致服务运行异常,或者 SaaS 无法正常打开等情况。