Cobbler是一个快速网络安装linux的服务,而且在经过调整也可以支持网络安装windows。该工具使用python开发,小巧轻便,使用简单的命令即可完成PXE网络安装环境的配置,同时还可以管理DHCP,DNS,以及yum包镜像。下面一步步来实现吧
实验平台:rhel 6.3 x86_64一.环境准备1.1 安装dhcp
- cobbler.laoguang.me 192.168.1.23
1.2 安装其它所需服务如:tftp xinetd httpd ##靠tftp传输文件,tftp依赖xinetd,httpd这个我暂时不清楚
- yum -y install dhcp
1.3 关闭selinux iptables
- yum -y install tftp xinetd httpd
二.安装cobbler2.1 下载安装cobbler与依赖的包python-yaml下载地址:http://www.kuaipan.cn/file/id_33139203151758501.html ,其它平台的可以去http://rpm.pbone.net/找,这个网站你一定不能忘记
- setenforce 0
- service iptables stop
2.2 启动cobbler
- yum -y --nogpgcheck localinstall cobbler-2.2.2-1.el6.rf.noarch.rpm \
- python-yaml-3.09-3.el6.rf.x86_64.rpm
2.3 启动httpd
- service cobblerd start
2.4 启用xinetd
- service httpd start
2.4 cobbler 检查配置
- service xinetd start
- cobbler check
2.5 重启cobbler
- --------------------------------------------
- The following are potential configuration items that you may want to fix:
- 1 : The 'server' field in /etc/cobbler/settings must be set to something other than localhost,
- or kickstarting features will not work. This should be a resolvable hostname the or IP for boot
- server as reachable by all machines that will use it.
- 修改/etc/cobbler/settings 中server选项为:
- server: 192.168.1.23
- 2 : For PXE to be functional, the 'next_server' field in /etc/cobbler/settings must be set to
- something other than 127.0.0.1, and should match the IP of the boot server on the PXE network.
- 修改/etc/cobbler/settings 中next_server选项为:
- next_server: 192.168.1.23
- 3 : Must enable a selinux boolean to enable vital web services components, run: setsebool -P httpd_
- can_network_connect true
- 关闭selinux
- 4 : you need to set some SELinux content rules to ensure cobbler serves content correctly in your
- SELinux environment, run the following: /usr/sbin/semanage fcontext -a -t public_content_t "/var/
- lib/tftpboot/.*" && /usr/sbin/semanage fcontext -a -t public_content_t "/var/www/cobbler"/images/.*
- 关闭selinux
- 5 : you need to set some SELinux rules if you want to use cobbler-web (an optional package), run the following:
- /usr/sbin/semanage fcontext -a -t httpd_sys_content_rw_t "/var/lib/cobbler/webui_sessions/.*"
- 关闭selinux
- 6 : some network boot-loaders are missing from /var/lib/cobbler/loaders, you may run 'cobbler get-loaders'
- to download them, or, if you only want to handle x86/x86_64 netbooting, you may ensure that you have installed
- a *recent* version of the syslinux package installed and can ignore this message entirely. Files in this directory,
- should you want to support all architectures, should include pxelinux.0, menu.c32, elilo.efi, and yaboot.
- The 'cobbler get-loaders' command is the easiest way to resolve these requirements.
- 运行cobbler get-loaders
- cobbler get-loaders ## 前提你能上网,出现*** TASK COMPLETE *** 代表ok
- 7 : change 'disable' to 'no' in /etc/xinetd.d/rsync
- 我们不用rysnc同步文件,如果用的话修改/etc/xinetd.d/rsync
- vi /etc/xinetd.d/rsync
- disable = no
- 8 : reposync is not installed, need for cobbler reposync, install/upgrade yum-utils?
- 可以不用理会,因为我们不用rsync同步ISO
- 9 : yumdownloader is not installed, needed for cobbler repo add with --rpm-list parameter, install/upgrade yum-utils?
- 同上
- 10 : debmirror package is not installed, it will be required to manage debian deployments and repositories
- 我们不是debian可以不用理会
- 11 : ksvalidator was not found, install pykickstart
- 安装pykickstart
- yum -y install pykickstart
- 12 : The default password used by the sample templates for newly installed machines (default_password_crypted
- in /etc/cobbler/settings) is still set to 'cobbler' and should be changed, try: "openssl passwd -1 -salt 'random-phrase-here'
- 'your-password-here'" to generate new one
- 修改cobbler的密码,防止其它正常主机由pxe启动后安装系统
- openssl passwd -1 -salt 51cto laoguang ##生成密码
- $1$51cto$nTnuekFUB6sByi97bt7df/ ##将它复制到setting中
- vi /etc/cobbler/settings
- default_password_crypted: "$1$51cto$nTnuekFUB6sByi97bt7df/"
- -----------------------------------------
三.cobbler的配置 3.1 导入欲安装的系统的镜像文件 将redhat 6.3 x86_64 的ISO挂载/cdrom
- service cobblerd restart
导入需要的安装文件到cobbler的/var/www/cobbler/ks_mirrors下,并生成一profile,此过程需要一段时间,耐心等待
- mount /dev/cdrom /cdrom
3.2 配置dhcp服务,让cobbler来管理
- cobbler import --path=/cdrom --name=RedHat-6.3-x86_64
3.3 修改/etc/cobbler/dhcp.template模板文件中的配置,其它的默认即可
- vi /etc/cobbler/settings
- manage_dhcp: 1
3.4 同步cobbler配置
- vi /etc/cobbler/dhcp.template
- subnet 192.168.1.0 netmask 255.255.255.0 { ##根据需要修改
- option routers 192.168.1.1; ##路由ip
- #option domain-name-servers 192.168.1.1; ##dns的ip,我没使用
- option subnet-mask 255.255.255.0; ##掩码
- range dynamic-bootp 192.168.1.100 192.168.1.254; ##dhcp分配的ip范围
- filename "/pxelinux.0";
- default-lease-time 21600; ##dhcp的默认释放时间
- max-lease-time 43200; ##最大时间
- next-server $next_server; ##pxe使用的ip,$next_server在setting中定义的你忘了吗
- }
cobbler会自动进行初始化工作,移除已经存在的启动项,然后根据模板拷贝loader文件。之后再生成pxe的配置文件,生成dhcp的配置文件,最后再重启dhcp服务。关键查看dhcp,tftp有没有启动成功。四.测试安装系统 4.1 新建个虚拟机,网络记的是brige哦,新建的虚拟机网络默认是nat的,我就因为这个怎么都安装不上,启动虚拟机,调整启动顺序从网络启动(我用的是vmware,如果你没有挂cd的iso,也虚拟机是新建的直接启动应该是可以的)如下图 五.定制自己的kickstart文件定制自己的kickstart文件而不是使用默认的,kickstart文件cobbler放在了/var/lib/cobbler/kickstarts/中,查看cobbler默认使用的哪个
- cobbler sync
5.1 自定义kickstart文件。如果你对kickstart文件理解透彻,直接修改或新建即可,如果还是很精通就用gui工具吧
- vi /etc/cobbler/settings
- default_kickstart: /var/lib/cobbler/kickstarts/default.ks ##看到了吧,用的是default.ks
安装完毕后打开软件
- yum -y install system-config-kickstart
根据自己的需要修改即可,修改完毕后保存,修改settings中的设置,重启cobbler即可 本文参考:http://os.51cto.com/art/201109/288604.htm
- system-config-kickstart
本文出自 “Free Linux, Share Linux” 博客,请务必保留此出处http://laoguang.blog.51cto.com/6013350/1097874