在学习中,学了kickstart无人值守自动安装,觉得配置太繁琐,而且管理也不太方便。后面在看51

CTO的运维趋势的时候,发现了同样功能的新工具Cobbler(补鞋匠)。下面就说一说怎么利用Cobbler进行自动安装吧。

 

Cobbler安装及配置步骤

    我参考了官网的Quickstart_Guide和1989丶的博客:使用Cobbler无人值守安装CentOS6.5(一)

 

     安装前,请确认你的/var目录至少有10G左右可用空间。

 

一.安装Cobbler。

    我使用yum工具安装的。命令如下:

[[email protected] ~]# yum install -y httpd cobbler tftp-server xinetd dhcp

    配置yum源:若是Centos的系统,请直接拷贝阿里的yum源配置文件到本地/etc/yum.repos.d/目录下即可。yum源链接:http://mirrors.aliyun.com/repo/

 

二.关闭selinux和防火墙。

    若无特殊需要,可以关闭selinux和防火墙。

    关闭selinux请编辑/etc/selinux/config文件,将SELINUX字段的值由enforcing改成disabled就可以了,不过要重启再生效的。

 

三.配置Cobbler。

    Cobbler的配置文件是/etc/cobbler/settings文件。直接使用vim编辑即可。

    

    首先,修改自动安装的系统的root密码。在配置文件中查找到字段

    default_password_crypted,将后面引号中的修改了,方法是使用命令

[[email protected] ~]# openssl passwd -1
Password: 
Verifying - Password: 
$1$yfp27H6s$Gg5WkRzdrubD14JkS5Lat/
[[email protected] ~]#

    将Verifying那行下面生成的**复制下来,替换掉字段后面的引号中的内容。

 

    然后,查找server字段和next_server字段,这两个字段,分别指明了Cobbler服务器地址和tftp服务器地址。一般装在同一个机器请设置成一样的。

 

    修改字段manage_dhcp字段,将其值由默认的0改为1,这样将使Cobbler可以管理dhcp。

 

    接着修改dhcp配置,编辑文件/etc/cobbler/dhcp.template文件。

    dhcp的配置和我上一个博客差不多,修改下图中标记字段即可,其它的一般不需要更改。

Linux之自动安装—Cobbler

差不多配置文件就弄好了。

 

四.启动Cobbler并检查。

    [[email protected] ~]# service cobblerd start

     能正常启动,接着使用#cobbler check命令检查配置。

    我这出现下面的信息。

    Linux之自动安装—Cobbler    

    百度一下,发现这样的问题可以通过以下方法解决:

[[email protected] ~]# cobbler service restart
[[email protected] ~]# cobbler get-loaders

    第二条命令要求你的网络是能访问cobbler官网的哈。

    再次执行#cobbler check出现以下信息:

[[email protected] cobbler]# cobbler check
The following are potential configuration items that you may want to fix:
1 : SELinux is enabled. Please review the following wiki page for details on ensuring cobbler works correctly in your SELinux environment:
    https://github.com/cobbler/cobbler/wiki/Selinux
2 : debmirror package is not installed, it will be required to manage debian deployments and repositories
3 : fencing tools were not found, and are required to use the (optional) power management features. install cman or fence-agents to use them
Restart cobblerd and then run 'cobbler sync' to apply changes.

    根据提示,发现第一条selinux我是已经关闭了,不过因为没有重启而没生效。重启会解决。

    第二条是deb包相关的,不用管。

    第三条是fencing tools,我们直接使用yum install -y fence-agents命令安装即可。

    最后有提示说,相关的东西改了,要重启cobbler并执行cobbler sync才会生效的哦。

    总之,有什么提示就按照提示解决吧。

    那好吧,我们将系统重启后,安装了fence-agents后,启动cobbler并执行cobbler sync.

 

五.导入发行版的安装源。

    导入之前,先得将安装源挂载到系统哈。

    1.如果安装源是光盘,请使用mount -r /dev/cdrom /mnt/cdrom命令挂载。注意系统是否将光盘识别为cdrom哦,我见过也有识别成dvd的。

    2.如果是ISO文件,请使用命令[[email protected] ~]# mount -o loop DISTROS_NAME.iso /MountPoint.

    挂载好了,使用以下命令导入发行版的安装源。

[[email protected] ~]# cobbler import --path=/mnt/cdrom/ --name=Centos6.6 --arch=x86_64

    这个命令的执行过程比较长哦,因为是会拷贝几个G的文件到/var/www/cobbler/ks_mirror/下哈,这也是开头说要求至少/var目录要有10G左右可用空间的原因哈。

Linux之自动安装—Cobbler

    

