Cobbler是一个快速网络安装linux的服务,而且在经过调整也可以支持网络安装windows。该工具使用python开发,小巧轻便,使用简单的命令即可完成PXE网络安装环境的配置,同时还可以管理DHCP,DNS,以及yum包镜像。下面一步步来实现吧
- cobbler.laoguang.me 192.168.1.23
- yum -y install dhcp
- yum -y install tftp xinetd httpd
- setenforce 0
- service iptables stop
- yum -y --nogpgcheck localinstall cobbler-2.2.2-1.el6.rf.noarch.rpm \
- python-yaml-3.09-3.el6.rf.x86_64.rpm
- service cobblerd start
- service httpd start
- service xinetd start
- cobbler check
- --------------------------------------------
- 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/"
- -----------------------------------------
- service cobblerd restart
- mount /dev/cdrom /cdrom
- cobbler import --path=/cdrom --name=RedHat-6.3-x86_64
- vi /etc/cobbler/settings
- manage_dhcp: 1
- 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 sync
- vi /etc/cobbler/settings
- default_kickstart: /var/lib/cobbler/kickstarts/default.ks ##看到了吧,用的是default.ks
- yum -y install system-config-kickstart
- system-config-kickstart