Samba AD域控制器部署时provision工具长时间无响应
我之前部署Samba AD域控制器的时候也碰到过类似的卡住问题,结合社区里的排查经验,给你几个可以尝试的方向:
先排查磁盘IO瓶颈:虽然你的服务器CPU和内存配置拉满,但
provision阶段的数据库打包操作对磁盘读写性能要求很高,哪怕是高性能CPU,要是配的是机械硬盘或者磁盘正被其他任务占满,也很容易卡在这一步。你可以开个新终端,用iostat -x 1或者iotop实时监控磁盘的使用率和读写延迟,如果看到磁盘的%util一直接近100%,那基本就是磁盘拖后腿了——要么等其他磁盘任务结束,要么换SSD这类高速存储再重试。检查系统资源占用情况:虽说32G内存足够,但
samba-tool是基于Python开发的,偶尔会出现进程异常占用CPU或者内存的情况。你可以用htop或者top找到PID为31761的进程,看看它的CPU、内存占用是否异常。如果CPU被其他进程占满,先暂时关掉那些高负载的后台服务;要是这个进程内存占用飙升,不妨重启服务器后再重新执行provision命令。临时关闭防火墙或干扰服务:有时候防火墙的规则会意外阻断Samba的内部数据库操作,或者其他后台服务(比如本地的LDAP、MySQL服务)抢占了资源。可以先临时关闭防火墙(比如执行
ufw disable或者systemctl stop firewalld),停止其他可能干扰的服务,然后重新运行provision命令试试。查看隐藏的日志报错:终端里的日志只输出了一部分,你可以去系统日志目录(比如
/var/log/samba/)或者用journalctl -u samba查看更详细的日志信息,有时候能找到终端没显示的报错,比如权限问题、数据库文件损坏之类的,帮你定位根因。尝试非交互式部署:交互式输入偶尔会有隐藏的问题,你可以试试把所有参数直接写在命令里,跳过交互步骤,比如:
samba-tool domain provision --use-rfc2307 --domain=你的域名 --realm=你的域名后缀.com --adminpass=管理员密码 --server-role=dc
这样避免交互过程中可能出现的异常,看看是否还会卡住。
备注:内容来源于stack exchange,提问作者bas

