小编Ste*_*ski的帖子

Kickstart:通过 CGI 或 PHP 脚本提供动态 kickstart 图像?

我想启动几十个 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 的代码在哪里?

redhat kickstart provisioning

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

是否可以在没有静态配置的纯 IPv6 环境中运行 pre-Lion OS X?

是否可以在没有静态配置的纯 IPv6 环境中运行 pre-Lion OS X?据我所知,OS X 10.6.x 将通过 SLAAC 获取地址,但它似乎不支持 DHCPv6 或路由器广告中的 RDNSS/DNSSL 选项,这意味着对于名称查找工作之一必须手动配置 DNS 服务器。

有没有其他选择?与本地网络配置工具集成良好的第三方解决方案?我现在正在构建 ISC DHCP 客户端 (4.2.3),它确实支持 DHCPv6,但配置与 OS X 网络首选项窗格正交。

networking ipv6 mac-osx isc-dhcp

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

增加 rsyslog/syslog 精度以包括小数秒?

我使用 syslog 和 rsyslog 来处理我的 Linux 和 FreeBSD 系统上的日志记录。

时间戳目前以秒为单位,但我想增加这些时间戳的精度以包括毫秒。这是否可以使用 syslog 变体,例如 rsyslog(RedHat、Ubuntu)或 FreeBSD 上的 Syslog?

如果我确实增加了日志时间戳以包含微秒,那么这些时间戳有多准确?如果事件发生在 03:37:02:001 ,这是否意味着该事件实际上发生在那个精确的毫秒,或者系统日志写入事件时是否有延迟?

time syslog rsyslog

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

SL6:非标准主目录,错误:登录时无法 chdir 到主目录,但 cd $HOME 有效?

我有一个全新的 Scientific Linux 6 实例(类似于 RHEL6 和 CentOS6),在 Parallels 上运行。

主目录位于非标准位置,我将其称为 /homedir

当我 ssh 进入这个框时,我收到一个错误:

laptop $ ssh 192.168.1.100
stefanl@192.168.1.100's password: 
Could not chdir to home directory /homedir/stefanl: Permission denied
Run Code Online (Sandbox Code Playgroud)

但紧接着我就可以 chdir 到那个目录,没有错误:

[stefanl@localhost /]$ cd /homedir/stefanl
[stefanl@localhost ~]$ touch foo
[stefanl@localhost ~]$ ls -la
total 28
drwx------. 3 stefanl wheel   4096 Sep 14 17:53 .
drwxr-xr-x. 5 root    root    4096 Sep 14 17:16 ..
-rw-------. 1 stefanl stefanl  303 Sep 14 18:16 .bash_history
-rw-r--r--. 1 stefanl stefanl   18 May …
Run Code Online (Sandbox Code Playgroud)

rhel6 scientific-linux

4
推荐指数
1
解决办法
4328
查看次数

我可以使用 SSH 隧道作为 VPN 替代品吗?

我在家工作。

我需要访问办公室里的机器。办公室有一个私有局域网(例如192.168.0.0/16),上面有100台机器。我希望能够在家中访问这些机器。

我们在 gateway.example.org 上有一台可用的 SSH 堡垒(SSH 网关)主机,我们可以将其用于 SSH 隧道。

这就是我想做的:

  1. 从家通过 SSH 访问 gateway.example.org 。不知何故,我需要设置适当的隧道(SSH隧道、SOCKS代理等)
  2. 如果请求是针对 192.168.0.0/16 上的 IP,则强制它通过隧道或代理。
  3. 如果请求的 IP 与 192.168.0.0/16 网络不匹配,则不要使用代理。有些人使用 ssh 来传输所有 TCP 流量。但我只想将请求代理到 192.168.0.0/16 网络。

我可以使用 SSH 转发或代理来执行此操作吗?

我可以在 Linux/Unix 上使用带有 SSH动态端口转发和 OpenSSH 的 SOCKS 代理(PuTTY 支持类似的功能):

ssh -v -D 3333  gateway.example.org.
Run Code Online (Sandbox Code Playgroud)

但这仅适用于网络浏览器和其他一些支持 SOCKS 的应用程序。

我还想强制一些其他流量(VNC 端口 5900/5901)通过代理。特别是,我试图弄清楚如何让 Dell DRAC 和应用程序以及 Supermicro IPMI KVM-over-LAN 通过此 SSH 隧道工作。

我目前正在使用 Mac(雪豹)笔记本电脑,尽管我正在寻找可在多个操作系统上运行的更通用的网络概念。

ssh proxy

4
推荐指数
1
解决办法
6184
查看次数

Linux:为什么单用户模式可以在串行控制台上运行,而不能在连接的键盘/视频/显示器上运行?

我有一个 Scientific Linux 6.1 系统,它在支持 IPMI 的 Supermicro 服务器上。它还与 Upstart 一起运行,这会影响串行控制台的工作方式。

我的系统有一个严重的问题,需要我登录到单用户模式来执行一些维护。我站在连接到服务器(VGA 控制台)的 KVM 前面,我可以看到所有 BIOS 和启动消息。启动顺序经过这些动作,然后告诉我文件系统损坏,仅此而已。我从来没有收到登录框的提示,屏幕上也没有任何关于维护模式的信息。

