2013-07-25 
 
一、安装和修改cobbler配置
1. Cobbler不在CentOS的基本源中,需要导入EPEL源升级软件包, 确保epel-release包的版本为最新,当前最新版本为6-8:
# rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
2. yum安装cobbler包
# yum -y install cobbler
3. 【可选】新版的Fedora安装系统存放在“testing”存储库中一段时间来检查有没有bug,如果你想通过EPEL安装最新版的cobbler(未通过生产环境验证有没有bug),可在安装或升级时启动-testing模式。
# sudo yum -y install --enablerepo=epel-testing cobbler
or
# sudo yum -y update --enablerepo=epel-testing cobbler
4. 安装dhcp服务
# yum -y install dhcp
5. 其他服务的安装
额外需要的服务还有httpd rsync tftp-server xinetd,如果系统没有装上的话,可以执行以下执行安装。
# yum -y install httpd rsync tftp-server xinetd
6. 开启cobbler服务,重启Apache服务,设置各个服务开机自启动
# service httpd start
# service cobblerd start
# service xinetd start
# /sbin/chkconfig httpd on
# /sbin/chkconfig dhcpd on
# /sbin/chkconfig xinetd on
# /sbin/chkconfig tftp on
# /sbin/chkconfig cobblerd on
7. 关闭SELinux和防火墙
# vi /etc/sysconfig/selinux
SELINUX=enforcing更改为SELINUX=disabled
设置SELinux 成为permissive模式
# setenforce 0
关闭防火墙功能
# /etc/init.d/iptables stop
# chkconfig  --del iptables
重启cobbler服务
# service cobbler restart
8. 修改cobbler配置
# vi /etc/cobbler/setting
'next_server: 127.0.0.1' 替换本机IP地址 (DHCP服务地址)
'server: 127.0.0.1' 替换本机IP地址(cobbler服务地址)
'manage_dhcp: 0' 替换为 1(cobbler管理dhcp,后面用于同步更新配置信息[cobbler sync])
'manage_rsync: 0' 替换为 1 (cobbler管理rsync功能)
9. 加载部分缺失的网络boot-loaders
# cobbler get-loaders
10. 启动tftp和rsync服务
# vi /etc/xinetd.d/tftp
修改成:disable=no
# vi /etc/xinetd.d/rsync
修改成:disable=no
11. 修改DHCP模板,确保DHCP分配的地址和Cobbler在同一网段
# vi /etc/cobbler/dhcp.template
ddns-update-style interim;
 
allow booting;
allow bootp;
 
ignore client-updates;
set vendorclass = option vendor-class-identifier;
 
#需要修改192.168.0.0为自己网段
subnet 192.168.0.0 netmask 255.255.255.0 {
#修改自己的路由
     option routers             192.168.0.1;
#域名服务器地址
     option domain-name-servers 202.106.0.20;
#子网掩码
     option subnet-mask         255.255.255.0;
#分配IP地址段
     range dynamic-bootp        192.168.0.100 192.168.0.254;
     filename                   "/pxelinux.0";
     default-lease-time         21600;
     max-lease-time             43200;
     next-server                $next_server;
}
 
12. 如果要部署Debian/ubuntu系统则需要debmirror软件包
# yum install wget
# yum install ed patch perl perl-Compress-Zlib perl-Cwd perl-Digest-MD5 \
perl-Digest-SHA1 perl-LockFile-Simple perl-libwww-perl
# wget ftp://fr2.rpmfind.net/linux/epel/5/ppc/debmirror-20090807-1.el5.noarch.rpm
# rpm -ivh debmirror-20090807-1.el5.noarch.rpm 
修改/etc/debmirror.conf配置文件,注释掉@dists和@arches两行
# vi /etc/debmirror.conf
...
#@dists="sid";
@sections="main,main/debian-installer,contrib,non-free";
#@arches="i386";
...
 
