Cobbler批量安装系统

  • 安装和修改cobbler配置

  • 关闭SELinux和防火墙
     vi/etc/sysconfig/selinux
    SELINUX=enforcing更改为SELINUX=disabled
    设置SELinux 成为permissive模式
    setenforce 0
    关闭防火墙功能
    /etc/init.d/iptables stop
    chkconfig  iptables off

  • 不在CentOS的基本源中,需要导入EPEL源升级软件包, 确保epel-release包的版本为最新,当前最新版本为6-8:
    rpm -Uvhhttp://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

  • 安装cobbler所需包
    yum -y install cobbler tftp dhcp httpd cman pykickstart debmirror ed patch perl perl-Compress-Zlib perl-Digest-SHA1 perl-LockFile-Simple perl-libwww-perl

 

yum-y install --enablerepo=epel-testing cobbler
yum -y update --enablerepo=epel-testingcobbler

4. 开启cobbler服务,重启Apache服务,设置各个服务开机自启动
service httpd start
service cobblerd start
service xinetd start
chkconfig httpd on
chkconfig dhcpd on
chkconfig xinetd on
chkconfig cobblerd on

 

5.改apache相关配置并重新启动

注,从apache启动信息可以看出apache启动有点小错误,我们来修正一下。

vim/etc/httpd/conf/httpd.conf

增加一行

ServerNamelocalhost:80

重启服务

service httpdrestart

 

6. 修改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功能)

'pxe_just_once:0' 替换为1 (预防将机器中的安装循环配置为始终从网络引导)

7. 加载部分缺失的网络boot-loaders
cobbler get-loaders

8. 启动tftp和rsync服务
 vi/etc/xinetd.d/tftp
修改成:disable=no
vi /etc/xinetd.d/rsync
修改成:disable=no

9. 修改DHCP模板,确保DHCP分配的地址和Cobbler在同一网段
vi /etc/cobbler/dhcp.template

ddns-update-style interim;

allow booting;
allow bootp;

ignore client-updates;
set vendorclass = optionvendor-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;
}

10. 修改/etc/debmirror.conf配置文件,注释掉@dists和@arches两行
vi /etc/debmirror.conf

...
 #@dists="sid";
 @sections="main,main/debian-installer,contrib,non-free";
 #@arches="i386";
 ...


11.
修改cobbler的默认密码
用 openssl 生成一串密码后加入到 cobbler 的配置文件(/etc/cobbler/settings)里,替换default_password_crypted 字段:
openssl passwd -1 -salt 'stack' 'qwer1011'
$1$random-p$UwPkXydpnkIkdk6Db/DhN/
#  vi /etc/cobbler/settings

default_password_crypted:"$1$random-p$UwPkXydpnkIkdk6Db/DhN/
注意:这里保存的密码,将会用于批量部署机器中,root账户的登录密码。

改完后重启cobbler

/etc/init.d/cobblerdrestart

12. 同步配置
# cobbler sync

同步出错时

/etc/init.d/cobblerrestart

cobbler get-loaders

然后再执行  cobbler sync

13.检查cobbler安装环境# cobbler check
No configuration problems found.  All systems go.
注意,一定要修复完全部的configuration problems,否则tftp会出现连接超时,cobbler无法通过PXE进行系统批量安装的操作。

二、导入ISO文件

1. 上传ISO镜像至服务器

2. 创建文件夹
# mkdir -p /mnt/system/ubuntu14.0

3. 挂载ISO镜像到/mnt/system /ubuntu12.04 目录

# mount -o loop~/Downloads/ubuntu-12.04-server-amd64.iso /mnt/system/ubuntu14.0-server/

4. 从iso中导入客户端的OS。这将自动设置了“x86_64”,并将其命名为ubuntu14.0。
# cobbler import --path=/system/ubuntu14.0-server/ --name=ubuntu14.0-server--arch=x86_64
这需要一点时间,不要急。可查看/var/www/cobbler/ks_mirror/ubuntu14.0-server-x86_64/目录文件生成情况。
# cobbler sync
# cobbler list

distros: 
    ubuntu14.0-server-x86_64 
 profiles: 
    ubuntu14.0-server-x86_64 
 systems: 
 repos: 
    ubuntu14.0-server-x86_64 
 p_w_picpaths: 
 mgmtclasses: 
 packages:
  files: 

Centos 5.8 ,6.5  esxi5.1同理导入

注:centos5.8 导入时,会出现2系统配置 其中“ centos5.8-xen“ 为错误的。需要单独配置kickstack 文件建议删除掉。

Kickstack 配置文件生成请看“kickstack 制作”

 

命令:cobbler profile add|edit|remove--name=安装引导名 --distro=系统镜像名--kickstart=kickstart自动安装文件路径

--name:自定义的安装引导名,注意不能重复

--distro:系统安装镜像名,用cobblerdistrolist可以查看

--kickstart:与系统镜像文件相关联的kickstart自动安装文件

#查看Cobbler列表

cobbler list

cobbler report

cobbler profile report

cobbler distro list