什么是 Cobbler?
Cobbler 是一个系统启动服务(boot server),可以通过网络启动(PXE)的方式用来快速安装、重装物理服务器和虚拟机,支持安装不同的 Linux 发行版和 Windows. Cobbler 是个轻量级 Python 程序,总共大概1.5万行代码,还可以用来管理 DHCP, DNS, yum 源等。Cobbler 使用命令行方式管理,也提供了基于 Web 的界面管理工具(cobbler-web)。
-----------------------------------------------------------------------------------------
实验环境:centos-6.4.x86_64
IP地址:172.16.8.10 && 192.168.100.254
-----------------------------------------------------------------------------------------
1.安装cobbler的相关组件,由于我们这里已经配置好了epel源,所有就直接安装了。
[root@node1 ~]# yum install dhcp cobbler cobbler-web pykickstart debmirror -y dhcp: 通过dhcp实现内网自动配置地址 debmirror: 镜像 cobbler-web: 图形化管理界面 pykickstart: pykickstart是一个Python库,用于阅读和写作的kickstart文件。
2.安装完毕就可以启动cobbler了,但是启动前必须先配置一些参数,要不会报错的。
1.修改/etc/cobbler/settings文件中的server参数的值为提供cobbler服务的主机相应的IP地址或主机名,如192.168.100.254; 2.修改/etc/cobbler/settings文件中的next_server参数的值为提供PXE服务的主机相应的IP地址,如192.168.100.254; 3.如果当前节点可以访问互联网,执行“cobbler get-loaders”命令即可;否则,需要安装syslinux程序包,而后复制/usr/share/syslinux/{pxelinux.0,menu.c32}等文件至/var/lib/cobbler/loaders/目录中; 4.执行“chkconfig rsync on”命令即可; 5.注释/etc/debmirror.conf文件中的“@dists="sid";”一行; 6.注释/etc/debmirror.conf文件中的“@arches="i386";”一行; 7.执行“openssl passwd -1 -salt $(openssl rand -hex 4)”生成密码,并用其替换/etc/cobbler/settings文件中default_password_crypted参数的值; 8.执行“yum install cman fence-agents”命令安装相应的程序包即可
3.安装syslinux程序包复制需要的配置文件
[root@node1 ~]# yum install syslinux -y [root@node1 ~]# cp /usr/share/syslinux/{pxelinux.0,menu.c32} /var/lib/cobbler/loaders/ [root@node1 ~]# cobbler sync 同步以下配置文件
4.配置DHCP服务
[root@node1 loaders]# cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf [root@node1 loaders]# vim /etc/dhcp/dhcpd.conf 修改和添加如下内容 option domain-name "yulong.com"; 修改成自己的域名 option domain-name-servers 192.168.100.254;内网地址 subnet 192.168.100.0 netmask 255.255.255.0 { range 192.168.100.10 192.168.100.200; option routers 192.168.100.254; } next-server 192.168.100.254; filename="pxelinux.0";
5.启动dhcp服务和tftp服务
[root@node1 dhcp]# service dhcpd start Starting dhcpd: [ OK ] [root@node1 dhcp]# vim dhcpd.conf [root@node1 dhcp]#service xinted start xinted: unrecognized service [root@node1 dhcp]# service xinetd start Starting xinetd: [ OK ]
6.定义cobbler要安装的系统,前提必须先把光盘镜像挂在到相应目录下
[root@node1 dhcp]# mount /dev/cdrom /media/ -r
7.使用以下命令进行导入系统
[root@node1 dhcp]# cobbler import --name=centos-6.4-x86_64 --path=/media --name=名字可以自己定义 --path=就是刚才挂在的点
8.导入完成以后可以查看下
[root@node1 dhcp]# cobbler list distros: centos-6.4-x86_64 profiles: centos-6.4-x86_64 systems:
9.安装system-config-kickstart软件来定义kickstart文件
[root@node1 ~]# yum install system-config-kickstart -y 安装完成以后执行如下命令启动 [root@node1 dhcp]# system-config-kickstart
10.配置kickstart图形界面
11.生成kickstart文件以后进行下修改
[root@node1 ~]# vim kickstart.cfg 我刚才保存的名字叫kickstart 修改和添加如下内容 url --url="http://192.168.100.254/cobbler/ks_mirror/centos-6.4-x86_64/" 修改为自己地址 因为刚才生成的没有格式硬盘分区到刚才的anaconda-ks.cfg 下拷贝这段到kickstart.cfg下 part /boot --fstype=ext4 --size=200 part pv.008002 --size=61440 volgroup vg0 --pesize=8192 pv.008002 logvol / --fstype=ext4 --name=root --vgname=vg0 --size=20480 logvol swap --name=swap --vgname=vg0 --size=2048 logvol /usr --fstype=ext4 --name=usr --vgname=vg0 --size=10240 logvol /var --fstype=ext4 --name=var --vgname=vg0 --size=204800
12.在cobbler下导入kickstart.cfg文件
root@node1 ~]# cobbler profile add --name=good good start day --distro=centos-6.4-x86_64 --kickstart=/tmp/kickstart.cfg --name: 可以自己定义 --distro: 不能乱写,就是刚才导入的系统名字 --kickstart: 也不能乱写,就是刚才制作的那个kickstart.cfg
13.查看下刚才定义的profiles,已经存在
[root@node1 ~]# cobbler list distros: centos-6.4-x86_64 profiles: centos-6.4-x86_64 linux-qq cenots-mini
14.新装个系统验证下,是否自动化安装
15.出现上述界面应该就木有说明问题了。