Linode VPS 的一个很酷的功能是能够克隆整个服务器并将其副本移动到新的 Linode 服务器。这样,您就可以拥有一个可以以零差异镜像您的生产的测试服务器。这在测试新事物时尤其酷,而不必担心会破坏您的生产服务器(ehem -php upgrade on aegir 任何人...)我不是在谈论 aegir 中的子站点,而是整个 Aegir 实例。将其克隆到另一台服务器,并在不同的 IP 地址下启动它。所以很自然地,我真的很想克隆我的整个生产实例,并在不同的 IP/域名下将其作为测试服务器启动。我正在尝试找出一个可重复的过程来设置一个类似于我的生产服务器的时间点快照的测试服务器。
听起来简单明了,对吧?不。我想这都是埃吉尔的错,但不确定。我只知道我无法让它工作。
我有(CentOS 5.8、Apache、运行 Aegir 的 PHP 5.2 和大约 6 个运行主 URL 子域的开放式中庭站点)。正如我所提到的,我希望当前生产和这个新的测试 Linode 之间没有任何变化。Linode 的克隆/备份功能似乎在理论上可以实现这一点,但由于所有配置都设置为我的生产站点,我无法启动测试服务器。我知道我不能只从生产服务器的恢复卷启动我的测试 linode 服务器(不同的 IP 地址),因为所有设置都与我的生产站点匹配,并且会发生不好的事情,例如测试站点上的 SQL 尝试连接到我的生产站点等。到目前为止,我所做的非常简单:
将我的生产 linode 卷/配置文件恢复到新的 linode VPS(同一数据中心) 通过 GoDaddy,我已将测试域名指向 Linode VPS 地址。我在 /etc/sysconfig/network 中更改为新域名 我在 var/aegir/config/server_master/apache/vhostd/example.com 中更改为新 IP 地址 我在 /etc/httpd/conf.d/aegir.conf 中更改为新 IP 地址 我以为就这样了,我只需输入测试服务器 URL,然后就可以开始做事了。但事实并非如此 :( 我认为第一个线索是我没有在 ifcfg-eth) 文件中设置静态 IP。相反,它显示 BOOTPROTO=dhcp
我简直不敢相信更改 Linode 克隆的 IP 地址竟然如此神秘……我以为这很简单,只需将测试域名指向测试 linode ip 地址,添加几个名称服务器,然后粘贴新的 IP 地址即可。但看起来 aegir 的接线方式有些奇怪。
退一步说,这里唯一不同的是我的 IP 地址...这有点像复制一个叫“Bill”的人,然后给他改名为“Tom”,但两者的其他一切都是一样的。那么有没有一种简单的方法可以让 cento/aegir 实现这一点?
有什么想法?涉及哪些步骤?越详细越好。谢谢!
答案1
http://library.linode.com/migration/migrate-server-to-linode#sph_configuring-the-disk-images
在仍然处于救援模式的 Linode 上,输入以下命令来更改目录:
cd /media/xvda
现在输入以下命令来替换旧 IP 地址的所有实例。确保用新 IP 地址替换旧 IP 地址的所有实例。在此示例中,98.76.54.32 是旧 IP 地址,12.34.56.78 是 Linode 的 IP 地址:
find ./ -type f -exec sed -i 's/98\.76\.54\.32/12\.34\.56\.78/' {} \;
整个已安装的文件系统将以递归方式搜索您的旧 IP 地址的任何实例。请注意,此替换操作可能需要一段时间才能完成。