写点什么

FAI:Linux 的自动安装、管理和自定义工具

  • 2010-04-03
  • 本文字数:1727 字

    阅读完需:约 6 分钟

FAI(Fully Automatic Installation,完全自动安装)是一种无须交互就可以完成那些重复性枯燥乏味的、常常需要手动完成的 Linux 安装、自定义以及管理任务的自动化系统。现如今,FAI 被用户维护假根环境 ( chroot environments ),虚拟机以及服务器。它可以完成从几个独立系统到基于大规模基础设施和有数千个系统组成的集群系统的部署和安装。

系统管理员可以利用配置空间在FAI 中定义硬盘布局、文件系统、软件包、键盘布局、时区、用户帐号等等,参见** FAI 的网站:**

[FAI 是] 一个用来管理大量无需监护的 Linux 系统安装的工具。你只需要打开一台或者多台裸机的电源,几分钟后,系统就被安装成功,并根据你的需要配置好,无需交互。

与可以基本实现安装过程自动化的 Debian 安装程序 Preseeding 相比,FAI 还能够实现上线、部署、系统启动 (Provisioning)、并能在一定程度上实现配置管理的自动化。

上个星期在德国克姆尼茨Linux 日上InfoQ 有机会遇到了Thomas Lange。他是FAI 的项目主管,刚刚发布了它的3.3.4 版本。

Info 向 Thomas 询问了有关他的 IT 背景情况:

我先是在波恩大学学习计算机科学,后来我做了超过 18 年的系统管理员。十年前,有一次我需要安装一个 16 台电脑的集群。我一向比较懒(我认为自己是一个比较典型的系统管理员),我不想手动安装这么多电脑。那时候我了解并使用了 Solaris 的 Jumpstart 来部署 Solaris 系统,我想做一个跟 Debian 类似的东西。最后就做出了今天的 FAI。为了能够偷懒,我花了很大的功夫。:) 但是现在你可以完全自动地部署您的系统。到 2009 年底,FAI 已经十岁了。

当被问及 FAI 的最重要以及最有趣的功能,Lange 谈到:

FAI 具有很高的灵活性。你不会被那些工具自己认为最适合你的东西所束缚(译者注:工具根据自己的智能确定了一些最佳配置,然后强制给管理员)。相反,根据自己的需要你可以调整并创建脚本,钩子和配置来扩展部署过程。这对初学者来说有一定的困难,但是对熟悉 FAI 的系统管理员来说,这就像瑞士军刀那样好用。 比如 FAI 的 Setup-storage 就是一个很灵活的分区工具组件。尽管也可以指定分区的大小,其实您完全没有必要那样做。你只需要告诉 FAI,比如用 10% 的硬盘空间作为跟文件系统,2-4GB 作为交换空间,剩下的作为数据分区。这个功能为逻辑卷管理以及软件 RAID 提供了很好的支持。

在设计和实现 FAI 的时候,易读易修改的配置格式对我来说来说十分重要。我认为系统管理员一般不太喜欢 XML。为了能够存放到版本控制系统,而且易读易修改,FAI 采用了很简单的配置文件。

另一个很重要的功能是基于类的方式。没有必要在把所有的配置放到一个文件里面,你可以抽象出硬件及软件的配置。在整个系统中都会使用的部分可以放到基类里面。你可以根据架构、现有的硬件和软件配置按需激活特定的功能。当然这也适用于软件的选择。因此你可以很方便地提供一个基类,里面包括在所有主机上都需要安装的基本软件包,同时对于您可以在桌面系统上添加其他与服务器系统不同的软件包。

有经验的高级系统管理员可以实现最初的类设计。初级系统管理员可以执行实际的部署任务包括安装硬件、集成新的硬件…等等。这种基于类方式的灵活性使得 FAI 能够在企业里得到广泛的应用。

谈到使用 FAI 必要条件,Lange 解释到:

为了使用 FAI 进行部署,你需要 DHCP, NFS, HTTP 和 TFTP 服务器,当然还需要 FAI 软件。具体了解如何使用 FAI,我强烈建议你去看一下网上的 FAI 指南

为了让用户对未来 FAI 的新功能有一个了解,InfoQ 向 Lange 询问了 FAI 以后版本的路线图:

在接下来的版本中,我希望看到一个面向 Ubuntu 的不错的 Debian 软件包,从而支持 Ubuntu 桌面系统的部署。我们正在把存储配置从组件中独立出来,因此可以在 FAI 以外使用这一部分功能。另外,我还希望尽快能够支持 Grub2。

在访谈的最后,Thomas Lange 还想告诉 InfoQ 的读者们:

我希望大家注意 FAI 的用户报告。我鼓励 FAI 的用户去填写 FAI 的网上问卷,我们想知道我们的用户是谁,他们都使用哪些功能,他们遇到了哪些问题。正是因为关注用户以及他们的反馈,FAI 发展成为一个相当不错的发布解决方案。请给我们提供反馈并分享您的想法。

查看英文原文: FAI: Automated Install, Management and Customization for Linux

2010-04-03 11:103881

评论

发布
暂无评论
发现更多内容

File Juicer for Mac(Mac文件数据提取工具) v4.100中文注册版

Mac相关知识分享

做小程序生态有哪些优点?

Geek_2305a8

海外社媒引流策略及云手机的应用

Ogcloud

云手机 海外云手机 跨境电商云手机 云手机群控 云手机推荐

Meta SAM 2:实时分割图片和视频中对象;Apple Intelligence 首个开发者测试版发布丨 RTE 开发者日报

声网

怎样用云手机进行海外推广营销

Ogcloud

云手机 海外云手机 云手机群控 海外社媒营销 海外营销推广

在线小工具用得好,工资直接翻一倍

伤感汤姆布利柏

NFTScan 正式上线 ERC404 浏览器和 NFT API 数据服务

NFT Research

NFT\ NFTScan ERC404

施工项目必备:7款顶级管理系统深度评测

爱吃小舅的鱼

项目管理 项目进度管理 项目进度管理软件 施工项目管理

创新技术无用、无脑梭哈Meme:本轮加密牛市的价值体系崩塌?

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

网安科班精选!爱荷华大学教授的网络安全零基础入门教程!

我再BUG界嘎嘎乱杀

网络安全 安全 网络协议 WEB安全 网安

springboot的轻量替代框架-Solon

源字节1号

开源

比特币破新高了,然后接下来空虚了

区块链项目一站式包装孵化

云原生代表技术(1)-不可变基础设施

虚实的星空

简析漏洞生命周期管理的价值与关键要求

我再BUG界嘎嘎乱杀

网络安全 安全 漏洞 网安

Native Instruments Kontakt 7 for Mac(苹果专业音频采样器)激活版

Mac相关知识分享

macOS Sequoia 15(Macos15系统) v15.0 Beta 4测试版本

Mac相关知识分享

Aiseesoft Video Repair for Mac(视频修复工具) v1.0.22激活版

Mac相关知识分享

仓颉编程语言技术指南:嵌套函数、Lambda 表达式、闭包

EquatorCoco

Java JavaScript 前端

Java代码实现七夕魔方照片墙

不在线第一只蜗牛

Java 代码

项目进度管理指南:9款顶尖项目进度计划平台

爱吃小舅的鱼

项目管理 项目进度管理 项目进度管理软件

大咖公开课 | 大模型场景讲解以及测试方法

测吧(北京)科技有限公司

测试

FAI:Linux的自动安装、管理和自定义工具_技术管理_Michael Prokop_InfoQ精选文章