1:导入centos 6.3 iso
加载iso
mount -t auto -o loop /root/CentOS-6.3-x86_64-bin-DVD1.iso /mnt
导入centos 6.3
估计是由于centos里光盘信息比较多,所以导入的时候,会同时创建一个distro,profile。并且还设置的repo。不过这个repo,只包括DVD1,如果希望包括DVD2,还需要做设置才行。
# cobbler import --path=/mnt --name=CentOS6.3 --arch=x86_64 task started: 2012-08-06_140452_import task started (id=Media import, time=Mon Aug 6 14:04:52 2012) Found a redhat compatible signature: Packages adding distros creating new distro: CentOS6.3-x86_64 creating new profile: CentOS6.3-x86_64 associating repos traversing distro CentOS6.3-x86_64 descent into /var/www/cobbler/ks_mirror/CentOS6.3-x86_64 processing repo at : /var/www/cobbler/ks_mirror/CentOS6.3-x86_64 need to process repo/comps: /var/www/cobbler/ks_mirror/CentOS6.3-x86_64 looking for /var/www/cobbler/ks_mirror/CentOS6.3-x86_64/repodata/*comps*.xml running: createrepo -c cache -s sha --groupfile /var/www/cobbler/ks_mirror/CentOS6.3-x86_64/repodata/0dae8d32824acd9dbdf7ed72f628152dd00b85e4bd802e6b46e4d7b78c1042a3-c6-x86_64-comps.xml /var/www/cobbler/ks_mirror/CentOS6.3-x86_64 1878/3848 - Packages/libipa_hbac-1.8.0-32.el6.i686.rpm iso-8859-1 encoding on Ville Skytt<ville.skytta@iki.fi> - 2.8.2-2 3848/3848 - Packages/gpm-1.20.6-12.el6.x86_64.rpm Saving Primary metadata Saving file lists metadata Saving other metadata received on stderr: associating kickstarts *** TASK COMPLETE ***
2:设置profile kickstart文件
profile默认是采用 /var/lib/cobbler/kickstarts/sample.ks 作为ks文件。
可以考虑使用我的ks文件来替换:centos.ks
cd /var/lib/cobbler/kickstarts
wget http://www.chenshake.com/wp-content/uploads/2012/08/centos.ks_.txt
mv centos.ks_.txt centos.ks
cobbler profile edit --name=CentOS6.3-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos.ks
注意,我的centos.ks 文件,默认已经是采用proxy,所以你一定要安装好squid。
这个时候,你可以通过下面命令查看修改的界面
cobbler profile report
3:命令行添加一个客户机
我是采用超微的机器。我已经启用了IPMI。对于cobbler来说,必须启用ipmi,才能发挥它的优势。
IPMI IP:10.1.199.213
user:ADMIN
pass:ADMIN
cobbler system add \ --name=node13 \ --hostname=node13.chenshake.com \ --dns-name=node13.chenshake.com \ --profile=CentOS6.3-x86_64 \ --interface=eth0 \ --mac=00:25:90:67:CE:1A \ --interface=eth0 \ --ip-address=10.1.199.13 \ --subnet=255.255.255.0 \ --gateway=10.1.199.1 \ --static=1 \ --power-type=ipmilan \ --power-user=ADMIN \ --power-pass=ADMIN \ --power-address=10.1.199.213
这些添加,其实都是可以在web完成,不过web比较繁琐,所以命令行下更加方便。
dns-name,就是为了bind服务设置的,如果你不使用bind管理dns,这个参数可以忽略。
cobbler所有设置和修改,都需要通过cobbler sync来生效,你会看到重启name,dhcp服务。
cobbler sync
查看添加节点的情况
cobbler system report --name=node13
我们需要留意的一个参数是:netboot-enabled,当cobbler装完客户端后,这个参数会自动变成0,如果我们希望重装,就需要修改成1.
cobbler system edit --name=node13 --netboot-enabled=1
所有的修改,一定要记住,需要cobbler sync才能生效。
安装客户端
设置远程机器pxe启动:有些服务器支持下次启动pxe启动,可以运行这个命令,让机器下次是从pxe启动。
ipmitool -I lan -H 10.1.199.213 -U ADMIN -P ADMIN chassis bootdev pxe
重启远程机器
有两个办法重启远程机器
cobbler system reboot --name=node13 ipmitool -I lan -H 10.1.199.213 -U ADMIN -P ADMIN chassis power reset
当系统启动后,会从pxe启动,装完os后,会自动修改 netboot-enabled=0。
4:web操作
1)netboot enable
2)sysnc
在web界面,也可以实现cobbler sync
3)重启远程机器
这些操作,都是可以批量操作。让远程机器重启。目前web还无法实现让远程机器下次从pxe启动。
5:添加dvd2(可选)
目前源里应该是有3848个包。
# ls /var/www/cobbler/ks_mirror/CentOS6.3-x86_64/Packages/*.rpm | wc -l 3848
挂载dvd2
mount -t auto -o loop /root/CentOS-6.3-x86_64-bin-DVD2.iso /mnt
复制
# cp -rf /mnt/Packages/ /var/www/cobbler/ks_mirror/CentOS6.3-x86_64/ cp: overwrite `/var/www/cobbler/ks_mirror/CentOS6.3-x86_64/Packages/TRANS.TBL'? y
创建索引
这个地方比较复杂,centos 5和centos6,有很大的差异. 如果不正确操作,估计你会遇到这个错误.
repodata目录下应该就2个xml文件,选择哪个数字开头一串的就可以。注意最后有一个 点 表示当前目录。
cd /var/www/cobbler/ks_mirror/CentOS6.3-x86_64 createrepo -g repodata/0dae8d32824acd9dbdf7ed72f6\ 28152dd00b85e4bd802e6b46e4d7b78c1042a3-c6-x86_64-comps.xml .
这个时候在客户端,需要先
yum clean all yum list | wc -l
6:添加epel repo
命令行下操作,添加epel和epel-test的repo
把repo添加到profle
cobbler repo add --mirror=http://mirrors.ustc.edu.cn/epel/6/x86_64/ --name=epel6-x86_64 --arch=x86_64 --breed=yum
cobbler repo add --mirror=http://mirrors.ustc.edu.cn/epel/testing/6/x86_64/ --name=epel6-x86_64-testing --arch=x86_64 --breed=yum
这个只是对centos有效,如果你吧repo添加到profle,他会自动添加到节点上的repo上,指向内网,非常方便。
cobbler profile edit --name=CentOS6.3-x86_64 --repos="epel6-x86_64 epel6-x86_64-testing"
这个时候,就需要同步epel的源到本地,考验你的网络速度
cobbler reposync
我内网已经有,所以就直接同步就可以。
rsync -avlH root@10.1.199.11:/var/www/cobbler/repo_mirror/ /var/www/cobbler/repo_mirror
另外还有两个源,你可以考虑使用 centos update和centos plus
cobbler repo add --name=Centos6-CENTOSPLUS \
--mirror=http://mirrors.ustc.edu.cn/centos/6/centosplus/x86_64/ --arch=x86_64 --breed=yum
cobbler repo add --name=Centos6-UPDATES \
--mirror=http://mirrors.ustc.edu.cn/centos/6/updates/x86_64/ --arch=x86_64 --breed=yum
7:koan重装系统
重装节点的系统,你可以在cobbler上设置,无论web还是命令行。不过你还有一种选择,就是直接在客户机上进行。
koan:kickstart over a network。就可以实现这个功能。需要在客户端安装koan,就可以。
要使用koan,有一个前提,就是需要你网络里有dhcp。
yum -y install koan
koan的命令使用,倒是比较简单.http://linux.die.net/man/1/koan
# koan --server=10.1.199.12 --list=systems - looking for Cobbler at http://10.1.199.12:80/cobbler_api node13 node15
你可以查看 systems, profiles.还可以查看根据具体的设置
# koan --server=10.1.199.12 --display --system=node15 - looking for Cobbler at http://10.1.199.12:80/cobbler_api - reading URL: http://10.1.199.12/cblr/svc/op/ks/system/node15 install_tree: http://10.1.199.12/cblr/links/CentOS6.3-x86_64 name : node15 distro : CentOS6.3-x86_64 profile : CentOS6.3-x86_64 kickstart : http://10.1.199.12/cblr/svc/op/ks/system/node15 ks_meta : tree=http://@@http_server@@/cblr/links/CentOS6.3-x86_64 install_tree : http://10.1.199.12/cblr/links/CentOS6.3-x86_64 kernel : /var/www/cobbler/ks_mirror/CentOS6.3-x86_64/p_w_picpaths/pxeboot/vmlinuz initrd : /var/www/cobbler/ks_mirror/CentOS6.3-x86_64/p_w_picpaths/pxeboot/initrd.img netboot_enabled : False kernel_options : ks=http://10.1.199.12/cblr/svc/op/ks/system/node15 ksdevice=link kssendmac lang= text repos : epel6-x86_64 epel6-x86_64-testing virt_ram : 512 virt_disk_driver : raw virt_type : qemu virt_path : virt_auto_boot : 1
重装
# koan --server=10.1.199.12 --replace-self --system=node15 - looking for Cobbler at http://10.1.199.12:80/cobbler_api - reading URL: http://10.1.199.12/cblr/svc/op/ks/system/node15 install_tree: http://10.1.199.12/cblr/links/CentOS6.3-x86_64 downloading initrd initrd.img to /boot/initrd.img_koan url=http://10.1.199.12/cobbler/p_w_picpaths/CentOS6.3-x86_64/initrd.img - reading URL: http://10.1.199.12/cobbler/p_w_picpaths/CentOS6.3-x86_64/initrd.img downloading kernel vmlinuz to /boot/vmlinuz_koan url=http://10.1.199.12/cobbler/p_w_picpaths/CentOS6.3-x86_64/vmlinuz - reading URL: http://10.1.199.12/cobbler/p_w_picpaths/CentOS6.3-x86_64/vmlinuz - ['/sbin/grubby', '--add-kernel', '/boot/vmlinuz_koan', '--initrd', '/boot/initrd.img_koan', '--args', '"ks=http://10.1.199.12/cblr/svc/op/ks/system/node15 ksdevice=link kssendmac lang= text "', '--copy-default', '--make-default', '--title=kick1344358008'] - reboot to apply changes
这个时候,你重启系统,不需要通过pxe,他就会自动开始重装。
8: 查看proxy的使用情况
其实就是跟踪squid的log就可以。为了看的舒服一点,有颜色,你需要装一个ccze。
tail -f /var/log/squid/access.log | ccze