Cobbler部署之FAQ處理

Cobbler報錯處理html

 

經過cobbler check檢查出現的報錯node

紅色標註爲報錯關鍵信息python

 

9.1 報錯一

  1. # cobbler check 
  2. httpd does not appear to be running and proxying cobbler, or SELinux is in the way. Original traceback:  
  3. Traceback (most recent call last):  
  4.   File "/usr/lib/python2.4/site-packages/cobbler/cli.py", line 184, in check_setup  
  5.     s.ping()  
  6.   File "/usr/lib64/python2.4/xmlrpclib.py", line 1096, in __call__  
  7.     return self.__send(self.__name, args)  
  8.   File "/usr/lib64/python2.4/xmlrpclib.py", line 1383, in __request  
  9.     verbose=self.__verbose  
  10.   File "/usr/lib64/python2.4/xmlrpclib.py", line 1129, in request  
  11.     self.send_content(h, request_body)  
  12.   File "/usr/lib64/python2.4/xmlrpclib.py", line 1243, in send_content  
  13.     connection.endheaders()  
  14.   File "/usr/lib64/python2.4/httplib.py", line 804, in endheaders  
  15.     self._send_output()  
  16.   File "/usr/lib64/python2.4/httplib.py", line 685, in _send_output  
  17.     self.send(msg)  
  18.   File "/usr/lib64/python2.4/httplib.py", line 652, in send  
  19.     self.connect()  
  20.   File "/usr/lib64/python2.4/httplib.py", line 636, in connect 
  21.     raise socket.error, msg  
  22. error: (111, 'Connection refused') 

解決啓動httpd服務linux

  1. service httpd start   
  2. Starting httpd: Syntax error on line 10 of /etc/httpd/conf.d/cobbler.conf:  
  3. Invalid command 'WSGIScriptAliasMatch', perhaps misspelled or defined by a module not included in the server configuration  
  4.                                                            [FAILED]#啓動httpd時的報錯,解決方法以下 

解決git

  1. vim /etc/httpd/conf.d/wsgi.conf   
  2. 去掉註釋  
  3. LoadModule wsgi_module modules/mod_wsgi.so  
  4. 再啓動httpd服務  
  5. service httpd start                  
  6. Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using x.x.x.x for ServerName  
  7.                                                            [  OK  ] 

再進行一些針對apache ServerName參數配置的處理github

  1. egrep "ServerName|Listen" /etc/httpd/conf/httpd.conf |grep -v '#' 
  2. Listen 172.17.10.14:80  
  3. ServerName 80 

官方相關資料https://github.com/cobbler/cobbler/wiki/Cobbler web interfaceweb

9.2 報錯二

