小编Moh*_*wla的帖子

PXE 在内部网络模式下引导 Virtualbox 来宾?

我不确定这是否只是特定于我的发行版软件包,还是 vbox 限制。因此,任何帮助将不胜感激。

好的,所以我有一个虚拟机网络,其中一个虚拟机充当“内部”网络中其他虚拟机的 NAT。其中一台虚拟机正在运行 DHCP 和 TFTP 服务器,我只需要从该服务器启动其他虚拟机,但是从网络启动时我启动的所有虚拟机是“致命:无法从启动介质读取!系统”停止”。

这有点令人沮丧,因为 vbox 非常易于使用和试验,但我无法解决这个错误。帮助 ?

dhcp ubuntu virtualbox linux-networking pxe-boot

13
推荐指数
1
解决办法
1万
查看次数

Puppet 中的类和定义

尽管我知道我昨天面临的问题的直接解决方案(感谢 IRC #puppet 上的人们),但我仍然不明白它是如何解决问题的,或者更确切地说,在这个特定的类和定义之间的根本区别是什么设想:

原来的定义,这是不正确的:

define srv($name,$enable="true",$ensure="running",$provider="runit",$hasstatus="true",$hasrestart="true"){

                exec {"sleep 5": path=>"/usr/bin:/usr/sbin:/bin:/sbin", before=>Service["$name"],}

                service{"$name":

                    enable=>$enable,
                    ensure=>$ensure,
                    provider=>$provider,
                    hasstatus=>$hasstatus,
                    hasrestart=>$hasrestart,
                } 
                              }
Run Code Online (Sandbox Code Playgroud)

错误:无法从远程服务器检索目录:服务器上的错误 400:重复定义:Exec[sleep 5] 已在文件 /etc/puppet/modules/common/manifests/defines/srv.pp 第 4 行中定义;无法在节点 testing.abc.def.com 上的 /etc/puppet/modules/common/manifests/defines/srv.pp:4 重新定义

正确定义:

define srv($enable="true",$ensure="running",$provider="runit",$hasstatus="true",$hasrestart="true"){

                exec {"sleep 5 for $name": command=>"sleep 5", path=>"/usr/bin:/usr/sbin:/bin:/sbin", before=>Service["$name"],}

                service{"$name":

                    enable=>$enable,
                    ensure=>$ensure,
                    provider=>$provider,
                    hasstatus=>$hasstatus,
                    hasrestart=>$hasrestart,
                }
                              }
Run Code Online (Sandbox Code Playgroud)

那么,为什么在第一种情况下会出现错误?我如何复制定义,或者换句话说,如果有一个使用此定义的模块,那么第一个定义将起作用?也许是文档中的 puppet 术语让我感到困惑,但是编写了大量(工作)模块并且不理解这对我来说听起来很危险,希望我能得到一些明确的答案。

puppet

5
推荐指数
1
解决办法
4638
查看次数

标签 统计

dhcp ×1

linux-networking ×1

puppet ×1

pxe-boot ×1

ubuntu ×1

virtualbox ×1