Files
aquar-build-helper/details/使用truenasseeker.py脚本自动扫描nfs服务并挂载.md
2023-03-23 16:24:01 +08:00

1.8 KiB
Raw Permalink Blame History

如果你遇到了搬家或者更换路由器的情况你网络中所有的设备都会失去原有的IP地址这会导致Aquar中各个子系统间原本建立起来的关联会全部失效。

truenasseeker.py脚本就是用来解决这个问题的。它在每次开机时会检查系统是否有效地挂载了/opt/aquar/storages/aquarpool目录如果这个目录没有正常挂载则会载局域网中扫描truenas主机并修改ubuntu的nfs配置为最最新地址然后重新挂载这个这个地址。

如果你已经部署了truenasseeker.py但在网络变动后发现docker应用中的存储池数据仍然不见了你可以在ubuntu控制台上以超级用户执行一次aqserv restart命令,或者干脆重启一次机器,再看存储池内容是否恢复了。

1.sudo -i切换超级用户。

2.安装依赖的软件包。

apt install -y nmap
pip install scapy python-nmap pyfunctional

3.将truenasseeker.py脚本拷贝至/opt/aquar/src路径下。

你可以尝试执行python3 /opt/aquar/src/truenasseeker.py命令运行一次看是否会出错,正常情况下它会输出"truenas seeker is no need to do anything."

4.创建/usr/lib/systemd/system/truenas-scan.service配置文件,配置内容如下:

[Unit]
Description=scan local network for truenas
After=docker.service opt-aquar-storages-aquarpool.mount

[Service]
Type=simple
User=root
ExecStart=python3 /opt/aquar/src/truenasseeker.py

[Install]
WantedBy=multi-user.target

5.执行systemctl daemon-reload重载系统服务。

6.执行systemctl enable truenas-scan.service将脚本设置为开机启动。

7.执行systemctl status truenas-scan.service查看服务在loaded那一行是否为enabled。如果是则代表脚本正常部署了。