我在云虚拟机上使用 Perforce Enhanced Studio Pack 设置了 Perforce 服务器,根据官方 Perforce tutorial 进行设置。它使用 AWS CloudFormation 设置 EC2 实例并为仓库、日志和日志设置单独的 EBS 卷。
默认情况下,当虚拟机启动时,它会运行
p4d
根文件夹中的 /p4/1/root/
服务器。不过,我的仓库在/hxdepots/p4/1/root/
。该路径位于 EBS 卷上,安装在 /hxdepots/
,该卷很大、可调整大小、易于备份,而默认根位于虚拟机的内部文件系统上,而虚拟机没有这些功能。
因此,每次必须重新启动虚拟机时,我都必须手动终止服务器,并在不同的根文件夹中重新启动它。有没有办法避免这种情况,并将自启动服务器的默认根文件夹设置到所需的位置?
我假设有一个环境变量,或者一些配置文件?
在增强版工作室包中,文件夹
/p4/1/root
是到 /hxmetadata/p4/1/db1
的符号链接,/p4/ 内的大多数文件夹也是如此,例如 /p4/1/logs
到 /hxlogs/p4/1/logs
卷的符号链接。
如果您运行
ls -la /p4/1/
,您应该会看到其中许多文件夹都是符号链接。
关于快照和备份,有一点很重要。备份Helix Core服务器时,需要备份两个东西:检查点文件和depot文件(注意,这不是数据库本身,而是数据库的检查点)。
对于 ESP,仓库文件存储在符号链接到
/p4/1/depots
的 /hxdepots/p4/1/depots
中,每日检查点创建在符号链接到 /p4/1/checkpoints
的 /hxdepots/p4/1/checkpoints
中。这意味着 /hxdepots 卷的 AWS 快照将包含您从备份恢复所需的所有内容。
/hxlogs 卷还设置为在 AWS 上拥有每日快照,因为这有助于在最坏的情况发生时诊断问题。
希望有帮助!