我的 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 插入新机器。