2.1 安装 CentOS 6.5
本章我们将介绍如何使用cobbler安装 CentOS 6.5 操作系统。请注意,我们的所有操作步骤均在命令行中完成。您也可以使用cobbler-web,而且更直观,方便您学习整个过程。
2.1.1 镜像准备
我们将使用CentOS-6.5-x86_64-DVD1.iso
这张光盘,前文中介绍了如何获取该操作系统镜像,此处不再赘述。
2.1.2 cobbler配置
前文中我们已经介绍了cobbler配合dhcpd所需要做的修改。我们还需要在cobbler中如下位置:
# this is the address of the cobbler server -- as it is used
# by systems during the install process, it must be the address
# or hostname of the system as those systems can see the server.
# if you have a server that appears differently to different subnets
# (dual homed, etc), you need to read the --server-override section
# of the manpage for how that works.
server: 10.224.173.204
以及这里:
# if using cobbler with manage_dhcp, put the IP address
# of the cobbler server here so that PXE booting guests can find it
# if you do not set this correctly, this will be manifested in TFTP open timeouts.
next_server: 10.224.173.204
这两处均需修改为cobbler的IP地址。
之后请重启cobbler,然后执行cobbler sync
,将配置变更同步至dhcpd。
2.1.3 导入镜像、添加profile、以及安装一个 CentOS 6.5 系统
将 CentOS 6.5 镜像挂载在本地文件系统中
mkdir /mnt/cdrom mount -o loop CentOS-6.5-x86_64-DVD1.iso /mnt/cdrom
将 CentOS 6.5 系统导入cobbler
cobbler import --name=CentOS-6.5 --arch=x86_64 --path=/mnt/cdrom
此时cobbler将自动创建一个名为"CentOS-6.5-x86_64"的distro和一个同名的profile,而且这个profile使用了位于
/var/lib/cobbler/kickstarts/
中的sample_end.ks
文件作为kickstart文件。如果您安装了cobbler-web,您可以在管理profile的页面查看到整个kickstart的内容。但您可能也会发现,如果直接在操作系统这边打开
sample_end.ks
,里面有很多叫做“SNIPPET”的东西,而且和您在web端看见的kickstart内容并不一样。Snippet是cobbler中一个相对高级的功能,它允许我们把kickstart文件拆分成不同的模块,并且在使用的时候动态地导入进来。由于我们会定义新的profile和kickstart文件,有关Snippet的具体使用方法,请参阅官方文档,我们这里暂时不赘述。准备您自己的kickstart
默认的kickstart一般位于
/var/lib/cobbler/kickstarts/
。您可以将您的kickstart放在此处,比如/var/lib/cobbler/kickstarts/centos-6.5-x86_64-minimal.kickstart
注意:虽然我们的这个例子里面有“x86_64”字样,但kickstart文件和操作系统架构(位数)并没有什么关系。
下面是我们给出的一份
kickstart
文件。#您是要安装还是要升级?(install/upgrade) install #这里我们选择网络安装,即我们导入的那个distro。 url --url=http://10.224.173.204/cblr/links/CentOS-6.5-x86_64 lang en_US.UTF-8 keyboard us #我们在安装的时候通过DHCP获取了IP地址,此处您也可以这样设置,因为这之后机器的地址总要被修改。 network --onboot yes --device eth0 --bootproto dhcp --noipv6 --nameserver 10.230.12.2,192.168.3.55 #安装过程中不使用图形化界面 skipx zerombr rootpw --iscrypted $6$Pcob8WpgFXHv8RvQ$qeTBUMx6alHmON1s/VIzq2dqwwOYkCNdhXVT.HPDN6IZNJwWubHcKqY2VPnLemeQf0wo8e8dg/lL7assdUWPn1 firewall --disabled authconfig --enableshadow --passalgo=sha512 selinux --disabled timezone Asia/Shanghai #这个reboot的作用是在安装完毕之后自动重启,不需要人工点“重启” reboot bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet" #分区设置。请注意,这里的分区设置要求您的安装盘必须要有100G以上的磁盘空间。 clearpart --all part /boot --fstype=ext4 --size=500 part pv.008002 --grow --size=200 volgroup VolGroup --pesize=4096 pv.008002 logvol / --fstype=ext4 --name=LogVol00 --vgname=VolGroup --size=40960 logvol /home --fstype=ext4 --name=LogVol01 --vgname=VolGroup --size=10240 logvol /var --fstype=ext4 --name=LogVol02 --vgname=VolGroup --size=10240 logvol /tmp --fstype=ext4 --name=LogVol03 --vgname=VolGroup --size=10240 logvol swap --name=LogVol04 --vgname=VolGroup --size=4096 #需要安装的包,有关包的信息,我们会在文末讲解。 %packages @core @base %end
这份kickstart文档中的说明内容已添加注释,但我们仍然建议您复制这份kickstart到实验环境时,顺便把这些注释都删掉。
添加自定义的profile
我们已经有了一个系统为我们添加好的profile了,但是您最好还是自己再重新创建别的profile,并且标记上您自己定制的名字,比如“minimal”,“server_with_gui”等等。
cobbler profile add --name=CentOS-6.5-x86_64-minimal --distro=CentOS-6.5-x86_64 --kickstart=/var/lib/cobbler/kickstarts/CentOS-6.5-x86_64-minimal.ks
添加一个新的system,准备装系统
使用如下命令,在cobbler中添加一条新系统的信息。
cobbler system add --name=webserver-1 --profile=CentOS-6.5-x86_64-minimal --interface=eth0 --mac=08:00:27:38:B5:90 --ip-address=10.224.173.234 --netboot-enabled=1 --static=1
这里我们指定了MAC地址和要分配给这个地址的IP地址,同时还指定了这个机器要用到哪个profile。这些信息会由cobbler提供给DHCP,当机器启动时,DHCP会将对应的启动文件分配给这个机器,装系统等任务便能自动完成了。
您需要在添加信息之后执行一次
cobbler sync
。将刚才添加的system的MAC地址和IP地址传递给DHCP。开机,装系统
没错。开机,然后系统就应该自己能灌进去了。
2.1.4 有关包的选择
我们在上一个小节介绍了用cobbler自动安装系统的大致步骤。本节我们将介绍一下kickstart文件中安装包的选择。
您可能已经注意到了,我们选择了CentOS-6.5-x86_64-DVD1.iso
这个超过4G的镜像,但只进行了最小化(minimal)安装。您可能会问,我们何不直接使用CentOS-6.5-x86_64-minimal.iso
?这二者前后相差数个GB,导入显然是小的更快,也更省空间呀。
问题就出在安装时包的选取上。我们在前文的kickstar中有下面这样一个区域:
%packages
@core
@base
%end
这里面@core
和@base
是我们希望安装的“软件组”。为了简化一些常用软件的安装,我们将其打包成一个一个组,安装的时候便可以把可能需要用到的软件“一波带走”。其中,无论安装的是否是“minimal”,@core
都是我们一定要安装的一个软件组,CentOS-6.5-x86_64-minimal.iso
中也只提供了@core
这一个软件组。但CentOS-6-5-x86_64-DVD1.iso
中就提供了各种各样的软件组,有数据库的,Web Server的,开发环境的等等。所以这里我们导入了“DVD1”这个镜像,就是因为我们可以创建多个profile,并且选择不同的软件组。
我们在此处还添加了@base
软件组,该软件组中提供了“man”,“wget”和“vim”等等日常中非常需要的软件。因此我们十分建议您安装的时候将该软件组也一起安装进来。
在系统的镜像盘中,软件组的定义位于/repodata/*-comps.xml
(DVD1)或/repodata/*-minimal-x86_64.xml
(minimal)。YUM源中也有对软件组的定义,位置在某个系统文件下的/repodata/*-comps.xml
中。
注意:其实您也可以在kickstart文件中定义一个软件源(repo),然后从这个软件库中安装软件组。但是由于软件源中的内容可能有变动,不利于我们固定版本。因此我们没有在kickstart文件中设置软件源。