带有 Linux 用户的 LAMP 临时服务器

带有 Linux 用户的 LAMP 临时服务器

我需要拥有一个生产服务器的镜像服务器,以便在实施生产之前可以先在该服务器上测试所有内容。

要镜像生产服务器,我需要将当前的 PHP 代码、上传的文件、数据库和 Linux 机器用户(因为我的 PHP 脚本需要这些帐户和主目录)从生产服务器复制到新服务器,并且每次当我需要在暂存服务器上测试任何东西时,我还需要从生产服务器更新所有这些,因为生产服务器会由用户更新。

我可以手动更新除 Linux 用户及其主目录之外的所有内容,因为它们可能会影响系统。有没有办法在生产机器上创建 Linux 机器用户的同时将其复制到另一台机器,或者是否有任何自动登台系统。

谢谢!

答案1

您应该使用自动化系统管理工具(例如 Puppet 或 Chef)来描述生产系统的配置方式,然后只需告诉 Puppet 在暂存系统上使用相同的清单,即可对您的暂存系统进行相同的配置。这还将使配置更改随时间保持同步。

答案2

我认为您可以使用 P2V(数据库除外),我已经在运行生产 Debian 服务器上完成了这项工作,以将它们部署在 VMWare ESXi 4 上(vmware 只是一个例子),效果很好。对于数据库,cron 中的 mysqldump 可以完成这项工作,或者您可以使用复制,但要小心主 mysql 服务器上的负载。网络文件系统也是一个不错的选择,但前提是测试期间不会修改 php 文件。希望它能有所帮助。

答案3

利用这个机会来测试您的备份/恢复计划。

使用常规备份并恢复到测试机器,无论是在隔离网络中还是在被虚拟网络包围的虚拟机上。

一定要计算恢复系统需要多长时间 - 如果系统完全崩溃,您将需要这些信息来计算停机时间。此外,一定要注意自最近一次备份以来输入了​​多少数据以及输入了哪些类型的数据。

答案4

我认为,重要的一点是两个系统上的 uid 和 gid 编号应该相同,这样您就可以通过 rsync 或甚至 nfs-mount 目录复制文件等。

也许您可以将非系统/非本地用户(uid > 500)存储在 ldap 中,并将两台机器配置为在同一个 ldap 中查找非本地用户?这仍然不会在测试机器上自动创建主目录,但 rsync/nfs 可以处理这个问题。谢谢,

尼克。

相关内容