13. 修改cobbler的默认密码
用 openssl 生成一串密码后加入到 cobbler 的配置文件(/etc/cobbler/settings)里,替换 default_password_crypted 字段:
#   openssl passwd -1 -salt 'random-phrase-here' '1234567890'
$1$random-p$RkqDMTpuNlZZhJ7moLn3Q.
#   vi /etc/cobbler/settings
default_password_crypted: "$1$random-p$RkqDMTpuNlZZhJ7moLn3Q." 
注意:这里保存的密码,将会用于批量部署机器中,root账户的登录密码。
14. 安装cman启动电源管理功能
# yum install cman
15. 检查cobbler安装环境
# cobbler check
No configuration problems found.  All systems go.
注意,一定要修复完全部的configuration problems,否则tftp会出现连接超时,cobbler无法通过PXE进行系统批量安装的操作。
# cobbler sync
二、导入ISO文件 
1. 上传ISO镜像至服务器
2. 创建文件夹
# mkdir -p /system/ubuntu12.04
3. 挂载ISO镜像到/system /ubuntu12.04 目录 
# mount -o loop ~/Downloads/ubuntu-12.04-server-amd64.iso /system/ubuntu12.04/
4. 从iso中导入客户端的OS。这将自动设置了“x86_64”,并将其命名为ubuntu12.04。
# cobbler import --path=/system/ubuntu12.04/ --name=ubuntu12.04 --arch=x86_64
这需要一点时间,不要急。可查看/var/www/cobbler/ks_mirror/ubuntu12.04-x86_64/目录文件生成情况。
# cobbler sync
# cobbler list
distros: 
   ubuntu12.04-x86_64 
profiles: 
   ubuntu12.04-x86_64 
systems: 
repos: 
   ubuntu12.04-x86_64 
images: 
mgmtclasses: 
packages:
 files: 
 
三、部署测试
创建一台虚拟机测试一下,把虚拟机设置成网络 PXE 启动(和 cobbler 在同一个网络),启动后就可以看到 Cobbler 引导界面,看到界面后选择 ubuntu12.04-x86_64 条目就可以顺利开始无人工干预安装系统,Cobbler 引导界面如下: 
 
完成自动化安装后,使用root用户账号登录,密码为之前在配置文件中写入的值(本文为1234567890)
 
 
四、配置文件
cobbler有许多的配置文件,但是只有少部分基本功能需要修改。 
Settings File
Modules Configuration
Cobbler最主要的setting file就是/etc/cobbler/settings。Cobbler2.4.0开始引入动态修改模式(Dynamic Settings),我们只需启动这一模式,便不用再手动修改这个文件了。该文件是YAML格式的,如果直接修改setting文件,则必须重启cobbler服务才会生效,但如果是通过CLI命令或者是Web GUI进行修改的话,改动会立即生效,无需重启服务。
 
五、常见问题
1、cobblerd校验错误:
cobblerd does not appear to be running/accessible
解决方法:
service cobblerd start
service httpd start
 
2、重启httpd错误:
Starting httpd: Syntax error on line 10 of /etc/httpd/conf.d/cobbler.conf:
Invalid command 'WSGIScriptAliasMatch', perhaps misspelled or defined by a module not included in the server configuration
解决方法:
 vi /etc/httpd/conf.d/wsgi.conf
 #LoadModule wsgi_module modules/mod_wsgi.so 去掉#号,使之成为:LoadModule wsgi_module modules/mod_wsgi.so。
 
3、httpd、SELinux未运行:
httpd does not appear to be running and proxying cobbler, or SELinux is in the way. Original traceback:
Traceback (most recent call last):
解决方法:
service httpd start
vi /etc/sysconfig/selinux
SELINUX=enforcing更改为SELINUX=disabled,重启使之生效。
 
4、较验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: <Fault 1: "cobbler.cexceptions.CX:'login failed'">
解决方法:此为BUG,按下方操作执行即可。
service cobblerd restart
cobbler get-loaders

