七:Centos 6.3

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

CentOS 6.3 安装和配置cobbler(2)CentOS篇_cobbler

CentOS 6.3 安装和配置cobbler(2)CentOS篇_cobbler_02

2)sysnc

在web界面,也可以实现cobbler sync

CentOS 6.3 安装和配置cobbler(2)CentOS篇_cobbler_03

3)重启远程机器

这些操作,都是可以批量操作。让远程机器重启。目前web还无法实现让远程机器下次从pxe启动。

CentOS 6.3 安装和配置cobbler(2)CentOS篇_cobbler_04


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,有很大的差异. 如果不正确操作,估计你会遇到这个错误.

CentOS 6.3 安装和配置cobbler(2)CentOS篇_cobbler_05

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