将服务器配置迁移到新机器

将服务器配置迁移到新机器

我的 VServer(Ubuntu 14.04)存在一些问题,这里和主机提供商都建议我重新安装操作系统。

我原本计划克隆所有配置、已安装的软件包等,当然除了少数有故障的。我找到了很多关于如何迁移操作系统不同部分的说明,但没有完整的操作方法/脚本。由于我对这个事实感到非常惊讶,我想知道是否有人知道。

它应该包括:

  • 用户
  • /ETC
  • 已安装
  • /var/www
  • /var/vmail
  • /选择
  • 数据库:mysql 和 postgresql
  • ETC。

限制是:

  • 服务器没有相同的硬件
  • 我无法在源系统上安装软件包
  • 仅 ssh 访问

答案1

根据我多年使用真实硬件或云实例的经验,我建议您不要尝试从旧安装中复制配置,除非它是真正特殊的东西。

另外,现在是 2016/12,我不会建议您继续使用 Ubuntu 14.04,除非您真的几乎不依赖这个版本。

我有适用于不同类型实例的“基本脚本”,包括我需要的所有基本包和设置 - 类似于“Dockerfile”的所有安装步骤。它包括“必备”包,并确保您在创建新机器时拥有稳定的环境。

我真正克隆现有实例的唯一情况是 GCE 上的新 mysql 副本,因为它节省了大量时间并且所有副本都应该是相同的。

因此,尽管听起来很愚蠢,我还是建议您“从头开始创建机器”。因为如果您无法解决旧机器上的问题,那么最终您很可能会重复至少一些问题以及旧配置。

还有一件事 - 通常,在一台机器或实例上运行 mysql 和 postgresql 并不是一个好主意,除非这些数据库非常小且使用率不高。这两个数据库在内存和磁盘方面的工作策略截然不同,要想从这两个数据库获得良好的性能,您需要对它们的设置进行一些调整。

答案2

克隆整个服务器通常不是正确的方法。那只会克隆所有的问题。通常采用的方法如下

  • 建立新服务器
  • 安装所需软件
  • 克隆数据

如果您希望能够长期大规模地管理此服务器和其他服务器的配置,并能够在需要时快速将整个系统迁移到新系统,我强烈建议您使用现代配置管理工具,该工具旨在自动部署和构建新服务器。我想到的是 Chef、Puppet 和 Ansible。但我推荐 Ansible,因为它易于使用且无需代理即可运行。

您的问题缺少一些重要细节,例如这是否是托管在某处的虚拟机、安装了什么软件、服务器如何使用。这些细节可能需要人们改变构建新系统的方法。

答案3

Clonezilla 可以完成这项工作,通过 USB 连接您的新机器 HDD,然后通过 clonezilla CD 启动,按照说明将源 HDD 克隆到外部 USB。小心并确保将正确的 HDD 克隆到正确的源。克隆完成后,将您的 HDD 插入新机器。

相关内容