此步共修復七個須要處理的提示,一個一個解決shell

 

  1. # cobbler check 
  2. The following are potential configuration items that you may want to fix:  
  3. 1 : service dhcpd is not running  
  4. 解決:DHCP先不處理  
  5. 2 : some network boot-loaders are missing from /var/lib/cobbler/loaders, you may run 'cobbler get-loaders' to download them, or, if you only want to handle x86/x86_64 netbooting, you may ensure that you have installed a *recent* version of the syslinux package installed and can ignore this message entirely.  Files in this directory, should you want to support all architectures, should include pxelinux.0, menu.c32, elilo.efi, and yaboot. The 'cobbler get-loaders' command is the easiest way to resolve these requirements.  
  6. 解決:執行 cobbler get-loaders,系統將自動下載loader程序,完成提示2的修復工做。  
  7. # cobbler get-loaders  
  8. task started: 2013-03-10_103017_get_loaders  
  9. task started (id=Download Bootloader Content, time=Sun Mar 10 10:30:17 2013)  
  10. downloading http://dgoodwin.fedorapeople.org/loaders/README to /var/lib/cobbler/loaders/README  
  11. downloading http://dgoodwin.fedorapeople.org/loaders/COPYING.elilo to /var/lib/cobbler/loaders/COPYING.elilo  
  12. downloading http://dgoodwin.fedorapeople.org/loaders/COPYING.yaboot to /var/lib/cobbler/loaders/COPYING.yaboot  
  13. downloading http://dgoodwin.fedorapeople.org/loaders/COPYING.syslinux to /var/lib/cobbler/loaders/COPYING.syslinux  
  14. downloading http://dgoodwin.fedorapeople.org/loaders/elilo-3.8-ia64.efi to /var/lib/cobbler/loaders/elilo-ia64.efi  
  15. downloading http://dgoodwin.fedorapeople.org/loaders/yaboot-1.3.14-12 to /var/lib/cobbler/loaders/yaboot  
  16. downloading http://dgoodwin.fedorapeople.org/loaders/pxelinux.0-3.61 to /var/lib/cobbler/loaders/pxelinux.0  
  17. downloading http://dgoodwin.fedorapeople.org/loaders/menu.c32-3.61 to /var/lib/cobbler/loaders/menu.c32  
  18. downloading http://dgoodwin.fedorapeople.org/loaders/grub-0.97-x86.efi to /var/lib/cobbler/loaders/grub-x86.efi  
  19. downloading http://dgoodwin.fedorapeople.org/loaders/grub-0.97-x86_64.efi to /var/lib/cobbler/loaders/grub-x86_64.efi  
  20. *** TASK COMPLETE ***  
  21. 3 : debmirror package is not installed, it will be required to manage debian deployments and repositories  
  22. 解決:提示說debmirror沒安裝。若是不是安裝 debian之類的系統,此提示能夠忽略,若是須要安裝,  
  23. 安裝 debmirror  
  24. yum -y install debmirror  
  25.  
  26. 編輯註釋  
  27. 修改 /etc/debmirror.conf 配置文件,註釋掉 @dists 和 @arches 兩行  
  28. sed -i  's|@dists=.*|#@dists=|'  /etc/debmirror.conf  
  29. sed -i  's|@arches=.*|#@arches=|'  /etc/debmirror.conf  
  30. 4 : ksvalidator was not found, install pykickstart  
  31. 解決:安裝ksvalidator  
  32.  yum install pykickstart -y  
  33.  
  34. 5 : 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  
  35. 解決:修改cobbler用戶的默認密碼,可使用以下命令生成密碼,並使用生成後的密碼替換/etc/cobbler/settings中 default_password_crypted 的密碼。  
  36. 生成密碼命令:   
  37. #openssl passwd -1 -salt 'random-phrase-here' '[任意密碼]'    
  38. openssl passwd -1 -salt 'random-phrase-here' 'hexun' 
  39. $1$random-p$Q1IN9LaNg7yhRKJuY50fV1  
  40.  
  41. 6 : fencing tools were not found, and are required to use the (optional) power management features. install cman or fence-agents to use them  
  42.  
  43. 解決:安裝cman工具用於電源管理  
  44. yum  -y install cman  
  45.  
  46. Restart cobblerd and then run 'cobbler sync' to apply changes.  
  47. 修復完畢重啓cobbler服務,而後運行cobbler sync  
  48. 7:修復完成以上問題後,同步信息再檢查  
  49. /etc/init.d/cobblerd restart  
  50. Stopping cobbler daemon:                                   [  OK  ]  
  51. Starting cobbler daemon:                                   [  OK  ]  
  52. 再次檢查,又報錯  
  53. cobbler check 
  54. The following are potential configuration items that you may want to fix:  
  55.  
  56. 1 : 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  
  57. Restart cobblerd and then run 'cobbler sync' to apply changes.
  58. 報錯緣由是上面的第五個問題沒徹底解決,僅僅生成了密鑰,沒有放入cobbler主配置文件  
  59. vim  /etc/cobbler/settings  
  60. default_password_crypted: "$1$random-p$Q1IN9LaNg7yhRKJuY50fV1" 
  61. 再重啓服務  
  62. /etc/init.d/cobblerd restart  
  63. Stopping cobbler daemon:                                   [  OK  ]  
  64. Starting cobbler daemon:                                   [  OK  ]  
  65. cobbler check 
  66. No configuration problems found.  All systems go.  
  67. 執行cobbler sync  
  68. cobbler sync  
  69. task started: 2013-03-10_105055_sync  
  70. task started (id=Sync, time=Sun Mar 10 10:50:55 2013)  
  71. running pre-sync triggers  
  72. cleaning trees  
  73. removing: /tftpboot/pxelinux.cfg/default 
  74. 略  
  75. received on stdout: Shutting down dhcpd: [  OK  ]  
  76. Starting dhcpd: [  OK  ]  
  77.  
  78. received on stderr:   
  79. running shell triggers from /var/lib/cobbler/triggers/sync/post/*  
  80. running python triggers from /var/lib/cobbler/triggers/change/*  
  81. running python trigger cobbler.modules.scm_track  
  82. running shell triggers from /var/lib/cobbler/triggers/change/*  
  83. *** TASK COMPLETE ***  
  84. 執行cobbler sync會重啓相關服務,DHCP服務也會啓動了,第一個提示也就解決了,下面也有說明 

9.3 報錯三

  1. [root@cobbler-1014 x86_64]# /etc/init.d/cobblerd restart  
  2. Stopping cobbler daemon:                                   [FAILED]  
  3. Starting cobbler daemon:                                   [  OK  ]  
  4. [root@cobbler-1014 x86_64]# cobbler check 
  5. The following are potential configuration items that you may want to fix:  
  6. 1 : service dhcpd is not running  
  7.  
  8. Restart cobblerd and then run 'cobbler sync' to apply changes. 

執行cobbler sync便可啓動dhcp服務apache

  1. cobbler sync 

9.4 報錯四json

使用koan重裝系統時報錯

  1. koan --server=172.17.10.14 --list=profiles  
  2. Traceback (most recent call last):  
  3.   File "/usr/bin/koan", line 18, in ?  
  4.     import koan.app as app  
  5.   File "/usr/lib/python2.4/site-packages/koan/app.py", line 64, in ?  
  6.     import configurator  
  7.   File "/usr/lib/python2.4/site-packages/koan/configurator.py", line 36, in ?  
  8.     import simplejson as json  
  9. ImportError: No module named simplejson 

解決:須要安裝simplejson軟件包,
最新版下載地址:http://pypi.python.org/pypi/simplejson/
最新版的simplejson要求python 2.6+以上的,CntOS5.8是Python 2.4.3,因此下載的simplejson-2.0.9.tar.gz版本
https://pypi.python.org/packages/source/s/simplejson/simplejson-2.0.9.tar.gz
安裝步驟:
訪問外網下載文件setuptools-0.6c7-py2.4.egg
如沒有外網能夠經過其餘機器下載https://pypi.python.org/packages/2.4/s/setuptools/setuptools-0.6c7-py2.4.egg
而後上傳至客戶機再繼續安裝

  1. tar zxf simplejson-2.0.9.tar.gz   
  2. cd simplejson-2.0.9  
  3. python setup.py install  

建議CentOS5.8 安裝此版本的koan使用能夠避免此問題
ftp://rpmfind.net/linux/epel/5/i386/koan-1.6.6-1.el5.noarch.rpm

9.5 報錯五

  1. koan --server=172.17.10.14 --virt-name=testvm   --virt --profile=centos5.8-xen-x86_64  
  2. - looking for Cobbler at http://172.17.10.14:80/cobbler_api  
  3. - reading URL: http://172.17.10.14/cblr/svc/op/ks/profile/centos5.8-xen-x86_64  
  4. install_tree: http://172.17.10.14/cblr/links/centos5.8-xen-x86_64  
  5. xen package needs to be installed 

Xen 宿主機安裝虛擬機時提示沒有安裝xen軟件包
解決:

  1. yum install xen -y 

執行此命令會安裝一共9個軟件包,以下

  1. Running Transaction 
  2.   Installing     : bridge-utils                                             1/9   
  3.   Installing     : cyrus-sasl-md5                                           2/9   
  4.   Installing     : ebtables                                                 3/9   
  5.   Installing     : e4fsprogs-libs                                           4/9   
  6.   Installing     : xen-libs                                                 5/9   
  7.   Installing     : libvirt                                                  6/9   
  8.   Installing     : libvirt-python                                           7/9   
  9.   Installing     : python-virtinst                                          8/9   
  10.   Installing     : xen                                                      9/9 

9.6 報錯六

  1. koan --server=172.17.10.14 --virt-name=testvm   --virt --profile=centos5.8-xen-x86_64  
  2. - looking for Cobbler at http://172.17.10.14:80/cobbler_api  
  3. - reading URL: http://172.17.10.14/cblr/svc/op/ks/profile/centos5.8-xen-x86_64  
  4. install_tree: http://172.17.10.14/cblr/links/centos5.8-xen-x86_64  
  5. xend needs to be started 

解決:
報錯緣由是xend服務沒有啓動,執行如下命令處理

  1. chkconfig xend on 
  2. /etc/init.d/xend start  
  3. #注意此過程會自動橋接網卡,可能出現短暫斷網 

9.7 報錯七

  1. koan --server=172.17.10.14 --virt-name=testvm   --virt --profile=centos5.8-xen-x86_64  
  2. - looking for Cobbler at http://172.17.10.14:80/cobbler_api  
  3. - reading URL: http://172.17.10.14/cblr/svc/op/ks/profile/centos5.8-xen-x86_64  
  4. install_tree: http://172.17.10.14/cblr/links/centos5.8-xen-x86_64  
  5. libvirtd is stopped  
  6. libvirtd needs to be running 

解決:

  1. chkconfig libvirtd on 
  2. /etc/init.d/libvirtd  start 

9.8 報錯八

  1. koan --server=172.17.10.14 --virt-name=testvm   --virt --profile=centos5.8-xen-x86_64  
  2. - looking for Cobbler at http://172.17.10.14:80/cobbler_api  
  3. - reading URL: http://172.17.10.14/cblr/svc/op/ks/profile/centos5.8-xen-x86_64  
  4. install_tree: http://172.17.10.14/cblr/links/centos5.8-xen-x86_64  
  5. libvirtd (pid  3772) is running...  
  6. downloading initrd initrd.img to /var/lib/xen/initrd.img_koan  
  7. url=http://172.17.10.14/cobbler/images/centos5.8-xen-x86_64/initrd.img  
  8. - reading URL: http://172.17.10.14/cobbler/images/centos5.8-xen-x86_64/initrd.img  
  9. downloading kernel vmlinuz to /var/lib/xen/vmlinuz_koan  
  10. url=http://172.17.10.14/cobbler/images/centos5.8-xen-x86_64/vmlinuz  
  11. - reading URL: http://172.17.10.14/cobbler/images/centos5.8-xen-x86_64/vmlinuz  
  12. - warning: old python-virtinst detected, a lot of features will be disabled  
  13. - adding disk: /var/lib/xen/images//testvm-disk0 of size 5 (driver type=raw)  
  14. - ['virt-install', '--connect', 'xen:///', '--name', 'testvm', '--ram', '512', '--vcpus', '1', '--uuid', '42559fd2-385f-2435-80f1-9f5005a02a81', '--autostart', '--vnc', '--paravirt', '--boot', 'kernel=/var/lib/xen/vmlinuz_koan,initrd=/var/lib/xen/initrd.img_koan,kernel_args=ks=http://172.17.10.14/cblr/svc/op/ks/profile/centos5.8-xen-x86_64 ksdevice=link kssendmac lang= text ', '--os-variant', 'rhel5', '--disk', 'path=/var/lib/xen/images//testvm-disk0,size=5', '--network', 'bridge=xenbr0', '--wait', '0', '--noautoconsole']  
  15. usage: virt-install --name NAME --ram RAM STORAGE INSTALL [options]  
  16.  
  17. virt-install: error: no such option: --autostart 

解決

  1. 我安裝的  
  2. 系統版本:CentOS5.8 64bit  
  3. koan版本:koan-2.2.3-2.el5  
  4. xen版本:xen-3.0.3-142.el5_9.2  
  5. 經過EPEL安裝的koan版本爲koan-2.2.3-2.el5,使用中報錯較多,後更換爲koan-1.6.6-1.el5此版本比較穩定,下載連接:ftp://rpmfind.net/linux/epel/5/i386/koan-1.6.6-1.el5.noarch.rpm 

9.9 報錯九

  1. cobbler check 
  2. The following are potential configuration items that you may want to fix:  
  3.  
  4. 1 : comment 'dists' on /etc/debmirror.conf for proper debian support 
  5. 2 : comment 'arches' on /etc/debmirror.conf for proper debian support  
  6.  
  7. Restart cobblerd and then run 'cobbler sync' to apply changes. 

解決
關於debmirror編輯註釋
修改 /etc/debmirror.conf 配置文件,註釋掉 @dists 和 @arches 兩行

  1. sed -i  's|@dists=.*|#@dists=|'  /etc/debmirror.conf  
  2. sed -i  's|@arches=.*|#@arches=|'  /etc/debmirror.conf 

9.10 報錯十

  1. /usr/bin/ipmitool power status  
  2. Could not open device at /dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0: No such file or directory  
  3. Unable to get Chassis Power Status 

解決

  1. /etc/init.d/ipmi start   
  2. Starting ipmi drivers:                                     [  OK  ]  
  3. /etc/rc.d/init.d/ipmievd start    
  4. Starting ipmievd:  
  5. ipmievd: using pidfile /var/run/ipmievd.pid0  
  6.  
  7. chkconfig  ipmi on               
  8. chkconfig  ipmievd on 

再執行查看電源狀態

  1. /usr/bin/ipmitool power status            
  2. Chassis Power is on 

9.11 報錯十一

  1. obbler system edit --name=host-188116  --power-address=172.17.11.20  --power-type='ipmitool'  --power-user=root  --power-pass=djxxxx  
  2. usage: cobbler [options]  
  3.  
  4. cobbler: error: option --power-type: invalid choice: 'ipmitool' (choose from 'ack_manual', 'apc', 'apc_snmp', 'bladecenter', 'brocade', 'bullpap', 'cisco_mds', 'cisco_ucs', 'drac', 'drac5', 'egenera', 'ifmib', 'ilo', 'ilo_mp', 'ipdu', 'ipmilan', 'lpar', 'manual', 'mcdata', 'node', 'rhevm', 'rps10', 'rsa', 'rsb', 'sanbox2', 'scsi', 'scsi_test', 'tool', 'virsh', 'vixel', 'vmware', 'vmware_helper', 'vmware_soap', 'wti', 'xvm', 'xvmd') 

解決
選擇合適的power類型,報錯後面已經列出可選參數,我這裏使用的DELL PE1950應該選擇ipmilan

  1. cobbler system edit --name=host-188116  --power-address=172.17.11.20  --power-type='ipmilan'  --power-user=root  --power-pass=djxxxx 

9.12 報錯十二

電源管理相關的報錯

 

  1. cobbler system edit --name host-xxx --power-address=172.17.11.20 --power-type="ipmitool" --power-user=root --power-pass=passwd  
  2. power management type must be one of: 

 

  1. cobbler system powerstatus --name=host-xx  
  2. task started: 2013-03-28_115206_power  
  3. task started (id=Power management (status), time=Thu Mar 28 11:52:06 2013)  
  4. Exception occured: cobbler.cexceptions.CX  
  5. Exception value: 'no power type set for system' 
  6. Exception Info:  
  7. File "/usr/lib/python2.4/site-packages/cobbler/utils.py", line 126, in die  
  8. raise CX(msg)  
  9. Exception occured: cobbler.cexceptions.CX  
  10. Exception value: 'no power type set for system' 
  11. Exception Info:  
  12. File "/usr/lib/python2.4/site-packages/cobbler/remote.py", line 89, in run  
  13. rc = self._run(self) 
  14.  
  15. File "/usr/lib/python2.4/site-packages/cobbler/remote.py", line 259, in runner  
  16. self.remote.power_system(object_id,self.options.get("power",""),token,logger=self.logger)  
  17. File "/usr/lib/python2.4/site-packages/cobbler/remote.py", line 1919, in power_system  
  18. rc=self.api.power_status(obj, user=None, password=None, logger=logger)  
  19. File "/usr/lib/python2.4/site-packages/cobbler/api.py", line 1041, in power_status  
  20. return action_power.PowerTool(self._config, system, self, user, password, logger = logger).power("status")  
  21. File "/usr/lib/python2.4/site-packages/cobbler/action_power.py", line 74, in power  
  22. utils.die(self.logger,"no power type set for system")  
  23. File "/usr/lib/python2.4/site-packages/cobbler/utils.py", line 134, in die  
  24. raise CX(msg)  
  25. !!! TASK FAILED !!! 

 

  1. cobbler system powerstatus --name=host-188116  
  2. task started: 2013-03-28_124153_power  
  3. task started (id=Power management (status), time=Thu Mar 28 12:41:53 2013)  
  4. cobbler power configuration is:  
  5. type : ipmilan  
  6. address: 172.17.11.20  
  7. user : root  
  8. id :   
  9. running: /usr/sbin/fence_ipmilan  
  10. received on stdout: Getting status of IPMI:172.17.11.20...Chassis power = On 
  11. Done  
  12. received on stderr:   
  13. Exception occured: cobbler.cexceptions.CX  
  14. Exception value: "command succeeded (rc=0), but output ('Getting status of IPMI:172.17.11.20...Chassis power = On\nDone\n') was not understood" 
  15. Exception Info:  
  16. File "/usr/lib/python2.4/site-packages/cobbler/utils.py", line 126, in die  
  17. raise CX(msg)  
  18. Exception occured: cobbler.cexceptions.CX  
  19. Exception value: "command succeeded (rc=0), but output ('Getting status of IPMI:172.17.11.20...Chassis power = On\nDone\n') was not understood" 
  20. Exception Info:  
  21. File "/usr/lib/python2.4/site-packages/cobbler/remote.py", line 89, in run  
  22. rc = self._run(self)  
  23. File "/usr/lib/python2.4/site-packages/cobbler/remote.py", line 259, in runner  
  24. self.remote.power_system(object_id,self.options.get("power",""),token,logger=self.logger)  
  25. File "/usr/lib/python2.4/site-packages/cobbler/remote.py", line 1919, in power_system  
  26. rc=self.api.power_status(obj, user=None, password=None, logger=logger)  
  27. File "/usr/lib/python2.4/site-packages/cobbler/api.py", line 1041, in power_status  
  28. return action_power.PowerTool(self._config, system, self, user, password, logger = logger).power("status")  
  29. File "/usr/lib/python2.4/site-packages/cobbler/action_power.py", line 116, in power  
  30. utils.die(self.logger,"command succeeded (rc=%s), but output ('%s') was not understood" % (rc, output))  
  31. File "/usr/lib/python2.4/site-packages/cobbler/utils.py", line 134, in die  
  32. raise CX(msg)  
  33. !!! TASK FAILED !!! 

解決方法詳見步驟8.二、8.3,詳細以下:

8.2 安裝電源管理工具cman

yum install cman -y

Cobbler代碼維護者jimi告知:某些系統版本將執行程序安裝在/sbin/目錄下,經過rpm -ql cman查看,CentOS5.8下如此解決便可

ln -s /sbin/fence_* /usr/sbin/

8.3 修改電源管理python腳本

備份

cp  /usr/lib/python2.4/site-packages/cobbler/action_power.py /usr/lib/python2.4/site-packages/cobbler/action_power.py.$(date +%F)

編輯

vim /usr/lib/python2.4/site-packages/cobbler/action_power.py 

刪除或註釋此文件以下代碼

utils.die(self.logger,"command succeeded (rc=%s), but output ('%s') was not understood" % (rc, output))

刪除文件action_power.pyo 、 action_power.pyc

這兩個文件在目錄/usr/lib/python2.4/site-packages/cobbler/下

重啓cobbler,注意必定是重啓cobbler

cobbler reboot

步驟8.二、8.3是我在使用電源管理中發現的問題,後經過github與Cobbler代碼維護者jimi溝通解決的,很是感謝他的幫助,詳見

https://github.com/cobbler/cobbler/issues/426

 

 《Cobbler部署指南》參考資料:

https://github.com/cobbler/cobbler/wiki

cobbler、koan man手冊及help命令幫助

 

 

轉自: http://blog.sina.com.cn/s/blog_61c07ac50101d0b7.html

相關文章
相關標籤/搜索