我注意到一些嵌入式设备(例如在 Busybox 上运行的OpenWRT)使用 rdate 来设置系统时间,而不是 NTP。Rdate 是一个较旧的时间协议,我在美国找不到任何可用的 rdate 服务器。
rdate 是否可以将时间与 NTP 时间服务器同步?
我正在使用 CentOS 5.5。
我从 CentOS.org 安装了 mysql-server RPM。我相信这个 RPM 应该创建一个名为“mysql”的用户。但是,该用户不存在。
如何查看 RPM 的内容以查看它是否尝试创建用户或组?
我在具有多个服务器的环境中运行 Nagios,每个服务器上都有多个服务。有一些自定义检查,但如果可能,最好使用现有检查。我正在使用 NRPE 插件 check check_disk来检查每个挂载的文件系统的利用率:
command[check_all_disks]=/usr/lib/nagios/plugins/check_disk -w 10% -c 5% -p / -p /var -C -u GB -w 200 -c 100 -r '^/mounts[^/]+$'
Run Code Online (Sandbox Code Playgroud)
将所有这些检查为单个服务(“磁盘”)很方便,但是当其中一个进入警告模式时,很难读取状态信息行中的输出:
DISK WARNING - free space: / 6 GB (9% inode=92%): /var 125 GB (67% inode=99%): /mounts/vol0 1152 GB (16% inode=99%): /mounts/vol1 1096 GB (15% inode=99%): /mounts/vol2 126 GB (1% inode=99%): /mounts/vol3 228 GB (3% inode=99%): /mounts/vol4 3245 GB (44% inode=99%): /mounts/vol5 108 GB (1% inode=99%):
Run Code Online (Sandbox Code Playgroud)
在上述情况下,检查是警告,因为 /、/mounts/vol2 和 /mounts/vol5 低于阈值。操作员必须遍历每个值才能找到超出设定水平的值。此外,如果一个处于关键状态而其他处于警告状态,那么通过标记它们或将它们放在不同的行上以不同的方式显示它们会很好。
有没有一种直接的方法可以做到这一点,而无需为每个挂载点创建一个新命令?或者我是否错过了 Nagios 魔法的其他一些基本方法来使这种友好?
我想启动几十个 RHEL6/SL6 服务器。但是,其中一些服务器是不同的,我不想为每类服务器创建一个新的 ks.cfg 文件。
有什么方法可以从模板动态生成 Kickstart 文件?
例如,如果我将这样的行附加到内核:
APPEND ks=http://192.168.1.100/cgi-bin/ks.cgi ip=dhcp
Run Code Online (Sandbox Code Playgroud)
然后脚本 ks.cgi 可以确定这是什么主机(通过 MAC 地址),并打印出适合该主机的 Kickstart 选项。我可以通过将参数传递给脚本来选择性地覆盖一些选项,如下所示:
APPEND ks=http://192.168.1.100/cgi-bin/ks.cgi?NODETYPE=production&IP=192.168.2.80
Run Code Online (Sandbox Code Playgroud)
在我们启动服务器之后,我们在这个系统上激活 Cfengine/Puppet 并使用我们最喜欢的配置管理产品来管理系统。
我们正在试验xCAT,但事实证明它太麻烦了。我已经研究过Cobbler,但我不确定它是否这样做。
更新:
在 O'Reilly 的书:Managing RPM-Based Systems with Kickstart and Yum,第 3 章自定义您的 Kickstart 安装 > 动态 ks.cfg 中讨论了您自己的解决方案,这与此线程中的一些评论相呼应:
实现这样的工具超出了这个 Short Cut 的范围,但我可以完成高级设计。任何此类解决方案都会将数据存储(发生变化的事物)与模板解决方案(不变的事物)混合在一起。数据存储将保存每台机器的数据,例如 IP 地址和主机名。您还需要一个唯一标识符,可能是主机名,以便您可以获取给定机器的数据。数据存储可以是平面文件、XML 数据或关系数据库,例如 PostgreSQL 或 MySQL。
反过来,为了调用系统,您将机器的唯一标识符作为 URL 参数传递。例如:
启动:linux ks= http://your.kickstart.server/gen_config?host-server25
在此示例中,CGI(或 servlet,或其他)为机器 server25 生成 ks.cfg。
但是 ks.cgi 的代码在哪里?
是否可以在没有静态配置的纯 IPv6 环境中运行 pre-Lion OS X?据我所知,OS X 10.6.x 将通过 SLAAC 获取地址,但它似乎不支持 DHCPv6 或路由器广告中的 RDNSS/DNSSL 选项,这意味着对于名称查找工作之一必须手动配置 DNS 服务器。
有没有其他选择?与本地网络配置工具集成良好的第三方解决方案?我现在正在构建 ISC DHCP 客户端 (4.2.3),它确实支持 DHCPv6,但配置与 OS X 网络首选项窗格正交。
我正在运行 FreeBSD 8.2-RELEASE。该机器是带有IPMI 2.0 子板的Supermicro 5015M。
当我启动这台主机时,启动过程进行得很好。我看到了 BIOS、RAID BIOS、第一和第二阶段引导加载程序以及第三阶段 /boot/loader。这些看起来都很好,速度也没有问题。
然后,系统以大约 1 bps 的速度从内核打印加载内核和消息。这是 IPMI KVM-over-LAN 的视频。当使用连接到机器的物理键盘视频鼠标时,我也看到了这一点。
BIOS 控制台重定向设置为 115200 bps。
来自/boot/loader.conf和的相关设置/boot/device.hints:
boot_multicons=YES
boot_serial=YES
comconsole_speed=115200
console=comconsole,vidconsole
hint.uart.1.flags=0x10
hint.uart.1.port=0x2F8
Run Code Online (Sandbox Code Playgroud)
我已停用 boot_multicons、boot_serial,将 comconsole_speed 设置为各种值,将控制台更改为各种值等。没有任何效果。就好像内核忽略了我在加载器中输入的设置。我什至在 BIOS 中更改了端口速度。
知道为什么会这样吗?
看起来 FreeBSD 正在向视频控制台打印字符,但是以适合串行控制台的速度打印字符,并且错误地假设我的串行控制台配置为 1 bps。
我有几十个使用 Supermicro Embedded BMC 的Supermicro 服务器。该页面上的文档表明我可以通过 SSH 访问 LAN 上串行(串行控制台):
SMASH 和 CLP 支持
Run Code Online (Sandbox Code Playgroud)SSH based SOL Power control of the server
但是当我通过 ssh 进入我的 BMC 时,我看到的只是一个 Busybox 实现,没有明确的连接到 SOL 的能力:
# ssh 192.168.100.100 -l ADMIN
ADMIN@192.168.100.100's password:
BusyBox v1.1.3 (2011.02.12-01:48+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.
# show
-sh: show: not found
# smash
-sh: smash: not found
Run Code Online (Sandbox Code Playgroud)
Supermicro 支持给了我不一致的答案。是否可以通过 SSH 接口连接到 SOL?
我在 Supermicro 盒子上配置 IPMI 接口时遇到了非常令人沮丧的问题。
\n\n不幸的是,对于 IPMI,并不总是清楚 BMC 使用哪个接口。Supermicro嵌入式 BMC 手册指出,活动接口是在初始通电期间确定的:
\n\n\n\n\n注 1:如果您希望使用 IPMI 专用 LAN 端口进行网络连接,请务必在激活 BMC 之前将 RJ45 电缆连接到您的专用 LAN 端口(在 \xef\xac\x81rst power-开或\n冷重置)。否则,如果在 BMC 激活时未检测到 IPMI 专用 LAN 电缆,BMC 将查找要连接的共享 LAN 端口。
\n
ipmitool判断该系统是使用 IPMI 专用 LAN 端口还是共享 LAN 端口吗?ipmitool来查看链接是否已打开吗?为了进行比较,很容易查看 Linux 上的链接是否已打开 - 只需使用ifconfigorip addr并查找“UP”标志即可。有与 等效的吗ipmitool?一些细节:
\n\nipmitool lan print …我们在大学环境中有两个 Postfix 邮件服务器。有数千台服务器由十几个不同的组管理,我并不控制所有的主机。这些服务器使用我的邮件服务器作为智能主机或使用 MX 记录来路由电子邮件。
几台服务器不断发送电子邮件,其发件人地址如下:
cfengine@host.example.org
Run Code Online (Sandbox Code Playgroud)
这些电子邮件被发送到无效地址,因此被退回。但由于“发件人:”地址也无效,因此电子邮件在几天内陷入无限的退回循环。
如果我列出后缀队列,postqueue -p会显示数百条消息,如下所示:
ABCD7301713E 3799 Tue Mar 5 05:20:35 MAILER-DAEMON
(delivery temporarily suspended: connect to host.example.org[192.168.100.100]:25: Connection refused)
cfengine@host.example.org
Run Code Online (Sandbox Code Playgroud)
在我的 /etc/hosts 文件中,有两行:
127.0.0.1 localhost
127.0.1.1 hostname
Run Code Online (Sandbox Code Playgroud)
这两行有什么区别,在哪里可以找到主机名?