服务配置迁移工具

服务配置迁移工具

是否有一个工具可以处理配置的通用迁移?例如,如果我有 httpd、postfix、MySQL 以及用户和组数据,是否有一个工具可以提取每个服务的配置数据,以便我可以将其应用到另一个系统上。

一般来说,是否有一个工具(或策略)可以为所有服务处理这个问题?

答案1

此问题的一种流行的公认解决方案是使用配置管理系统。一些例子是木偶,厨师, 和盐堆

这些系统允许您准确定义服务器(或在某些情况下应用程序堆栈)的外观。使用这些工具您可以定义服务器的状态,包括其配置。

下面是使用 Puppet 和模块进行非常基本的 apache 配置的示例puppetlabs/apache

class { 'apache': }
apache::vhost { 'first.example.com':
  port    => '80',
  docroot => '/var/www/first',
}

这个简单的木偶代码可确保以下内容:

  • 服务器上安装了 Apache
  • 网络服务器正在运行并侦听端口 80
  • 包含带有文档根的虚拟主机/var/www/first

然后,您可以将此清单应用到集群中的许多服务器。转向这种类型的配置而不是手动复制配置文件的原因有很多。它处理服务器配置和基础设施的方式与处理代码的方式非常相似。

  • 这些系统的配置通常存储在版本控制中。这使您可以轻松查看更改、回滚等
  • 您的服务器状态可以进行单元测试和验收测试
  • 共享模块就像代码库一样工作 - 您不需要重新发明轮子
  • 您的服务器以可重复(且更可靠)的方式配置

许多人认为使用这些系统是开发运营移动。

相关内容