Cobbler批量安装Ubuntu/CentOS系统的更多相关文章

  1. Cobbler全自动批量安装部署Linux系统

    说明: Cobbler服务器系统:CentOS 5.10 64位 IP地址:192.168.21.128 需要安装部署的Linux系统: eth0(第一块网卡,用于外网)IP地址段:192.168.2 ...

  2. Cobbler 批量安装操作系统

    文章目录 环境准备 部署cobbler cobbler语法检查以及排错 问题1 问题2 问题3 问题4 问题5 问题6 问题7 问题8 修改dhcp模板 重启服务,再次检查 镜像配置 镜像导入 kic ...

  3. 安装Ubuntu Linux系统时硬盘分区最合理的方法

    无论是安装Windows还是Linux操作系统,硬盘分区都是整个系统安装过程中最为棘手的环节,网上的一些Ubuntu Linux安装教程一般都是自动分区,给初学者带来很大的不便,下面我就根据多年来在合 ...

  4. 安装Ubuntu双系统系列——安装Ubuntu

    一.将Ubuntu系统烧进U盘 1.打开老毛桃,选择“U盘启动” -> "ISO模式":选择ISO文件,我这里安装的是Ubuntu12.04-64bit,你可以在网上下载一个 ...

  5. 一键cobbler批量安装脚本

    前几天机房上架180台服务器,太多了,使用了cobbler批量安装,具体的看我上代码,我把配置cobbler的命令给堆积起来,也算是个脚本吧,欢迎拍砖指正,下面我上脚本: #!/bin/bash # ...

  6. win8 or win7安装ubuntu双系统

    安装双系统的效果 现在使用win和linux双系统,整个环境相当方便好用,比如在Linux系统上,仍能访问NTFS(win的文件系统格式)中的文件和文档,当然win下的一些像matlab.vs等是不能 ...

  7. Windows7上安装Ubuntu双系统

    零.前言 最近不小心把Ubuntu系统搞崩了打不开了,在网上找了找方法,从最初的步骤开始安装,本文是安装Ubuntu16.04,不过安装啥版本步骤都一样,下面逐一介绍. 一.如何卸载Ubuntu(第一 ...

  8. VMware 虚拟机 不能上网 CentOS 6.5 Windows 7上面安装了VMware,然后安装了CentOS系统,安装完了无法上网;

    今天想要学习一下大数据的知识,在windows 7上面 安装了VMware,然后安装了Centos系统,但是发现安装完了,无法上网 我在Centos上面 使用 ping www.baidu.com 始 ...

  9. 用U盘安装Ubuntu主系统

    用U盘安装Ubuntu主系统 0. 学习Ubuntu系统的的动机 ubuntu系统的内核是linux系统,通过Ubuntu的学习,掌握lInux服务器搭建!!!! 硬件要求:闲置的笔记本  +  U盘 ...

随机推荐

  1. [轻微]WEB服务器启用了OPTIONS方法/如何禁止DELETE,PUT,OPTIONS等协议访问应用程序/tomcat下禁用不安全的http方法

    使用了360网站安全检测 查到有OPTIONS方法 百度了下 https://my.oschina.net/maliang0130/blog/338725 找到这个方法奈何http.conf 找不到无 ...

  2. Chrome开发者工具详解(1)

    Chrome开发者工具面板 面板上包含了Elements.Console.Sources.Network.Timeline.Profiles.Application.Security.Audits这些 ...

  3. 微信商城系统与手机APP的优势对比!

    随着移动互联网的大势到来,手机移动应用已经成为未来的主流市场,很多企业也在投入精力和财力进行研发自己的手机APP,以便更好的迎合市场的需求. 然而当微信公众平台开放以后,新的机会出现了! 很多企业已经 ...

  4. android: SQLite创建数据库

    SQLite 是一款轻量级的关系型数据库,它的运算速度非常快, 占用资源很少,通常只需要几百 K 的内存就足够了,因而特别适合在移动设备上使用.SQLite 不仅支持标准的 SQL 语法,还遵循了数据 ...

  5. C#中的串口通信

    关于串行接口 串行接口(Serial port)又称“串口”,主要用于串行式逐位数据传输.常见的有一般电脑应用的RS-232(使用 25 针或 9 针连接器)和工业电脑应用的半双工RS-485与全双工 ...

  6. ubuntu 16.04 samba 文件共享

    生成samba用户名密码修改配置文件重启samba服务使之生效 以前在ubuntu 14.04的时候,很方便的通过几行命令和一个GUI界面就可以配置好samba共享文件给windows了: Ubunt ...

  7. RPM -U 升级机制探索

    今天被RPM升级机制狠狠的阴了一把,差点没过来,趁着热乎赶紧记录下来,已被后用. RPM包有升级机制(Upgrade), 使用-U 参数.这点我之前略有耳闻,知道的并不详细. 先说说案例:半年前我们r ...

  8. Spark随机森林实现学习

    前言 最近阅读了spark mllib(版本:spark 1.3)中Random Forest的实现,发现在分布式的数据结构上实现迭代算法时,有些地方与单机环境不一样.单机上一些直观的操作(递归),在 ...

  9. 机器学习基石--学习笔记02--Hard Dual SVM

    背景 上一篇文章总结了linear hard SVM,解法很直观,直接从SVM的定义出发,经过等价变换,转成QP问题求解.这一讲,从另一个角度描述hard SVM的解法,不那么直观,但是可以避免fea ...

  10. HDU 4686 Arc of Dream (矩阵快速幂)

    Arc of Dream Time Limit: 2000/2000 MS (Java/Others)    Memory Limit: 65535/65535 K (Java/Others)Tota ...