Red Hat发布的网络安装服务器套件Cobbler(在2008年左右发布),它已将 Linux网络安装的技术门槛,从大专以上文化水平,成功降低到初中以下,连补鞋匠都能学会。对于我们这些在装机领域浸淫多年,经验丰富,老骥伏枥,志在千里的民工兄弟们来说,不啻为一个晴天霹雳,杯具的是以前我竟然不会,话不多说,直接开始试验...
实验环境:cobbler server 10.1.6.234 (DELL 610 ubuntu12.04)
待安装服务器 *2 (DELL 410)
关于网络环境,都在同一个交换机下,同一vlan中,因为要用IPMI远程安装,网络环境还是要设置好的。
实验结果:ubuntu12.04、centos6.3安装成功,debian6、ubuntu12.10安装失败,下面开始部署cobbler环境。
1 安装cobbler
2 |
apt-get install cobbler |
4 |
apt-get install debmirror |
6 |
apt-get install cobbler-web |
使用到的相关环境包tftpd-hpa、dhcp3-server会自动安装。web界面可以通过http://10.1.6.234/cobbler_web查看,不过目前你还无法查看,因为相关用户还没有设置,为cobbler用户重置密码:
2 |
htdigest /etc/cobbler/ users .digest "Cobbler" cobbler |
2 配置基本安装环境
A 关于tftpd-hpa的配置:/etc/default/tftpd-hpa(默认无需修改,你可以根据自己的环境定制)
3 |
TFTP_DIRECTORY= "/var/lib/tftpboot" |
4 |
TFTP_ADDRESS= "0.0.0.0:69" |
5 |
TFTP_OPTIONS= "--secure" |
通过/etc/init.d/tftpd-hpa 脚本管理
B 关于dhcp的配置:/etc/dhcp/dhcpd.conf(需要根据你的环境进行设置,我所在的是10.1.6.x网段),不过为了使用脚本管理dhcp的运行,我们先设置/etc/default/isc-dhcp-server
/etc/default/isc-dhcp-server:因为我的cobbler server只启动了eth0网卡,所以dhcp监听在eth0接口上
/etc/dhcp/dhcpd.conf:
01 |
ddns-update-style none; |
02 |
default-lease- time 600; |
05 |
subnet 10.1.6.0 netmask 255.255.255.0 {
|
06 |
range 10.1.6.1 10.1.6.245; |
07 |
option routers 10.1.6.254; |
08 |
option broadcast-address 10.1.6.255; |
09 |
default-lease- time 600; |
11 |
next-server 10.1.6.234; |
12 |
filename "pxelinux.0" ; |
通过/etc/init.d/isc-dhcp-server 脚本管理
C 关于cobbler的配置,cobbler安装完成后,还是有很多目录要使用的,主要用到的解释如下:
/var/lib/cobbler 存储导入的镜像的配置信息,kickstarts目录存放kickstarts脚本,snippets目录存放在kickstat配置文件中可以执行的脚本,config目录提供配置信息,还有其他目录基本上无需配置。
/var/www/cobbler 是导入发行版的操作系统的数据目录,ks_mirror里面是导入的发行版系统,images里面是所有发行版的kernel和initrd,用于远程网络启动。
/var/log/cobbler 是日志目录
/etc/cobbler 是cobbler的配置文件目录,settings是主配置文件,里面还有一些相关配置模版,users.conf是用户,users.digest是用户及密码
别看这么多目录,其实安装cobbler完成后,基本配置也是不需要我们修改的,settings配置文件是主配置文件,有很多参数可以配置,详细的选项信息可以查看:http://cobbler.github.com/manuals/2.2.3/4/2_-_Cobbler_Settings.html
D 关于IPMI的配置,因为要远程安装,在DELL服务器中,IPMI这个工具还是很给力的,三台机器都需要设置IPMI,因为cobbler server有操作系统,所以可以在系统中通过ipmitool命令进行设置,而两台客户机因为还没有操作系统,所以要提前设置好ipmi,两台客户机如下设置:
设置IPMI地址及用户密码,开机按照提示按crtl+E进入IPMI配置界面
选择LAN Parameters,设置该客户机的IPMI地址是172.16.6.200
然后选择LAN User Configuration,设置root密码,然后保存退出。
为了在远程能抓到客户端的启动过程,还需要设置BIOS,开机按F2进入BIOS进行设置
选择Integrated Devices,因为只有一块网卡,所以设置从NIC1 启动PXE
选择Serial Communication,设置串口,然后保存退出。
3 初始化cobbler安装环境
前面说了我实验了四个发行版,成功两个,失败两个,为了快速安装都是导入相关iso作为安装源的,所以第一步是准备相关iso发行版,我的如下:
2 |
├── CentOS-6.3-x86_64-bin-DVD1.iso |
3 |
├── debian-6.0.2.1-amd64-CD-1.iso |
4 |
├── ubuntu-12.04-server-amd64.iso |
5 |
└── ubuntu-12.10-server-amd64.iso |
以ubuntu12.04为例进行讲解,因为用这个iso可以成功安装客户机
A 导入iso镜像
1 |
mount -o loop ubuntu-12.04-server-amd64.iso /mnt |
2 |
cobbler import --path=/mnt --name=ubuntu12.04 |
B 查看导入的结果:cobbler list,也可以使用cobbler profile/distro list查看