02-自动化装机工具-cobbler¶
cobbler基础知识¶
Cobbler介绍¶
Cobbler是一个Linux服务器安装的服务,可以通过网络启动(PXE)的方式来快速安装、重装物理服务器和虚拟机,同时还可以管理DHCP,DNS等。
Cobbler可以使用命令行方式管理,也提供了基于Web的界面管理工具(cobbler-web),还提供了API接口,可以方便二次开发使用。
Cobbler是较早前的kickstart的升级版,优点是比较容易配置,还自带web界面比较易于管理。
Cobbler内置了一个轻量级配置管理系统,但它也支持和其它配置管理系统集成,如Puppet,暂时不支持SaltStack。
Cobbler官网:https://fedorahosted.org/cobbler/
Cobbler的服务¶
PXE服务支持
DHCP服务管理
DNS服务管理(可选bind,dnsmasq)
电源管理
Kickstart服务支持
YUM仓库管理
TFTP(PXE启动时需要)
Apache(提供kickstart的安装源,并提供定制化的kickstart配置)
cobbler系统环境¶
系统环境¶
[root@linux-node1 ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
网络环境¶
注意:
虚拟机网卡采用NAT模式,不要使用桥接模式,因为稍后我们会搭建DHCP服务器,在同一局域网多个DHCP服务会有冲突。
VMware的NAT模式的dhcp服务也关闭,避免干扰。
Cobbler安装配置¶
安装Cobbler¶
yum开始安装软件包
yum -y install cobbler cobbler-web dhcp tftp-server pykickstart httpd xinetd python-ctypes tftp lrzsz vim wget
开始启动服务
systemctl start httpd
systemctl start cobblerd
检查cobbler
cobbler check
配置文件说明¶
[root@linux-node1 ~]# rpm -ql cobbler # 查看安装的文件,下面列出部分。
/etc/cobbler # 配置文件目录
/etc/cobbler/settings # cobbler主配置文件,这个文件是YAML格式,Cobbler是python写的程序。
/etc/cobbler/dhcp.template # DHCP服务的配置模板
/etc/cobbler/tftpd.template # tftp服务的配置模板
/etc/cobbler/rsync.template # rsync服务的配置模板
/etc/cobbler/iso # iso模板配置文件目录
/etc/cobbler/pxe # pxe模板文件目录
/etc/cobbler/power # 电源的配置文件目录
/etc/cobbler/users.conf # Web服务授权配置文件
/etc/cobbler/users.digest #用于web访问的用户名密码配置文件
/etc/cobbler/dnsmasq.template #DNS服务的配置模板
/etc/cobbler/modules.conf # Cobbler模块配置文件
/var/lib/cobbler # Cobbler数据目录
/var/lib/cobbler/config #配置文件
/var/lib/cobbler/kickstarts # 默认存放kickstart文件
/var/lib/cobbler/loaders # 存放的各种引导程序
/var/www/cobbler # 系统安装镜像目录
/var/www/cobbler/ks_mirror # 导入的系统镜像列表
/var/www/cobbler/images # 导入的系统镜像启动文件
/var/www/cobbler/repo_mirror # yum源存储目录
/var/log/cobbler # 日志目录
/var/log/cobbler/install.log # 客户端系统安装日志
/var/log/cobbler/cobbler.log # cobbler日志
配置Cobbler¶
1.修改常见配置文件
IPADDR=192.168.1.212
sed -i 's/server: 127.0.0.1/server: '${IPADDR}'/' /etc/cobbler/settings && grep "server: ${IPADDR}" /etc/cobbler/settings
sed -i 's/next_server: 127.0.0.1/next_server: '${IPADDR}'/' /etc/cobbler/settings && grep "next_server: ${IPADDR}" /etc/cobbler/settings
sed -i 's/manage_dhcp: 0/manage_dhcp: 1/' /etc/cobbler/settings && grep 'manage_dhcp: 1' /etc/cobbler/settings
sed -i 's/pxe_just_once: 0/pxe_just_once: 1/' /etc/cobbler/settings && grep 'pxe_just_once: 1' /etc/cobbler/settings
sed -i "s#manage_rsync: 0#manage_rsync: 1#g" /etc/cobbler/settings && grep "manage_rsync: 1" /etc/cobbler/settings
2.设置新装系统的默认root密码123456
[root@Cobbler ~]# vim /etc/cobbler/settings
#最终修改的结果
default_password_crypted: "$1$root$j0bp.KLPyr.u9kgQ428D10"
#生产秘钥的方式
openssl passwd -1 -salt 'root' '123456'
3.下载文件,如果网速慢可以上传
cobbler get-loaders
cd /var/lib/cobbler/loaders/
tar xf cobbler-get-loaders.tar.gz
mv cobbler-get-loaders/* .
rm -fr cobbler-get-loaders cobbler-get-loaders.tar.gz
4.修改tftp的参数
[root@Cobbler loaders]# vi /etc/xinetd.d/tftp
disable = no
5.重启相关服务
systemctl restart xinetd
systemctl restart cobblerd
systemctl enable rsyncd.service
systemctl start rsyncd.service
配置DHCP¶
# 修改cobbler的dhcp模版,不要直接修改dhcp本身的配置文件,因为cobbler会覆盖。
[root@Cobbler ~]# vim /etc/cobbler/dhcp.template
subnet 192.168.1.0 netmask 255.255.255.0 {
option routers 192.168.1.254;
option domain-name-servers 192.168.1.254;
option subnet-mask 255.255.255.0;
range dynamic-bootp 192.168.1.250 192.168.1.254;
同步cobbler¶
# 同步最新cobbler配置,它会根据配置自动修改dhcp等服务。
[root@linux-node1 ~]# cobbler sync # 同步所有配置,可以仔细看一下sync做了什么。
task started: 2015-12-03_204822_sync
task started (id=Sync, time=Thu Dec 3 20:48:22 2015)
running pre-sync triggers
running shell triggers from /var/lib/cobbler/triggers/sync/post/*
running python triggers from /var/lib/cobbler/triggers/change/*
running python trigger cobbler.modules.scm_track
running shell triggers from /var/lib/cobbler/triggers/change/*
*** TASK COMPLETE ***
# 再看一下dhcp的配置文件。
[root@linux-node1 ~]# less /etc/dhcp/dhcpd.conf
# ******************************************************************
# Cobbler managed dhcpd.conf file
# generated from cobbler dhcp.conf template (Thu Dec 3 12:48:23 2015)
# Do NOT make changes to /etc/dhcpd.conf. Instead, make your changes
# in /etc/cobbler/dhcp.template, as /etc/dhcpd.conf will be
# overwritten.
# ******************************************************************
ddns-update-style interim;
…………
设置开机启动¶
启动相关服务并设置开机启动(可选)
启动相关服务并设置开机启动(可选)
systemctl enable httpd
systemctl enable xinetd
systemctl enable cobblerd
systemctl enable dhcpd
systemctl enable rsyncd
systemctl start httpd
systemctl start xinetd
systemctl start cobblerd
systemctl start dhcpd
systemctl start rsyncd
关闭相关服务并设置禁用开机启动(可选)
systemctl disable httpd
systemctl disable xinetd
systemctl disable cobblerd
systemctl disable dhcpd
systemctl disable rsyncd
systemctl stop httpd
systemctl stop xinetd
systemctl stop cobblerd
systemctl stop dhcpd
systemctl stop rsyncd
查看关闭服务的状态信息
systemctl status httpd
systemctl status xinetd
systemctl status cobblerd
systemctl status dhcpd
systemctl status rsyncd
Cobbler管理¶
查看命令帮助¶
[root@linux-node1 ~]# cobbler
usage
=====
cobbler <distro|profile|system|repo|image|mgmtclass|package|file> ...
[add|edit|copy|getks*|list|remove|rename|report] [options|--help]
cobbler <aclsetup|buildiso|import|list|replicate|report|reposync|sync|validateks|version|signature|get-loaders|hardlink> [options|--help]
[root@linux-node1 ~]# cobbler import --help # 导入镜像
Usage: cobbler [options]
Options:
-h, --help show this help message and exit
--arch=ARCH OS architecture being imported
--breed=BREED the breed being imported
--os-version=OS_VERSION
the version being imported
--path=PATH local path or rsync location
--name=NAME name, ex 'RHEL-5'
--available-as=AVAILABLE_AS
tree is here, don't mirror
--kickstart=KICKSTART_FILE
assign this kickstart file
--rsync-flags=RSYNC_FLAGS
pass additional flags to rsync
cobbler check #核对当前设置是否有问题
cobbler list #列出所有的cobbler元素
cobbler report #列出元素的详细信息
cobbler sync #同步配置到数据目录,更改配置最好都要执行下
cobbler reposync #同步yum仓库
cobbler distro #查看导入的发行版系统信息
cobbler system #查看添加的系统信息
cobbler profile #查看配置信息
导入centos7.6镜像¶
下载centos minimal镜像
http://124.236.120.248:50001/ctyun/centos-iso/iso/CentOS/CentOS-7-x86_64-Minimal-1810.iso
挂载CentOS7的系统镜像
mount CentOS-7-x86_64-Minimal-1810.iso /mnt/
# umount -lf /mnt/
导入系统镜像
cobbler import --path=/mnt/ --name=CentOS-7.6-x86_64 --arch=x86_64
# --path 镜像路径
# --name 为安装源定义一个名字
# --arch 指定安装源是32位、64位、ia64, 目前支持的选项有: x86│x86_64│ia64
# 安装源的唯一标示就是根据name参数来定义,本例导入成功后,安装源的唯一标示就是:CentOS-7.6-x86_64,如果重复,系统会提示导入失败。
# 镜像存放目录,cobbler会将镜像中的所有安装文件拷贝到本地一份,放在/var/www/cobbler/ks_mirror下的CentOS-7.1-x86_64目录下。因此/var/www/cobbler目录必须具有足够容纳安装文件的空间。
检查导入的系统镜像
[root@linux-node1 ~]# ls -l /var/www/cobbler/ks_mirror/
CentOS-7.1-x86_64 config
[root@linux-node1 ~]# ls /var/www/cobbler/ks_mirror/CentOS-7.6-x86_64/
CentOS_BuildTag GPL LiveOS RPM-GPG-KEY-CentOS-7
EFI images Packages RPM-GPG-KEY-CentOS-Testing-7
EULA isolinux repodata TRANS.TBL
打开浏览器输入(检查)
http://192.168.1.212/cobbler/ks_mirror/CentOS-7.6-x86_64/
导入esxi6.7镜像¶
umount -lf /mnt/
mount VMware-VMvisor-Installer-6.7.0.update03-14320388.x86_64.iso /mnt/
cobbler import --path=/mnt/ --name=esxi-6.7-x86_64 --arch=x86_64
# umount -lf /mnt/
导入ks配置文件-centos¶
开始编写ks配置文件
# Cobbler的ks.cfg文件存放位置
[root@linux-node1 ks_mirror]# cd /var/lib/cobbler/kickstarts/
root@linux-node1 ks_mirror]# vim centos-7.6-x86_64.cfg
# Cobbler for Kickstart Configurator for CentOS 7.6
install
url --url=$tree
text
lang en_US.UTF-8
keyboard us
zerombr
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
$SNIPPET('network_config')
timezone --utc Asia/Shanghai
authconfig --enableshadow --passalgo=sha512
rootpw --iscrypted $default_password_crypted
clearpart --all --initlabel
part / --fstype xfs --size 51200 --ondisk=sda
part /var --fstype xfs --size 1 --grow --ondisk=sda
firstboot --disable
selinux --disabled
firewall --disabled
logging --level=info
poweroff
%pre
$SNIPPET('log_ks_pre')
$SNIPPET('kickstart_start')
$SNIPPET('pre_install_network_config')
$SNIPPET('pre_anamon')
%end
%packages
@^minimal
@core
kexec-tools
%end
%post
systemctl disable postfix.service
%end
查看ks文件信息
[root@linux-node1 ~]# cobbler list
distros:
CentOS-7.6-x86_64
profiles:
CentOS-7.6-x86_64
# 查看安装镜像文件信息
[root@linux-node1 ~]# cobbler distro report --name=CentOS-7.6-x86_64
Name : CentOS-7.6-x86_64
Fetchable Files : {}
Initrd : /var/www/cobbler/ks_mirror/CentOS-7.1-x86_64/images/pxeboot/initrd.img
Kernel : /var/www/cobbler/ks_mirror/CentOS-7.1-x86_64/images/pxeboot/vmlinuz
Owners : ['admin']
Red Hat Management Key : <<inherit>>
Red Hat Management Server : <<inherit>>
Template Files : {}
# 查看所有的profile设置
[root@linux-node1 ~]# cobbler profile report
# 查看指定的profile设置
[root@linux-node1 ~]# cobbler profile report --name=CentOS-7.6-x86_64
Name : CentOS-7.1-x86_64
TFTP Boot Files : {}
Comment :
Virt Disk Driver Type : raw
Virt File Size(GB) : 5
Virt Path :
Virt RAM (MB) : 512
Virt Type : kvm
编辑profile,修改关联的ks文件
cobbler profile edit --name=CentOS-7.6-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos-7.6-x86_64.cfg
导入ks配置文件-esxi¶
[root@Linux-node-Cobbler ]# cd /var/lib/cobbler/kickstarts/
[root@Linux-node-Cobbler kickstarts]# cat /var/lib/cobbler/kickstarts/esxi-6.7-x86_64.cfg
# Test ESXi 6.7 ks file
accepteula
rootpw P@sswd.123
clearpart --firstdisk --overwritevmfs
install --firstdisk --overwritevmfs
network --bootproto=dhcp --device=vmnic0
编辑profile,修改关联的ks文件
cobbler profile edit --name=esxi-6.7-x86_64 --kickstart=/var/lib/cobbler/kickstarts/esxi-6.7-x86_64.cfg
调整内核参数(可选)¶
修改安装系统的内核参数,在CentOS7系统有一个地方变了,就是网卡名变成eno16777736这种形式,但是为了运维标准化,我们需要将它变成我们常用的eth0,因此使用下面的参数。但要注意是CentOS7才需要下面的步骤,CentOS6不需要。
[root@linux-node1 ~]# cobbler profile edit --name=CentOS-7.6-x86_64 --kopts='net.ifnames=0 biosdevname=0'
[root@linux-node1 ~]# cobbler profile report CentOS-7.6-x86_64
Name : CentOS-7.1-x86_64
TFTP Boot Files : {}
Distribution : CentOS-7.1-x86_64
Virt Path :
Virt RAM (MB) : 512
Virt Type : kvm
每次修改完都要同步一次
[root@linux-node1 ~]# cobbler sync
received on stderr:
running shell triggers from /var/lib/cobbler/triggers/sync/post/*
running python triggers from /var/lib/cobbler/triggers/change/*
running python trigger cobbler.modules.scm_track
running shell triggers from /var/lib/cobbler/triggers/change/*
*** TASK COMPLETE ***
自动安装系统¶
*可以很愉快的告诉你到这里就可以安装系统了!*
新建一台虚拟机,不解释,开机就可以看到下面的图片了!
** 有没有发现不美观的地方?**
网址不是我的!改!
#修改Cobbler提示
[root@linux-node1 ~]# vim /etc/cobbler/pxe/pxedefault.template
MENU TITLE Cobbler | http://www.zyops.com
[root@linux-node1 ~]# cobbler sync # 修改配置都要同步
OK,现在好看多了。选择第二项就可以继续装机了。你可以让系统飞着,然后接着看下文!!
定制化安装系统¶
可能从学习kickstart开始就有人想怎样能够指定某台服务器使用指定ks文件,kickstart实现这功能可能比较复杂,但是Cobbler就很简单了。区分一台服务器的最简单的方法就是物理MAC地址。物理服务器的MAC地址在服务器上的标签上写了。虚拟机的MAC查看
需要准备的信息字段:
装机mac:F4:E9:D4:D5:6C:B0
装机IP:192.168.1.251
装机子网掩码:255.255.255.0
装机网关:192.168.1.254
装机主机名称:10e129e177e91
BMC地址:10.254.178.91
BMC帐户:test
BMC密码:123456
配置定制化装机centos
cobbler system add --name=10e129e177e91 --mac=F4:E9:D4:D5:6C:B0 --profile=CentOS-7.6-x86_64 --ip-address=192.168.1.251 --subnet=255.255.255.0 --gateway=192.168.1.254 --interface=p5p1 --static=1 --hostname=10e129e177e91
配置定制化装机esxi
cobbler system add --name=10e129e177e91 --mac=F4:E9:D4:D5:6C:B0 --profile=esxi-6.7-x86_64 --ip-address=192.168.1.251 --subnet=255.255.255.0 --gateway=192.168.1.254 --interface=vmnic0 --static=1 --hostname=10e129e177e91
删除配置定制化规则
cobbler system remove --name=10e129e177e91
查看定义的列表
[root@linux-node1 ~]# cobbler system list
oldboy
[root@linux-node1 ~]# cobbler sync
ipmitool远程管理¶
安装ipmitool工具:
\cp ipmitool /usr/bin/ipmitool
chmod +x /usr/bin/ipmitool
modprobe ipmi_watchdog ; modprobe ipmi_poweroff ; modprobe ipmi_devintf ; modprobe ipmi_si
ipmitool -I lanplus -H 10.254.178.91 -U test -P 123456 power status
设置服务器从pxe启动
ipmitool -I lanplus -H 10.254.178.91 -U test -P 123456 chassis bootdev pxe
ipmitool -I lanplus -H 10.254.178.91 -U test -P 123456 power reset
设置服务器从disk启动
ipmitool -I lanplus -H 10.254.178.91 -U test -P 123456 power on ; sleep 5
ipmitool -I lanplus -H 10.254.178.91 -U test -P 123456 chassis bootdev disk
ipmitool -I lanplus -H 10.254.178.91 -U test -P 123456 power reset
再次开机安装就不再询问选择了,直接安装。
开始自动化安装
ipmitool串流装机¶
设置访问远程控制台、修改 vi /etc/default/grub
GRUB_CMDLINE_LINUX="intel_idle.max_cstate=0 crashkernel=auto rhgb quiet console=tty0 console=ttyS0,115200n8"
1.查看用户ID
ipmitool -I lanplus -H 10.254.178.34 -U admin -P 123456 user list
2.设置开启远程访问控制台
ipmitool -I lanplus -H 10.254.178.34 -U admin -P 123456 sol payload enable 1 15
备注 1表示第一个信道(一般1-8个信道挨个试) 15表示ipmi用户id
3.访问远程控制台
ipmitool -I lanplus -H 10.254.178.34 -U admin -P 123456 sol activate
4.关闭访问远程控制台
ipmitool -I lanplus -H 10.254.178.34 -U admin -P 123456 sol deactivate
cobbler如何设置
cobbler profile edit --name=centos-7.6-x86_64 --kopts='console=tty0 console=ttyS0,115200n8'
cobbler sync
Cobbler管理界面¶
已经安装cobbler-web软件。
访问网址:
https://192.168.1.212/cobbler_web
默认用户名:cobbler 默认密码 :cobbler
/etc/cobbler/users.conf # Web服务授权配置文件
/etc/cobbler/users.digest # 用于web访问的用户名密码配置文件
[root@linux-node1 ~]# cat /etc/cobbler/users.digest
cobbler:Cobbler:a2d6bae81669d707b72c0bd9806e01f3
# 设置Cobbler web用户登陆密码
# 在Cobbler组添加cobbler用户,提示输入2遍密码确认
[root@linux-node1 ~]# htdigest /etc/cobbler/users.digest "Cobbler" cobbler
Changing password for user cobbler in realm Cobbler
New password: 123456
Re-type new password:123456
[root@linux-node1 ~]# cobbler sync
[root@linux-node1 ~]# /etc/init.d/httpd restart
停止 httpd: [确定]
正在启动 httpd: [确定]
[root@linux-node1 ~]# /etc/init.d/cobblerd restart
Stopping cobbler daemon: [确定]
Starting cobbler daemon: [确定]
以后就需要用123456这个密码登录了。
接下来的操作就是点点鼠标了。
常用KS文件¶
centos-7.x¶
[root@Linux-node-Cobbler ]# cd /var/lib/cobbler/kickstarts/
[root@Linux-node-Cobbler kickstarts]# cat CentOS-7.2-x86_64.cfg
# Cobbler for Kickstart Configurator for CentOS 7.1 by yao zhang
install
url --url=$tree
text
lang en_US.UTF-8
keyboard us
zerombr
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
# Network information
$SNIPPET('network_config')
timezone --utc Asia/Shanghai
authconfig --enableshadow --passalgo=sha512
rootpw --iscrypted $default_password_crypted
clearpart --all --initlabel
part /boot --fstype xfs --size 1024
part swap --size 1024
part / --fstype xfs --size 1 --grow
firstboot --disable
selinux --disabled
firewall --disabled
logging --level=info
reboot
%pre
$SNIPPET('log_ks_pre')
$SNIPPET('kickstart_start')
$SNIPPET('pre_install_network_config')
# Enable installation monitoring
$SNIPPET('pre_anamon')
%end
%packages
@^minimal
@core
kexec-tools
%end
%post
systemctl disable postfix.service
%end
esxi-6.x¶
[root@Linux-node-Cobbler ]# cd /var/lib/cobbler/kickstarts/
[root@Linux-node-Cobbler kickstarts]# cat esxi-6.0-x86_64.cfg
# Test ESXi 6.0 ks file
accepteula
rootpw 123456
clearpart --firstdisk --overwritevmfs
install --firstdisk --overwritevmfs
network --bootproto=dhcp --device=vmnic0
常见错误汇总¶
附:错误排除
# cobbler check
The following are potential configuration items that you may want to fix:
1 : Must enable a selinux boolean to enable vital web services components, run: setsebool -P httpd_can_network_connect true
2 : you need to set some SELinux content rules to ensure cobbler serves content correctly in your SELinux environment, run the following: /usr/sbin/semanage fcontext -a -t public_content_t "/tftpboot/.*" && /usr/sbin/semanage fcontext -a -t public_content_t "/var/www/cobbler"/images/.*
3 : you need to set some SELinux rules if you want to use cobbler-web (an optional package), run the following: /usr/sbin/semanage fcontext -a -t httpd_sys_content_rw_t "/var/lib/cobbler/webui_sessions/.*"
解决:关闭selinux
# vim /etc/sysconfig/selinux
SELINUX=disabled
4 : change 'disable' to 'no' in /etc/xinetd.d/tftp
解决:编辑/etc/xinetd.d/tftp文件,将文件中的disable字段的配置由yes改为no
5 : change 'disable' to 'no' in /etc/xinetd.d/rsync
解决:编辑/etc/xinetd.d/rsync文件,将文件中的disable字段的配置由yes改为no
6 : since iptables may be running, ensure 69, 80, and 25151 are unblocked
解决:在iptables中将69,80,25151端口打开。如果仅仅只是在内部环境中使用,建议直接将防火墙关掉
7 : debmirror package is not installed, it will be required to manage debian deployments and repositories
解决:yum install debmirror
或:rpm -Uvh ftp://rpmfind.net/linux/epel/5/i386/debmirror-20090807-1.el5.noarch.rpm –nodeps –force
8 : ksvalidator was not found, install pykickstart
解决:yum install pykickstart
9 : The default password used by the sample templates for newly installed machines (default_password_crypted in /etc/cobbler/settings) is still set to 'cobbler' and should be changed, try: "openssl passwd -1 -salt 'random-phrase-here' 'your-password-here'" to generate new one
解决: 修改默认密码就OK了,然后把密码写入到/etc/cobbler/settings中
# openssl passwd -1 -salt 'random-phrase-here' 'your-password-here'
10 : comment 'dists' on /etc/debmirror.conf for proper debian support
11 : comment 'arches' on /etc/debmirror.conf for proper debian support
解决:注释/etc/debmirror.conf 下面两行
#@dists="sid";
@sections="main,main/debian-installer,contrib,non-free";
#@arches="i386";
12:fencing tools were not found, and are required to use the (optional) power management features. install cman or fence-agents to use them
解决: yum install cman
修复完成,再用 cobbler check 检查一下,确认没问题后用 cobbler sync 做同步操作:
# cobbler check
No configuration problems found. All systems go.
13. comment out 'dists' on /etc/debmirror.conf for proper debian support
comment out 'arches' on /etc/debmirror.conf for proper debian supportvim vi /etc/debmirror.conf
#注释掉@dists="sid"与@arches="i386即可
#@dists="sid";
#@arches="i386";
14. 较验cobbler check出错
Traceback (most recent call last):
File "/usr/bin/cobbler", line 35, in ?
sys.exit(app.main())
File "/usr/lib/python2.4/site-packages/cobbler/cli.py", line 558, in main
rc = cli.run(sys.argv)
File "/usr/lib/python2.4/site-packages/cobbler/cli.py", line 202, in run
self.token = self.remote.login("", self.shared_secret)
File "/usr/lib64/python2.4/xmlrpclib.py", line 1096, in __call__
return self.__send(self.__name, args)
File "/usr/lib64/python2.4/xmlrpclib.py", line 1383, in __request
verbose=self.__verbose
File "/usr/lib64/python2.4/xmlrpclib.py", line 1147, in request
return self._parse_response(h.getfile(), sock)
File "/usr/lib64/python2.4/xmlrpclib.py", line 1286, in _parse_response
return u.close()
File "/usr/lib64/python2.4/xmlrpclib.py", line 744, in close
raise Fault(**self._stack[0])
xmlrpclib.Fault:
解决方法:此为BUG,按下方操作执行即
service cobblerd restart
cobbler get-loaders
返回这个结果就OK了