问题

服务问题

输入 cobbler sync 后报错, 请查看上面的stderr 一栏,看下是哪个服务有问题

  1. 服务的配置文件写错了或者服务无法正常启动
  • 使用systemctl status 服务名 查看问题所在点
  • 服务名一般为 httpd,dhcp,tftp 等
  1. 服务没安装, Failed to issue method call: Unit named.service failed to load
  • 安装named 服务, yum install -y bind-chroot
  1. 运行 cobbler sync 报错,显示
running python trigger cobbler.modules.sync_post_restart_services
	running: dhcpd -t -q
	Exception occured: <type 'exceptions.OSError'>
	Exception value: [Errno 12] Cannot allocate memory
	Exception Info:
	  File "/usr/lib/python2.7/site-packages/cobbler/utils.py", line 1709, in subprocess_sp
	    sp = subprocess.Popen(cmd, shell=shell, stdin=stdin, stdout=subprocess.PIPE, stderr=subprocess.PIPE, close_fds=True)
	   File "/usr/lib64/python2.7/subprocess.py", line 711, in __init__
	    errread, errwrite)
	   File "/usr/lib64/python2.7/subprocess.py", line 1205, in _execute_child
	    self.pid = os.fork()
	
	Exception occured: <class 'cobbler.cexceptions.CX'>
	Exception value: 'OS Error, command not found?  While running: dhcpd -t -q'
    ...
    ...
	!!! TASK FAILED !!!
  1. 看到上面写的 Cannot allocate memory, 然后看了下内存用了已经 87% 了,把chrome 其他页面关了,重启就好了
  2. 然后重启后运行第一次是正常的, 再运行一次 cobbler sync 还是报这个错误,烦死了
  3. 我发现了,原来在虚拟机安装的时候运行 cobbler sync就有可能会报这个错,猜测,该命令需要动用很多资源,然后同时又处理安装服务,就报错了

创建profile问题

  1. exception on server: 'Invalid kickstart template file location /root/lisi.cfg, it is not inside /var/lib/cobbler/kickstarts/'
  • 只能将 kickstarts 文件放入 /var/lib/cobbler/kickstarts/ 下面
  • 注意是 kickstarts

新建虚拟机问题

查看所有 pxe 问题 常见pxe 问题

  1. 在新创建的虚拟上出现 PXE-E53: No boot filename received
  1. 官方说明: 没有找到启动文件
  2. 可能情况一: 该新建主机连上了vmware 的 DHCP 服务器,请在虚拟网络编辑器中关闭dhcp服务
  3. 可能情况二: 你的dhcp 服务有问题,请仔细核对 /etc/cobbler/dhcp.template 该文件
  1. 在新创建的虚拟机上出现 PXE-E51: No DHCP or proxyDHCP offers were received.
  1. 官方说明: 没有找到相应的dhcp 服务
  2. 在vmware 虚拟首选项中查看默认dhcp服务的网段与cobbler 服务器网段是否一致
  3. 查看dhcp 是否开启,/etc/cobbler/settings 文件 manage dhcp 选项是否为 1
  4. 如果cobbler服务器是桥接模式,新建的虚拟机是NAT模式,是不可以搜索到dhcp服务的
  5. 查看dhcp 配置文件 /etc/cobbler/dhcp.template 的配置是否正确, 以下为部分选项
allow bootp;

	ignore client-updates;
	set vendorclass = option vendor-class-identifier;
	
	option pxe-system-type code 93 = unsigned integer 16;
	
	subnet 192.168.146.0 netmask 255.255.255.0 {
	     option routers 192.168.146.2;
	     option domain-name-servers 192.168.146.133;
	     option subnet-mask 255.255.255.0;
	     range dynamic-bootp 192.168.146.200 192.168.146.210;
	     default-lease-time         21600;
	     max-lease-time             43200;
	     next-server                $next_server;
	     ...
  1. PXE_E32: TFTP timeout
  1. Selinux 问题,在 /etc/selinux/config 中改为 disabled,修改完后需要重启,查看selinux getenforce
  2. 防火墙问题,设置
  1. firewall-cmd --zone=public --add-service=tftp --permanent 设置防火墙策略
  2. firewall-cmd --reload 重新加载防火墙设置
  3. firewall-cmd --zone=public --query-service=tftp 查看防火墙是否设置成功
  1. 服务问题,systemctl status tftp 查看tftp服务是否开启

镜像选择后

安装pykickstart ,检查 kickstart 语法

  • yum install -y pykickstart
  • ksvalidator /root/ks.cfg
  • 如果没有问题,将无信息返回
  1. no space left on device
  • 内存空间分配不够,需要有 2G 内存以上
  • 首先在vmware workstation 中更改虚拟的内存,为2G
  • 在kickstart 文件中加入该选项 part swap --size=2048