我想将我正在管理的某个网站的网络托管供应商从“供应商 O”更改为“供应商 N”。我对供应商 O 有疑问。我目前管理的几个网站由供应商 N 托管,一切都很令人满意。
顺便说一句:我管理的所有网站都是非商业性的。因此,保持最低成本至关重要,而且除了使用低成本共享托管之外别无选择。
供应商 O 和供应商 N 都宣传“无限存储”,并且带宽限额对于典型的站点操作来说已经足够了。
迁移到新主机的数据量让我望而却步:55GB 并且还在增长。(数据主要是历史数据的 JPG 格式,而不是色情内容。)似乎需要移动的数据量非常大。(注意:所有这些数据已经在服务器上积累了好几年,而且没有接近整个数据集的异地副本。)显然,使用我的办公室 DSL 从旧服务器下载所有数据并将其上传到新服务器是不切实际的。
两端均可访问 Shell。我一直在研究使用 rsyn、scp 和 tar+wget 等进行直接服务器到服务器传输。(我在 serverfault 上找到了很多关于这些内容的有用帖子。)使用现有的供应商 N 帐户,我运行了一些服务器到服务器的试验,从供应商 O 传输数据。如果我得到的数字具有代表性,那么在全速运行的情况下,传输 55GB 需要数周时间。这个结果看起来合理吗?
我还没有找到太多关于服务器到服务器传输的实际方面的建议。例如,是否建议限制传输以避免占用管道——并引起注意?初步数据显示,试图表现得友好可能会将传输时间延长至数月。或者托管服务是否已经限制带宽,尤其是对于低端帐户?
此外,我还担心供应商功能列表中“无限存储”的定义。供应商 O 并未抱怨 55GB 的数据负载。供应商 N 能接受这么多数据有什么保证?反复阅读供应商 N 的服务协议也无济于事。客户是否允许使用存储空间似乎是他们的判断。如果网站数据只有 1GB,我怀疑他们甚至不会考虑,但我猜 50GB 以上可能会受到一些审查。或者,除了真正令人发指的滥用之外,服务条款在存储使用方面通常不受执行?
我想象的噩梦是花费数周或数月的时间将 95% 的数据传输给供应商 N,然后收到供应商 N 的通知,说“您使用的存储是不允许的”。
我是否正确地阐述了这些问题?我是否忽略了一些非常明显的东西?请提出建议。
短暂性脑缺血发作,
亨利
结果
感谢您的所有建议。首先,我将总结一下:
--许多人建议打电话给新供应商,询问他们大多数这些问题。我过去与技术支持的合作经历通常令人失望,但我了解到,当我详细研究问题时,效果会最好。所以……是的,现在我明白该问什么了,我会打电话。
--有些人建议使用某种形式的 sneaker-net。好主意,我以前从没想过。给他们寄一个磁盘驱动器。新供应商是否愿意为新的共享托管帐户提供这种级别的服务?如果最好的电子转账方式速度慢得令人绝望,那么就值得一问。
--许多人强烈建议进行完整的站点备份。您是在对信徒布道。我完全同意!有些情况超出了我的控制范围...
--人们建议了基于 nc 的各种方法(netcat、synch、sshfs + sync 等等)。其中大多数都不可行,因为旧供应商不支持它们。(离开该供应商的另一个原因!)剩下的唯一候选者是通过 SSH 运行的 scp。旧供应商似乎阻止了任何通过 SSH 连接到新供应商的尝试,但我能够从新供应商的另一个站点使用 scp。
初步测试结果:
使用新供应商的 SCP,我能够实现 3.7MB/s 左右的峰值传输速率——但由于频繁的传输停滞,整体速率要低得多。一组 280 个文件,总重约 1.4GB,大约需要一个小时。粗略地说,这表明整个文件集将需要不到 40 小时才能传输——这看起来非常好。
避免传输停滞对减少传输时间非常有帮助。我没有发现任何规律。传输通常会在传输给定文件的第一个块之前停滞(0%),但在传输过程中的某个时间会随机发生长达 30 秒或更长时间的停滞。有什么想法吗?旧供应商会进行一些限制吗?我是否会与其他客户争夺带宽?
答案1
你可以直接打电话给他们解释情况。他们很可能会允许你全速传输所需的一切,以便开始使用。你花钱将数据托管在那里,他们应该灵活地将数据实际传输到那里。
答案2
确定他们的政策的唯一方法就是询问他们。
您可能还需要考虑运动鞋网。根据他们所在的位置、他们是否能够执行部分服务、如果他们不提供物理访问权限,您是否可以获得物理访问权限以及其他因素,您可能能够使用外部 USB 驱动器进行传输。这肯定比几周或几个月要快得多。他们可能也喜欢它,因为它可以让这些流量远离他们的线路。如果需要,联邦快递很乐意参与。
答案3
同意给他们打电话的建议。
如果您最终通过网络进行传输,请考虑几乎可以肯定的是,需要几天或几周的时间的过程将被中断并重新启动。因此,我倾向于使用诸如 rsync 之类的方法,而不是使用诸如通过管道传输到 netcat 中的 tar 之类的方法。如果您打算制作一个大的 tarfile 进行复制,请不要忘记,这将在传输过程中使两端的当前存储使用量增加大约一倍,并且您的数据集很有可能在传输过程中发生变化,因此您需要某种机制来使用更改来更新远程副本。
此外,听起来你没有备份,这是一场即将发生的灾难。如果您的传输过程将创建数据的额外物理副本(如外部硬盘),请考虑在数据更改时更新该副本。如果您的传输过程将通过网络进行,请考虑使用 Amazon S3(或 Rackspace、Azure 或其他)作为中间目的地和持续备份。低成本托管服务提供商可能无法保证备份您的数据 - 假设他们甚至尝试这样做,这可能过于乐观 - 即使他们偶尔进行备份,如果他们遇到某种悲剧,让您重新启动并运行可能不是首要任务。
答案4
如果某个服务器上有 55 GB 的数据,并且这些数据对我来说非常重要,我会使用 DSL 线路在夜间下载所有数据,不管需要多少个夜晚,以确保我拥有可控制的备份。特别是如果服务器由低成本提供商提供。虽然提供商可能会进行备份,但如果提供商倒闭,这些备份会怎样?
至于提供商之间的传输,我期望速度至少为每秒 1 兆字节。传输 55 GB 需要不到一天的时间。但是你还没有告诉我们你的提供商到底有多便宜。如果你的新提供商提供 shell 访问,你可以使用wget
或ftp
从旧服务器下载文件。