6.8. 扩展发现镜像
您可以使用自定义事实、软件或设备驱动程序扩展 Satellite 发现镜像。您还可以提供一个压缩存档文件,其中包含要使用的镜像的额外代码。
流程
创建以下目录结构:
. ├── autostart.d │ └── 01_zip.sh ├── bin │ └── ntpdate ├── facts │ └── test.rb └── lib ├── libcrypto.so.1.0.0 └── ruby └── test.rb
-
autostart.d
目录包含在主机注册到 Satellite 之前,由 Discovery 内核按 POSIX 顺序执行的脚本。 -
bin
目录添加到$PATH
变量中;您可以将二进制文件放在此目录中,并在自动启动
脚本中使用它们。 -
事实
目录添加到FACTERLIB
变量,以便配置自定义事实并发送到 Satellite。 -
lib
目录被添加到LD_LIBRARY_PATH
变量中,lib/ruby
被添加到RUBYLIB
变量中,以便正确执行/bin
中的二进制文件。
-
创建目录结构后,使用以下命令创建一个
.zip
文件归档:# zip -r my_extension.zip .
告知发现必须使用的扩展的发现内核。使用 Discovery 镜像将 zip 文件放在 TFTP 服务器上,并使用相对于 TFTP root 的
fdi.zips
参数自定义发现 PXE 引导。例如,如果您在
$TFTP/zip1.zip
和$TFTP/boot/zip2.zip
中有两个存档,请使用以下语法:fdi.zips=zip1.zip,boot/zip2.zip
如需更多信息,请参阅 第 6.3.3 节 “自定义 Discovery PXE 引导”。
您可以将新指令和选项添加到现有环境变量(PATH
、LD_LIBRARY_PATH
、RUBYLIB
和 FACTERLIB
)。如果要在脚本中明确指定路径,.zip
文件内容将提取到镜像上的 /opt/extension
目录中。
您可以创建多个 .zip
文件,但请注意它们被提取到 Discovery 镜像上的相同位置。如果从 .zip
文件包含相同的文件名,则从中提取的文件会覆盖早期版本。