环境检测参数
以 CentOS 7.9 服务器为例
User
说明:运行脚本时的用户
要求:因使用到 docker,所以需要 root 用户或者具有 root 权限的用户
Selinux
说明:Linux 安全系统
要求:因使用到 docker,需关闭 Selinux
临时关闭:
setenforce 0
永久关闭:修改
/etc/selinux/config
中的
SELINUX=enforcing 或 SELINUX=permissive
为
SELINUX=disabled
Firewalld
说明:自带的防火墙工具。建议关闭防火墙,容易与 iptables 规则冲突,云服务器可使用安全组规则进行网络控制
临时关闭:
systemctl stop firewalld
(关闭防火墙后需要重启 docker 服务,否则规则会有可能丢失导致网络异常)
永久关闭:
systemctl disable firewalld
CPU
说明:处理器核心数量
要求:最低 8 核
Memory
说明:内存大小
要求:最低 32G 内存容量
docker
说明:环境变量中需要有 docker 命令且可执行成功
要求:通过 RPM 安装后会自动添加至 PATH 环境变量,二进制安装需手动添加至环境变量
dockerd
说明:环境变量中需要有 dockerd 命令且可执行成功
要求:通过 RPM 安装后会自动添加至 PATH 环境变量,二进制安装需手动添加至环境变量
MaxMapCount
说明:限制一个进程可以拥有的VMA(虚拟内存区域)的数量,内置 Elasticsearch 需要调整才可成功启动
临时调整:
sysctl -w vm.max_map_count=262144
永久调整:
/etc/sysctl.conf
文件增加
vm.max_map_count=262144
SysFileNr
说明:操作系统级别的文件描述符限制
临时调整:
sysctl -w fs.file-max=2048000
永久调整:
/etc/sysctl.conf
文件增加
fs.file-max=2048000
IPv4Forward
说明:docker 对外提供服务需要开启
临时调整:
sysctl -w net.ipv4.ip_forward=1
永久调整:
/etc/sysctl.conf
文件增加
net.ipv4.ip_forward=1
DockerCgroupDrive
说明:docker 容器 Cgroup 文件描述符限制,如为 systemd 时可能会出现文件描述符数量不足的问题,如为 dockerd is not running 则需要启动 dockerd
systemctl start docker
永久调整:修改或增加
/etc/docker/daemon.json
文件中的配置项
"exec-opts": ["native.cgroupdriver=cgroupfs"]
DockerdFileNr
说明:docker 内的文件描述符数量,如为 dockerd is not running 则需要启动 dockerd
systemctl start docker
永久调整:例如通过 systemd 启动 docker 服务,则在 docker.service 文件中设置
LimitNOFILE=102400
DockerdVersion
说明:docker运行版本,如低于指定版本则可能产生权限异常或未知异常
要求:升级Docker版本大于等于
20.10.16