六.创建要安装的系统。

    使用下面的命令创建要安装的系统。

[[email protected] Centos6.6-x86_64]# cobbler system add --name=test --profile=Centos6.6-
x86_64

    Linux之自动安装—Cobbler

    可以看到创建成功了。最后。使用命令cobbler sync。

[[email protected] Centos6.6-x86_64]# cobbler sync
task started: 2015-05-10_005723_sync
task started (id=Sync, time=Sun May 10 00:57:23 2015)
running pre-sync triggers
cleaning trees
removing: /var/www/cobbler/p_w_picpaths/Centos6.6-x86_64
removing: /var/lib/tftpboot/pxelinux.cfg/default
removing: /var/lib/tftpboot/grub/efidefault
removing: /var/lib/tftpboot/grub/grub-x86.efi
removing: /var/lib/tftpboot/grub/p_w_picpaths
removing: /var/lib/tftpboot/grub/grub-x86_64.efi
removing: /var/lib/tftpboot/p_w_picpaths/Centos6.6-x86_64
removing: /var/lib/tftpboot/s390x/profile_list
copying bootloaders
trying hardlink /var/lib/cobbler/loaders/pxelinux.0 -> /var/lib/tftpboot/pxelinux.0
copying: /var/lib/cobbler/loaders/pxelinux.0 -> /var/lib/tftpboot/pxelinux.0
trying hardlink /var/lib/cobbler/loaders/menu.c32 -> /var/lib/tftpboot/menu.c32
copying: /var/lib/cobbler/loaders/menu.c32 -> /var/lib/tftpboot/menu.c32
trying hardlink /var/lib/cobbler/loaders/yaboot -> /var/lib/tftpboot/yaboot
copying: /var/lib/cobbler/loaders/yaboot -> /var/lib/tftpboot/yaboot
trying hardlink /var/lib/cobbler/loaders/grub-x86.efi -> /var/lib/tftpboot/grub/grub-x86.efi
trying hardlink /var/lib/cobbler/loaders/grub-x86_64.efi -> /var/lib/tftpboot/grub/grub-x86_64.efi
copying distros to tftpboot
copying files for distro: Centos6.6-x86_64
trying hardlink /var/www/cobbler/ks_mirror/Centos6.6-x86_64/p_w_picpaths/pxeboot/vmlinuz -> /var/lib/tftpboot/p_w_picpaths/Centos6.6-x86_64/vmlinuz
trying hardlink /var/www/cobbler/ks_mirror/Centos6.6-x86_64/p_w_picpaths/pxeboot/initrd.img -> /var/lib/tftpboot/p_w_picpaths/Centos6.6-x86_64/initrd.img
copying p_w_picpaths
generating PXE configuration files
generating PXE menu structure
copying files for distro: Centos6.6-x86_64
trying hardlink /var/www/cobbler/ks_mirror/Centos6.6-x86_64/p_w_picpaths/pxeboot/vmlinuz -> /var/www/cobbler/p_w_picpaths/Centos6.6-x86_64/vmlinuz
trying hardlink /var/www/cobbler/ks_mirror/Centos6.6-x86_64/p_w_picpaths/pxeboot/initrd.img -> /var/www/cobbler/p_w_picpaths/Centos6.6-x86_64/initrd.img
Writing template files for Centos6.6-x86_64
rendering DHCP files
generating /etc/dhcp/dhcpd.conf
rendering TFTPD files
generating /etc/xinetd.d/tftp
processing boot_files for distro: Centos6.6-x86_64
cleaning link caches
running post-sync triggers
running python triggers from /var/lib/cobbler/triggers/sync/post/*
running python trigger cobbler.modules.sync_post_restart_services
running: dhcpd -t -q
received on stdout: 
received on stderr: 
running: service dhcpd restart
received on stdout: 关闭 dhcpd:[确定]
正在启动 dhcpd:[确定]
received on stderr: 
running shell triggers from /var/lib/cobbler/triggers/sync/post/*
running python triggers from /var/lib/cobbler/triggers/change/*
running python trigger cobbler.modules.scm_track
running shell triggers from /var/lib/cobbler/triggers/change/*
*** TASK COMPLETE ***

    可以看到运行成功了,下来我们就可以使用新机器测试是否可以自动安装了。

    Linux之自动安装—Cobbler

可以看到,应该是成功了。进入Centos6.6-x86_64进行安装试一试。

Linux之自动安装—Cobbler

Linux之自动安装—Cobbler

好的,也是OK。就到此为止了同,关于详细的定制自动安装的很多配置,在这就不深入讨论了,请大家看一下文档吧。