提升私有部署成功率:单机部署的关键注意事项与参考指南

私有部署 私有部署HAP代理  收藏
8 / 327

在这篇文章中,我们将专注于如何提升私有部署用户的单机部署成功率。我们深知部署过程中可能遇到的挑战和困难,因此,我们将提供一些重要的部署注意事项,以帮助您避免常见的陷阱和错误。此外,我们还将提供一些参考文档,以供您在部署过程中参考和查阅。无论您是初次尝试单机部署,还是已经有一定经验的用户,我们相信这篇文章都将对您有所帮助。让我们一起探索如何更有效地进行单机部署,提升部署的成功率。

1. 服务器操作系统以及存储的选择

操作系统的选择我们建议 Debian12,这里也放上 Debian 官网 12 版本 amd64 下载链接

关于 CPU、存储、网络的基础性能要求

关于硬盘存储这边特别给出以下建议:

1)符合性能要求的 SSD 磁盘

性能要求参考链接,硬盘性能测试命令 fio 需要通过源安装或者离线安装(具体可以百度下),这里给出测试命令:

1、测试随机写 IOPS:

fio -direct=1 -iodepth=128 -rw=randwrite -ioengine=libaio -bs=4k -size=10G -numjobs=1 -runtime=1000 -group_reporting -filename=iotest -name=Rand_Write_Testing
image.png

2、测试随机读 IOPS:

fio -direct=1 -iodepth=128 -rw=randread -ioengine=libaio -bs=4k -size=10G -numjobs=1 -runtime=1000 -group_reporting -filename=iotest -name=Rand_Read_Testing
image.png

3、测试顺序写吞吐量:

fio -direct=1 -iodepth=64 -rw=write -ioengine=libaio -bs=1024k -size=10G -numjobs=1 -runtime=1000 -group_reporting -filename=iotest -name=Write_PPS_Testing
image.png

4、测试顺序读吞吐量:

fio -direct=1 -iodepth=64 -rw=read -ioengine=libaio -bs=1024k -size=10G -numjobs=1 -runtime=1000 -group_reporting -filename=iotest -name=Read_PPS_Testing
image.png

2)非 SSD 盘也可以部署,只不过可能遇到磁盘 IO 导致的问题,如下

1、初次部署账号已退出

解决方案参考链接

2、平台使用过程中数据增删改查缓慢

解决方案:更换 SSD 存储,基于这个问题点,建议优先 SSD。

2. 操作系统环境准备以及环境检测

这里首先说明,单机 HAP 服务使用的端口最多四个(8880/18880/38881/38880),只需要暴露出至多三个(8880/18880/38881)即可,考虑到安全,这里默认所有用户均使用代理,并且通过 https 协议默认端口 443 进行外部访问,内网访问通过 80 端口进行访问,那么这种情况需要开启的网络端口只有三个(80/443/38881)

这里解释一下三个端口的作用:
38881 是安装管理器端口,目前主要是单机初次部署进行初始化使用;
8880 是服务端口,对应主访问地址;
18880 是服务端口,对应扩展访问地址;
80/443 是代理端口,对应后端的 8880 或者 18880,看用户侧具体需求以及网络侧具体配置。

这里暂定单机代理 Nginx 不独立部署,与 HAP 服务部署在同一台(考虑到可能涉及后续使用过程中的集成、消息推送、以及外部门户地址扫码等,这里外网地址作为主地址):

主访问地址:外网地址 https://hap.domain.com:443 这里端口 443 默认可以隐藏,所以也可以写为 https://hap.domain.com

扩展访问地址:内网地址 http://192.168.1.1:80 这里端口 80 默认可以隐藏,所以也可以写为 http://192.168.1.1

1、操作系统环境准备

参考环境准备进行操作系统环境配置

2、环境检测

参考环境检测参数进行部署 HAP 前的设置和检查

3. Docker 环境和 HAP 系统的安装

1、Docker 环境的安装

参考 Docker 安装逐步进行即可

2、HAP 系统的安装部署

参考 HAP 单机部署逐步进行即可

注意: 这里初始化过程会有一个确认访问地址的过程,默认不修改即可,如果对地址有要求,可以参考第 4 步进行配置

3、一定!一定!一定要做开机自启配置
CentOS 系列操作系统设置开机自启
Debian 系列操作系统设置开机自启:

注意:先检查是否有配置开机自启项:cat /etc/rc.local
如果没有此文件,执行下方命令会自动创建
!!!此步不要添加开机自动的命令或者脚本
以下内容#!/bin/sh -e之前不可以有空行
cat > /etc/rc.local <<EOF
#!/bin/sh -e
 
exit 0
EOF

赋予可执行权限
chmod +x /etc/rc.local
systemctl daemon-reload && systemctl enable --now rc-local.service

以下命令输出状态为running后再加入添加开机自动的命令或者脚本
systemctl status rc-local.service

在/etc/rc.local中exit 0上一空行添加开机自动的命令或者脚本
例如1:/usr/local/nginx/sbin/nginx
sed -ri 's#exit 0.*#/usr/local/nginx/sbin/nginx\nexit 0#' /etc/rc.local

例如2:配置hap服务开机启动,注意:{安装管理器绝对路径} 需替换成实际的安装管理器绝对路径
sed -ri '/exit 0.*/d' /etc/rc.local

echo 'sleep 30
docker system prune -f
cd {安装管理器绝对路径} && /bin/bash ./service.sh startall
exit 0' >> /etc/rc.local
4. Nginx 代理部署注意事项

这里我们按照上述第 2 步所说地址进行地址设置。

1、部署 Nginx

参考代理配置

2、主地址和扩展地址的配置差异

【推荐】 参考多地址访问进行配置即可

【不推荐】 也可参考双地址访问进行配置

上述多地址访问中修改的微服务配置文件路径默认情况下为 /data/mingdao/script/docker-compose.yaml