我终于使用串口控制台连接到主机,看到如下提示:

* An error occurred during the file system check.
*** Dropping you to a shell; the system will reboot
*** when you leave the shell.
Give root password for maintenance
(or type Control-D to continue):
Run Code Online (Sandbox Code Playgroud)
  1. 为什么此单用户模式提示仅出现在串行控制台上?
  2. 更重要的是,我可以让它同时出现在串行控制台和连接的键盘/视频/显示器上吗?

我的内核命令行是这样的:

kernel /boot/vmlinuz-2.6.32-131.17.1.el6.x86_64 ro root=UUID=blah-blah-blah  KEYBOARDTYPE=pc KEYTABLE=us console=tty0 crashkernel=auto console=ttyS2,115200n8r
Run Code Online (Sandbox Code Playgroud)

linux ipmi keyboard-video-mouse

4
推荐指数
1
解决办法
1934
查看次数

Bash 脚本不能作为 cron 工作

我有以下shell脚本

$cat capture.sh 
TIME=$(date +"%H-%M-%d-%m-%y") 
IP="203.208.198.29" 
PREFIX=$TIME$IP 
tshark  -f "udp" -i eth0 -w /root/captures/$PREFIX.cap& 
pid=$! 
sleep 2m 
kill $pid 
Run Code Online (Sandbox Code Playgroud)

当我从 shell 执行它时它运行良好。

但是当我将它添加到 cron 选项卡时,什么也没有发生。

我的 crontab 条目:1 */2 * 2 3,4,5 sh /root/capture.sh

tail /var/log/cron 
Run Code Online (Sandbox Code Playgroud)

显示命令已执行。

但什么也没有发生。我已经为 capture.sh 设置了“all”的可执行权限,并为 /root/captures 目录设置了“all”的写权限。

提前致谢

linux unix bash cron

4
推荐指数
1
解决办法
2545
查看次数

yum-plugin-priorities:由于存储库优先级保护,哪些包被排除在外?

我正在使用多个第三方 RPM 存储库。由于这些存储库包含名称冲突的包,我正在尝试使用yum-plugin-priorities来解决混淆。

当我运行时yum check-update,我收到一条通知,指出“由于存储库优先级保护而排除了 N 个包”:

[root@host ~]# yum check-update
Loaded plugins: changelog, downloadonly, fastestmirror, priorities, security
Loading mirror speeds from cached hostfile
3941 packages excluded due to repository priority protections
[root@host ~]#
Run Code Online (Sandbox Code Playgroud)

3941 排除包?天哪,这比我预期的要多得多。有没有一种快速的方法可以让我检查哪些软件包被排除在考虑之外,以便我可以仔细检查 yum 在做什么?

我试过了--disableplugin=priorities,但它没有向我显示排除的包。

[root@host ~]# yum check-update --disableplugin=priorities
Loaded plugins: changelog, downloadonly, fastestmirror, security
Loading mirror speeds from cached hostfile
[root@host ~]#
Run Code Online (Sandbox Code Playgroud)

linux redhat yum

4
推荐指数
1
解决办法
8528
查看次数

Linux命令查找和删除某些文件,但输出结果或详细模式?

所以我在我的存储服务器上使用这些命令来清理一些垃圾,但它不会产生任何输出或结果。我在网上找到了语法,只是修改了我需要的文件。我还需要添加什么才能查看最后实际删除或总计的内容?最终这将是一个自动运行的脚本,但现在我正在手动运行命令。提前致谢!

find . -name .DS_Store -printf \"%p\"\ \  | xargs rm 
find . -name ._.DS_Store -printf \"%p\"\ \  | xargs rm 
find . -name Thumbs.db -printf \"%p\"\ \  | xargs rm
find . -name ._Thumbs.db -printf \"%p\"\ \  | xargs rm
Run Code Online (Sandbox Code Playgroud)

scripting linux bash

4
推荐指数
2
解决办法
9476
查看次数

在没有共享存储的情况下是否可以实现 OpenStack 实时迁移?

像许多人一样,我正在考虑使用 OpenStack 或 VMware 创建“私有云”。

VMware vMotion 有一个很好的功能,即使没有共享存储,它也允许虚拟机的实时迁移。我在实验室环境中尝试过这个功能,效果很好。此功能并非没有缺点,但它对需要简单 VM 环境且不想因共享存储的复杂性和费用而感到紧张的站点很有吸引力。共享存储可以轻松地使虚拟/云基础架构的成本增加 50-10 万美元。有关此功能的更多信息,请访问:

使用 KVM 的 OpenStack 是否提供类似的功能?OpenStack 可以在没有共享存储的情况下进行实时迁移吗?KVM 是 OpenStack 的默认管理程序,除非有令人信服的理由使用其他东西,否则我们更愿意坚持使用默认设置。

virtualization virtual-machines vmware-esxi openstack kvm-virtualization

4
推荐指数
1
解决办法
3411
查看次数