cobbler 安装与配置
cobbler是一个再次封装的PXE。核心概念:
Distribution:每一个distrbution是一个仓库,是一个可安装的发行版。具体如何安装需要其它组件定义。每个distribution都会依赖一个Repository才可以完成安装。distribution用来定义每个发行版的内核以及initrd的文件,来确定安装那个发行版的操作系统。内核启动后需要到repository中获取系统安装过程中的各个文件。
Repository:yum仓库,是distribution启动后必须要指定仓库的组件。
Profile:每个profile包含了 distribution , kickstart file , repositories。
distrbution:profile需要指明这个profile是为那个distribution定义的。
repositories:用来定义客户端启动引导时需要的内核,ramdisk等。只是启动用到不是安装时的内核。
kickstart file:自动应答文件。
System:对profile再次抽象,为某个操作系统配置IP,MAC。它已具体到节点的配置了。
Image:如是虚拟环境,system可以直接指定image映像文件,下载后直接启动就可以了。这时repository只是一个yum仓库,因为虚拟系统不需要安装。
system 和 image 并非必须的组件
cobbler 运行中依赖的服务:
TFTP:用来存储网络引导时的 kernel 和 ramdisk
rsync:repository可以从光盘导入。也可以向互联网同步文件到repository。rsync是同步文件时用到的工具。
dhcp:用来为启动后的客户机分配ip,指定next-server。
dns:用来识别每个主机的主机名会用到,但非必须。
安装配置:
cobbler位于epel源中
# yum list cobbler*
# yum install cobbler
cobbler依赖http服务,需要启动,在安装完成后会生成一个/var/www/cobbler目录,内部分别用来存储:
images:映像文件的存储位置
aux:辅助文件存储位置。
ks_mirror:各个自动应答文件的存储位置,与每个distrbution相对应。
repo_mirror:各个yum 仓库的映射
- # service httpd start
- # service cobblerd start
- # ss -tnll 监听于25151说明已启动成功
- # cobbler --help 获取cobbler命令的使用帮助
- # cobbler check 检查cobbler环境,需要全部解决才可以,但有一些可以忽略。
- # vim /etc/cobbler/settings
- service: 172.16.2.16
- next_server: 172.16.2.16 指向tfpt服务器的地址
- # openssl passwd -1 -salt `openssl rand -hex 4` 生成密码,
- # vim /etc/cobbler/settings 用生的密钥把默认的密钥替换掉
- default_password_crypted: "$1$72b74cfb$nL62A3vP.zXDJr5YZyYD/."
- # yum -y install fence-agents
- # yum -y install pykickstart
- # chkconfig rsync on
- # service xinetd restart
- # cp -r /usr/share/syslinux/* /var/lib/cobbler/loaders/
- # cobbler sync
- # service cobblerd restart
- # cobbler sync
配置cobbler所依赖的服务
dhcp:使用dhcp包或dnsmasq
dns:使用bind或dnsmasq
rsync:使用xinetd管理
tftp:使用tftp-server或都cobbler自带的tftp
dnsmasq:可以提供dhcp 和dns 功能,一般用在嵌入环境中。
1,选定要使用的程序
2,确定是独立管理这些服务,还是由cobbler代为管理。
这里没有使用cobbler管理这些服务。
cobbler组件:
distro:可以使用distro命令或import命令实现
cobbler上distro可以有多个,同一个distro之上可以定义多个profile,每个profile使用kickstart文件。
# mount /dev/cdrom /mnt
# cobbler import --path=/mnt --name=centos-6.5-x86_64
导入过程是把光盘上的内容复制到/var/www/cobbler/ks_mirror/目录下与name同名的目录。这个目录下就是一个yum源。
- # cobbler distro list 查看已导入的源
- # wget -P /tmp http://172.16.0.1/centos6.x86_64.cfg 下载一个自动应答文件
- # ksvalidator centos6.x86_64.cfg 检查自动应答文件是否有语法错误,如果有错误需要修改。如果自动安装时有错误还需要返回来修改。
- # cobbler profile add --help 获取帮助
- # cobbler profile add --name=centos-6.5-x86_64-basic --distro=centos-6.5-x86_64 --kickstart=/tmp/centos6.x86_64.cfg 添加一个profile名字叫centos-6.5-x86_64-basic , 为centos-6.5-x86_64这个distro添加,自动应答文件是/tmp/centos6.x86_64.cfg,
- # cobbler profile list 查看刚创建的profile
- # cobbler sync 把上面的配置同步一下。
修改profile的命令:cobbler profile edit --name=<被修改的profile> --distro=<基于那个distrbution> --kickstart=<应答文件>
修改完成后需要执行 cobbler sync 同步。cobbler sync 就是把创建或修改后的配置写入到/var/lib/tfptboot/pxelinux.cfg/default 。 这个文件的内容如下:与grub的配置文件相似。
- =======================================
- DEFAULT menu
- PROMPT 0
- MENU TITLE Cobbler | http://www.cobblerd.org/
- TIMEOUT 200
- TOTALTIMEOUT 6000
- ONTIMEOUT local
- LABEL local 默认从本地硬盘引导
- MENU LABEL (local)
- MENU DEFAULT
- LOCALBOOT -1
- LABEL centos-6.5-x86_64
- kernel /images/centos-6.5-x86_64/vmlinuz
- MENU LABEL centos-6.5-x86_64
- append initrd=/images/centos-6.5-x86_64/initrd.img ksdevice=bootif lang= kssendmac text ks=http://172.16.2.14/cblr/svc/op/ks/profile/centos-6.5-x86_64
- ipappend 2
- LABEL centos-6.5-x86_64-basic 这里是上面创建的profile
- kernel /images/centos-6.5-x86_64/vmlinuz
- MENU LABEL centos-6.5-x86_64-basic
- append initrd=/images/centos-6.5-x86_64/initrd.img ksdevice=bootif lang= kssendmac text ks=http://172.16.2.14/cblr/svc/op/ks/profile/centos-6.5-x86_64-basic 自动应答文件的位置
- ipappend 2
- MENU en
- =======================================
- cobbler web配置与用法
- # yum install cobbler-web 由于使用的pythone研发,所以安装了Django。连接使用HTTPS所以安装了mod_ssl模块
- # cd /etc/cobbler/
- # vim modules.conf
- [authentication]
- module = authn_pam 修改使用pam认证
- # useradd cbradmin 添加用户
- # passwd cbradmin 用户的密码
- # vim users.conf
- [admins]
- admin = "cobbler"
- cobbler = ""
- # service cobblerd restart
- # service httpd restart
使用http协议访问。后加上路径/cobbler_web