第1章 项目规划
1.1 角色说明
服务器说明 | 数量 | 说明 |
分发系统服务器 | 1台 | 批量部署系统 |
新服务器 | 1台 | 等待安装系统通过cobbler方式 |
1.2 主机规划
服务器说明 | 名称规划 | 外网IP/eth0 | 内网IP/eth1 |
分发系统服务器 | kickstart | 10.0.0.199/24 | 172.16.1.199/24 |
新服务器 | 根具kickstart配置文件决定 | 根据cobbler dhcp地址确定 | 根具cobbler dhcp地址确定 |
第2章 Cobbler工具介绍
2.1 简介
Cobbler是一个Linux服务器安装的服务,可以通过网络启动(PXE)的方式来快速安装、重装物理服务器和虚拟机,同时还可以管理DHCP,DNS等。
Cobbler可以使用命令行方式管理,也提供了基于Web的界面管理工具(cobbler-web),还提供了API接口,可以方便二次开发使用。Cobbler是较早前的kickstart的升级版,优点是比较容易配置,还自带web界面比较易于管理。
Cobbler内置了一个轻量级配置管理系统,但它也支持和其它配置管理系统集成,如Puppet,暂时不支持SaltStack。
2.2 支持的服务
PXE服务支持
DHCP服务管理
DNS服务管理(可选bind,dnsmasq)
电源管理
Kickstart服务支持
YUM仓库管理
TFTP(PXE启动时需要)
Apache(提供kickstart的安装源,并提供定制化的kickstart配置
第3章 配置
3.1 查看系统环境
3.1.1 批量执行
cat /etc/redhat-release
uname -r
uname -m
hostname
ifconfig eth1|awk -F "[ :]+"'NR==2{print $3}'
getenforce
/etc/init.d/iptables status
3.1.2 执行结果
[root@cobbler ~]# cat /etc/redhat-release
CentOS release 6.7 (Final)
[root@cobbler ~]# uname -r
2.6.32-573.26.1.el6.x86_64
[root@cobbler ~]# uname -m
x86_64
[root@cobbler ~]# hostname
cobbler
[root@cobbler ~]# ifconfig eth1|awk -F"[ :]+" 'NR==2{print $3}'
addr
[root@cobbler ~]# getenforce
Disabled
[root@cobbler ~]# /etc/init.d/iptablesstatus
iptables:未运行防火墙。
3.2 安装所需环境软件
3.2.1 批量执行
yum -y install cobbler cobbler-web dhcptftp-server pykickstart httpd xinetd
3.2.2 执行结果
[root@cobbler ~]# yum -y install cobbler cobbler-web dhcp tftp-server pykickstart httpdxinetd
已加载插件:fastestmirror, security
设置安装进程
.
.
.
已安装:
cobbler.x86_64 0:2.6.11-1.el6 cobbler-web.noarch 0:2.6.11-1.el6 dhcp.x86_64 12:4.1.1-51.P1.el6.centos httpd.x86_64 0:2.2.15-53.el6.centos
pykickstart.noarch 0:1.74.20-1.el6 tftp-server.x86_64 0:0.49-8.el6 xinetd.x86_64 2:2.3.14-40.el6
作为依赖被安装:
Django14.noarch 0:1.4.21-1.el6 PyYAML.x86_64 0:3.10-3.1.el6 apr-util-ldap.x86_64 0:1.3.9-3.el6_0.1
createrepo.noarch 0:0.9.9-24.el6 deltarpm.x86_640:3.5-0.5.20090913git.el6 genisop_w_picpath.x86_64 0:1.1.9-12.el6
httpd-tools.x86_64 0:2.2.15-53.el6.centos libyaml.x86_64 0:0.1.3-4.el6_6 mod_ssl.x86_641:2.2.15-53.el6.centos
mod_wsgi.x86_64 0:3.2-7.el6 mtools.x86_640:4.0.12-1.el6 portreserve.x86_64 0:0.0.4-11.el6
python-cheetah.x86_64 0:2.4.1-1.el6 python-deltarpm.x86_640:3.5-0.5.20090913git.el6 python-markdown.noarch 0:2.0.1-3.1.el6
python-netaddr.noarch 0:0.7.5-4.el6 python-pygments.noarch0:1.1.1-1.el6 python-setuptools.noarch 0:0.6.10-3.el6
python-simplejson.x86_64 0:2.0.9-3.1.el6 syslinux.x86_64 0:4.04-3.el6 syslinux-nonlinux.noarch 0:4.04-3.el6
作为依赖被升级:
dhclient.x86_64 12:4.1.1-51.P1.el6.centos dhcp-common.x86_64 12:4.1.1-51.P1.el6.centos
完毕!
3.3 启动相关服务
3.3.1 批量执行
/etc/init.d/xinetd start
/etc/init.d/httpd start
/etc/init.d/cobblerd start
3.3.2 执行结果
[root@cobbler ~]# /etc/init.d/xinetd start
正在启动 xinetd: [确定]
[root@cobbler ~]# /etc/init.d/httpd start
正在启动 httpd:
[root@cobbler ~]# /etc/init.d/cobblerdstart
Starting cobbler daemon: [确定]
第4章 检测配置
执行以下命令检查Cobbler的配置,如果看不到下面的结果,再次执行cobbler和httpd服务。(cobblercheck命令用于向用户提供检查信息,就安装可能出现的问题进行提示)
[root@cobbler ~]# cobbler check
Traceback (most recent call last):
File "/usr/bin/cobbler", line 36, in <module>
sys.exit(app.main())
File "/usr/lib/python2.6/site-packages/cobbler/cli.py", line657, in main
rc = cli.run(sys.argv)
File "/usr/lib/python2.6/site-packages/cobbler/cli.py", line270, in run
self.token =self.remote.login("", self.shared_secret)
File "/usr/lib64/python2.6/xmlrpclib.py", line 1199, in__call__
return self.__send(self.__name, args)
File "/usr/lib64/python2.6/xmlrpclib.py", line 1489, in__request
verbose=self.__verbose
File "/usr/lib64/python2.6/xmlrpclib.py", line 1253, inrequest
return self._parse_response(h.getfile(), sock)
File "/usr/lib64/python2.6/xmlrpclib.py", line 1392, in_parse_response
return u.close()
File "/usr/lib64/python2.6/xmlrpclib.py", line 838, in close
raise Fault(**self._stack[0])
xmlrpclib.Fault: <Fault 1:"<class 'cobbler.cexceptions.CX'>:'login failed'">
4.1 解决上面的报错
[root@cobbler ~]# /etc/init.d/cobblerd restart
Stopping cobbler daemon: [确定]
Starting cobbler daemon: [确定]
[root@cobbler ~]# cobbler check
The following are potential configurationitems that you may want to fix:
1 : The 'server' field in/etc/cobbler/settings must be set to something other than localhost, orkickstarting features will not work. This should be a resolvable hostname or IP for the boot server asreachable by all machines that will use it.
2 : For PXE to be functional, the'next_server' field in /etc/cobbler/settings must be set to something otherthan 127.0.0.1, and should match the IP of the boot server on the PXE network.
3 : change 'disable' to 'no' in/etc/xinetd.d/tftp
4 : some network boot-loaders are missingfrom /var/lib/cobbler/loaders, you may run 'cobbler get-loaders' to downloadthem, or, if you only want to handle x86/x86_64 netbooting, you may ensure thatyou have installed a *recent* version of the syslinux package installed and canignore this message entirely. Files inthis directory, should you want to support all architectures, should includepxelinux.0, menu.c32, elilo.efi, and yaboot. The 'cobbler get-loaders' commandis the easiest way to resolve these requirements.
5 : change 'disable' to 'no' in/etc/xinetd.d/rsync
6 : file /etc/xinetd.d/rsync does not exist
7 : debmirror package is not installed, itwill be required to manage debian deployments and repositories
8 : The default password used by the sampletemplates 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
9 : fencing tools were not found, and arerequired to use the (optional) power management features. install cman orfence-agents to use them
Restart cobblerd and then run 'cobblersync' to apply changes.
4.2 配置rsync
sed -i -e 's/\=\ yes/\=\ no/g'/etc/xinetd.d/rsync
service xinetd restart
4.2.1 执行结果
[root@cobbler ~]# sed -i -e 's/\=\ yes/\=\ no/g' /etc/xinetd.d/rsync
[root@cobbler ~]# service xinetd restart
停止 xinetd: [确定]
正在启动 xinetd: [确定]
4.3 根据cobbler check的结果进行修改
4.3.1 批量执行
openssl passwd -1 -salt 'cobbler' '123456'
sed -i.bak0 '101s#default_password_crypted:"$1$mF86/UHC$WvcIcX2t6crBz2onWxyac."#default_password_crypted:$1$cobbler$sqDDOBeLKJVmxTCZr52/11 #' /etc/cobbler/settings
sed -i.bak1 '242s#manage_dhcp:0#manage_dhcp: 1#' /etc/cobbler/settings
sed -i.bak2 '272s#next_server: 127.0.0.1#next_server:172.16.1.31#' /etc/cobbler/settings
sed -i.bak3 '384s#server: 127.0.0.1#server:172.16.1.199#' /etc/cobbler/settings
ls -l /etc/cobbler/settings*
4.3.2 执行结果
[root@cobbler ~]# openssl passwd -1 -salt 'cobbler' '123456'
$1$cobbler$sqDDOBeLKJVmxTCZr52/11
[root@cobbler ~]# sed -i.bak0 '101s#default_password_crypted:"$1$mF86/UHC$WvcIcX2t6crBz2onWxyac."#default_password_crypted:$1$cobbler$sqDDOBeLKJVmxTCZr52/11 #' /etc/cobbler/settings
[root@cobbler ~]# sed -i.bak1 '242s#manage_dhcp: 0#manage_dhcp:1#' /etc/cobbler/settings
[root@cobbler ~]# sed -i.bak2 '272s#next_server: 127.0.0.1#next_server:172.16.1.199#' /etc/cobbler/settings
[root@cobbler ~]# sed -i.bak3 '384s#server: 127.0.0.1#server:172.16.1.199#' /etc/cobbler/settings
[root@cobbler ~]# ls -l /etc/cobbler/settings*
-rw-r--r-- 1 root root 19652 6月 10 01:18 /etc/cobbler/settings
-rw-r--r-- 1 root root 19651 6月 10 01:13 /etc/cobbler/settings.bak0
-rw-r--r-- 1 root root 19649 6月 10 01:18 /etc/cobbler/settings.bak1
-rw-r--r-- 1 root root 19649 6月 10 01:18 /etc/cobbler/settings.bak2
-rw-r--r-- 1 root root 19649 6月 10 01:18 /etc/cobbler/settings.bak3
4.4 编辑dnsmasq.template 模板
只更改粗体部分
[root@cobbler ~]# vim /etc/cobbler/dhcp.template
[root@cobbler ~]#
[root@cobbler ~]#
[root@cobbler ~]#
[root@cobbler ~]#
[root@cobbler ~]# cat/etc/cobbler/dhcp.template
#******************************************************************
# Cobbler managed dhcpd.conf file
#
# generated from cobbler dhcp.conf template($date)
# Do NOT make changes to /etc/dhcpd.conf. Instead,make your changes
# in /etc/cobbler/dhcp.template, as/etc/dhcpd.conf will be
# overwritten.
#
#******************************************************************
ddns-update-style interim;
allow booting;
allow bootp;
ignore client-updates;
set vendorclass = optionvendor-class-identifier;
option pxe-system-type code 93 = unsignedinteger 16;
subnet172.16.1.0 netmask 255.255.255.0 { 网段和子网掩码
option routers 172.16.1.2;网关
option domain-name-servers 172.16.1.2;DNS
option subnet-mask 255.255.255.0;子网
range dynamic-bootp 172.16.1.100172.16.1.150; 地址段
default-lease-time 21600;
max-lease-time 43200;
next-server 172.16.1.199; 服务器地址
class "pxeclients" {
.
.
#end for
4.5 挂载ISO文件拷贝到本地
4.5.1 批量执行
mkdir -p /data
mount /dev/cdrom /mnt/
cp -a /mnt/* /data/
umount /mnt
ls -l /data/
4.5.2 执行结果
[root@cobbler ~]# mkdir -p /data
[root@cobbler ~]# mount /dev/cdrom /mnt/
mount: block device /dev/sr0 iswrite-protected, mounting read-only
[root@cobbler ~]# cp -a /mnt/* /data/
[root@cobbler ~]# umount /mnt
[root@cobbler ~]# ls -l /data/
总用量 300
-r--r--r-- 1 root root 14 8月 52015 CentOS_BuildTag
dr-xr-xr-x 3 root root 4096 8月 52015 EFI
-r--r--r-- 1 root root 212 11月 27 2013 EULA
-r--r--r-- 1 root root 18009 11月 27 2013 GPL
dr-xr-xr-x 3 root root 4096 8月 52015 p_w_picpaths
dr-xr-xr-x 2 root root 4096 8月 52015 isolinux
dr-xr-xr-x 2 root root 237568 8月 5 2015 Packages
-r--r--r-- 1 root root 1354 7月 252015 RELEASE-NOTES-en-US.html
dr-xr-xr-x 2 root root 4096 8月 52015 repodata
-r--r--r-- 1 root root 1706 11月 27 2013 RPM-GPG-KEY-CentOS-6
-r--r--r-- 1 root root 1730 11月 27 2013 RPM-GPG-KEY-CentOS-Debug-6
-r--r--r-- 1 root root 1730 11月 27 2013 RPM-GPG-KEY-CentOS-Security-6
-r--r--r-- 1 root root 1734 11月 27 2013 RPM-GPG-KEY-CentOS-Testing-6
-r--r--r-- 1 root root 3380 8月 52015 TRANS.TBL
4.6 导入系统镜像
4.6.1 启动服务
[root@cobbler ~]# cobbler sync
task started: 2016-06-10_015953_sync
task started (id=Sync, time=Fri Jun 1001:59:53 2016)
running pre-sync triggers
cleaning trees
removing: /var/lib/tftpboot/grub/p_w_picpaths
copying bootloaders
trying hardlink/usr/share/syslinux/pxelinux.0 -> /var/lib/tftpboot/pxelinux.0
trying hardlink /usr/share/syslinux/menu.c32-> /var/lib/tftpboot/menu.c32
trying hardlink /usr/share/syslinux/memdisk-> /var/lib/tftpboot/memdisk
copying distros to tftpboot
copying p_w_picpaths
generating PXE configuration files
generating PXE menu structure
rendering DHCP files
generating /etc/dhcp/dhcpd.conf
rendering TFTPD files
generating /etc/xinetd.d/tftp
cleaning link caches
running post-sync triggers
running python triggers from/var/lib/cobbler/triggers/sync/post/*
running python triggercobbler.modules.sync_post_restart_services
running: dhcpd -t -q
received on stdout:
received on stderr:
running: service dhcpd restart
received on stdout: 正在启动 dhcpd:[确定]
received on stderr:
running shell triggers from/var/lib/cobbler/triggers/sync/post/*
running python triggers from /var/lib/cobbler/triggers/change/*
running python triggercobbler.modules.scm_track
running shell triggers from/var/lib/cobbler/triggers/change/*
*** TASK COMPLETE ***
[root@cobbler ~]# /etc/init.d/dhc restart
dhcpd dhcpd6 dhcrelay dhcrelay6
[root@cobbler ~]# /etc/init.d/dhcpd restart
关闭 dhcpd: [确定]
正在启动 dhcpd: [确定]
4.6.2 导入
cobbler import --path=/data/--name=CentOS-6.7-x86_64 --arch=x86_64
4.6.3 执行结果
[root@cobbler ~]# cobbler import --path=/data/ --name=CentOS-6.7-x86_64 --arch=x86_64
task started: 2016-06-10_020146_import
task started (id=Media import, time=Fri Jun10 02:01:46 2016)
Found a candidate signature: breed=redhat,version=rhel6
Found a matching signature: breed=redhat,version=rhel6
Adding distros from path/var/www/cobbler/ks_mirror/CentOS-6.7-x86_64:
creating new distro: CentOS-6.7-x86_64
trying symlink:/var/www/cobbler/ks_mirror/CentOS-6.7-x86_64 ->/var/www/cobbler/links/CentOS-6.7-x86_64
creating new profile: CentOS-6.7-x86_64
associating repos
checking for rsync repo(s)
checking for rhn repo(s)
checking for yum repo(s)
starting descent into/var/www/cobbler/ks_mirror/CentOS-6.7-x86_64 for CentOS-6.7-x86_64
processing repo at : /var/www/cobbler/ks_mirror/CentOS-6.7-x86_64
need to process repo/comps:/var/www/cobbler/ks_mirror/CentOS-6.7-x86_64
looking for/var/www/cobbler/ks_mirror/CentOS-6.7-x86_64/repodata/*comps*.xml
Keeping repodata as-is:/var/www/cobbler/ks_mirror/CentOS-6.7-x86_64/repodata
*** TASK COMPLETE ***
4.6.4 说明
# --path 镜像路径
# --name 为安装源定义一个名字
# --arch 指定安装源是32位、64位、ia64, 目前支持的选项有: x86│x86_64│ia64
# 安装源的唯一标示就是根据name参数来定义,本例导入成功后,安装源的唯一标示就是:CentOS-6.7-x86_64,如果重复,系统会提示导入失败。
4.7 查看镜像列表
镜像存放目录,cobbler会将镜像中的所有安装文件拷贝到本地一份,放在/var/www/cobbler/ks_mirror下的CentOS-6.7-x86_64目录下。因此/var/www/cobbler目录必须具有足够容纳安装文件的空间。
[root@cobbler ~]# cobbler distro list
CentOS-6.7-x86_64
4.7.1 查看生成的镜像目录
cd /var/www/cobbler/ks_mirror/
ls
ls CentOS-6.7-x86_64/
4.7.2 执行结果
[root@cobbler ~]# cd /var/www/cobbler/ks_mirror/
[root@cobbler ks_mirror]# ls
CentOS-6.7-x86_64 config
[root@cobbler ks_mirror]# ls CentOS-6.7-x86_64/
CentOS_BuildTag isolinux RPM-GPG-KEY-CentOS-Debug-6
EFI Packages RPM-GPG-KEY-CentOS-Security-6
EULA RELEASE-NOTES-en-US.html RPM-GPG-KEY-CentOS-Testing-6
GPL repodata TRANS.TBL
p_w_picpaths RPM-GPG-KEY-CentOS-6
4.8 查看导入的帮助信息
[root@cobbler ~]# cobbler import --help
Usage: cobbler [options]
Options:
-h,--help show this help messageand exit
--arch=ARCH OSarchitecture being imported
--breed=BREED the breedbeing imported
--os-version=OS_VERSION
the version being imported
--path=PATH local pathor rsync location
--name=NAME name, ex'RHEL-5'
--available-as=AVAILABLE_AS
tree is here, don'tmirror
--kickstart=KICKSTART_FILE
assign this kickstartfile
--rsync-flags=RSYNC_FLAGS
pass additional flagsto rsync
第5章 定制ks.cfg文件及调整内核参数
5.1 进入到Cobbler kickstart文件的默认存放位置
[root@cobbler ~]# cd /var/lib/cobbler/kickstarts/
5.2 上传写好的CetnOS-6.7-x86_64.cfg文件到/var/lib/cobbler/kickstart下面
[root@cobbler kickstarts]# rz -E
rz waiting to receive.
[root@cobbler kickstarts]# ls -l CentOS-6.7-x86_64.cfg
-rw-r--r-- 1 root root 1510 6月 10 02:15 CentOS-6.7-x86_64.cfg
5.2.1 CetnOS-6.7-x86_64.cfg文件内容
#Kickstart Configurator by Jason Zhao
#platform=x86, AMD64, or Intel EM64T
#System language
lang en_US
#System keyboard
keyboard us
#Sytem timezone
timezone Asia/Shanghai
#Root password
rootpw --iscrypted$default_password_crypted
#rootpw --iscrypted$1$ops-node$7hqdpgEmIE7Z0RbtQkxW20
#Use text mode install
text
#Install OS instead of upgrade
install
#Use NFS installation Media
url --url=$tree
#url--url=http://172.16.1.199/CentOS-6.7-x86_64
#System bootloader configuration
bootloader --location=mbr
#Clear the Master Boot Record
zerombr
#Partition clearing information
clearpart --all --initlabel
#Disk partitioning information
part /boot --fstype ext4 --size 1024--ondisk sda
part swap --size 16384 --ondisk sda
part / --fstype ext4 --size 1 --grow--ondisk sda
#System authorization infomation
auth --useshadow --enablemd5
#Network information
$SNIPPET('network_config')
#network --bootproto=dhcp --device=eth0--onboot=on
# Reboot after installation
reboot
#Firewall configuration
firewall --disabled
#SELinux configuration
selinux --disabled
#Do not configure XWindows
skipx
%pre
$SNIPPET('log_ks_pre')
$SNIPPET('kickstart_start')
$SNIPPET('pre_install_network_config')
# Enable installation monitoring
$SNIPPET('pre_anamon')
%end
#Package install information
%packages
@ base
@ core
@debugging
@development
sysstat
tree
telnet
dos2unix
ntp
lrzsz
nfs-utils
rpcbind
openssl-devel
zlib-devel
nmap
screen
%end
%post
%end
5.3 编辑profile,修改关联的ks文件,修改内核参数
cobbler profile edit--name=CentOS-6.7-x86_64 --kickstart=/var/lib/cobbler/kickstarts/CentOS-6.7-x86_64.cfg
[root@cobbler kickstarts]# cobbler profile edit--name=CentOS-6.7-x86_64--kickstart=/var/lib/cobbler/kickstarts/CentOS-6.7-x86_64.cfg
第6章 Cobbler Web页面配置
6.1 相同网段内,打开浏览器,输入http://172.16.1.199/cobbler_web
用户名和密码都是cobbler
6.2 方便配置
第7章 定制化安装系统
7.1 安装koan
[root@cobbler kickstarts]# cd ~
[root@cobbler ~]# yum -y install koan
已加载插件:fastestmirror, security
设置安装进程
.
.
.
已安装:
koan.noarch 0:2.6.11-1.el6
作为依赖被安装:
cyrus-sasl-md5.x86_64 0:2.1.23-15.el6_6.2 gnutls-utils.x86_64 0:2.8.5-19.el6_7
libselinux-python.x86_64 0:2.0.94-7.el6 libvirt-client.x86_640:0.10.2-60.el6
libvirt-python.x86_64 0:0.10.2-60.el6 python-virtinst.noarch0:0.600.0-29.el6
yajl.x86_64 0:1.0.7-3.el6
作为依赖被升级:
libselinux.x86_64 0:2.0.94-7.el6 libselinux-utils.x86_640:2.0.94-7.el6
完毕!
7.2 查看镜像列表
[root@cobbler ~]# koan --server=172.16.1.199 --list=profiles
- looking for Cobbler athttp://172.16.1.199:80/cobbler_api
CentOS-6.7-x86_64
7.3 解析
[root@cobbler ~]# koan --replace-self --server=172.16.1.199 --profile=CentOS-6.7-x86_64
- looking for Cobbler athttp://172.16.1.199:80/cobbler_api
- reading URL:http://172.16.1.199/cblr/svc/op/ks/profile/CentOS-6.7-x86_64
install_tree:http://172.16.1.199/cblr/links/CentOS-6.7-x86_64
downloading initrd initrd.img to/boot/initrd.img_koan
url=http://172.16.1.199/cobbler/p_w_picpaths/CentOS-6.7-x86_64/initrd.img
- reading URL:http://172.16.1.199/cobbler/p_w_picpaths/CentOS-6.7-x86_64/initrd.img
downloading kernel vmlinuz to/boot/vmlinuz_koan
url=http://172.16.1.199/cobbler/p_w_picpaths/CentOS-6.7-x86_64/vmlinuz
- reading URL:http://172.16.1.199/cobbler/p_w_picpaths/CentOS-6.7-x86_64/vmlinuz
- ['/sbin/grubby', '--add-kernel','/boot/vmlinuz_koan', '--initrd', '/boot/initrd.img_koan', '--args','"ks=http://172.16.1.199/cblr/svc/op/ks/profile/CentOS-6.7-x86_64ksdevice=link kssendmac "', '--copy-default', '--make-default','--title=kick1465496560']
- ['/sbin/grubby', '--update-kernel','/boot/vmlinuz_koan', '--remove-args=root']
- reboot to apply changes
最后设置
cobbler system add --name=test--mac=00:50:56:26:DC:7B --ip-address=172.16.1.199 --subnet=255.255.255.0--gateway=172.16.1.2 --name-servers="172.16.1.2 8.8.8.8"--interface=eth1 --static=1 --hostname=xeon--kickstart=/var/lib/cobbler/kickstarts/CentOS-6.7-x86_64.cfg --profile=Centos-6.7-x86_64
[root@cobbler ~]# cobbler system add --name=test --mac=00:50:56:26:DC:7B--ip-address=172.16.1.199 --subnet=255.255.255.0 --gateway=172.16.1.2--name-servers="172.16.1.2 8.8.8.8" --interface=eth1 --static=1--hostname=xeon --kickstart=/var/lib/cobbler/kickstarts/CentOS-6.7-x86_64.cfg--profile=Centos-6.7-x86_64
第8章 测试
8.1 报错
8.1.1 重新启动所有服务
[root@cobbler ~]# /etc/init.d/httpd restart
停止 httpd: [确定]
正在启动 httpd: [确定]
[root@cobbler ~]# /etc/init.d/cobblerd restart
Stopping cobbler daemon: [确定]
Starting cobbler daemon: [确定]
[root@cobbler ~]# /etc/init.d/xinetd restart
停止 xinetd: [确定]
正在启动 xinetd: [确定]
[root@cobbler ~]# /etc/init.d/dhcpd restart
关闭 dhcpd: [确定]
正在启动 dhcpd: [确定]
8.2 安装过程截图
第9章 开机自启动
因后边会把他写入到内核里,所以,小心开启选择顺序
9.1 修改grub,更改启动项
9.1.1 备份grub配置文件
因etc目录下面的grub.conf是一个链接文件,需要备份原始文件.修改链接文件无效!!!
[root@cobbler ~]# ls -l /etc/grub.conf
lrwxrwxrwx. 1 root root 22 5月 22 13:44 /etc/grub.conf -> ../boot/grub/grub.conf
[root@cobbler ~]# cp -a /boot/grub/grub.conf /boot/grub/grub.conf.bak
[root@cobbler ~]# ls -l /boot/grub/grub*
-rw------- 1 root root 1463 6月 10 02:22 /boot/grub/grub.conf
-rw------- 1 root root 1463 6月 10 02:22 /boot/grub/grub.conf.bak
9.1.2 编辑grub配置文件
以“title”为首的项目,每一个这样的项目,就是我们安装的操作系统,如果我们想让哪个为默认启动操作系统,那么我们需要修改“default”的值,这个值按照数组方式来设置,设置的值为我们系统中实际操作系统数量-1,例如我们现在有两个操作系统,我们想设置第一个为默认操作系统,那么我们应该把这个值设置为0;如果想第二个为默认操作系统,那么应该设置这个值为1
9.1.2.1 查看grub配置文件
[root@cobbler ~]# cat /boot/grub/grub.conf
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grubafter making changes to this file
# NOTICE: You have a /boot partition. Thismeans that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/sda3
# initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=0
timeout=5
splashp_w_picpath=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title kick1465496560
root(hd0,0)
kernel/vmlinuz_koan ro nomodeset rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us.UTF-8 rd_NO_MDSYSFONT=latarcyrheb-sun16 crashkernel=auto rd_NO_LVM rd_NO_DM rhgb quietks=http://172.16.1.199/cblr/svc/op/ks/profile/CentOS-6.7-x86_64 ksdevice=linkkssendmac
initrd/initrd.img_koan
title CentOS (2.6.32-573.26.1.el6.x86_64)
root(hd0,0)
kernel/vmlinuz-2.6.32-573.26.1.el6.x86_64 roroot=UUID=0ede13b1-3bea-4ef0-911d-f708c9f13d48 nomodeset rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us.UTF-8rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_NO_LVM rd_NO_DM rhgbquiet
initrd/initramfs-2.6.32-573.26.1.el6.x86_64.img
title CentOS 6 (2.6.32-573.el6.x86_64)
root(hd0,0)
kernel/vmlinuz-2.6.32-573.el6.x86_64 roroot=UUID=0ede13b1-3bea-4ef0-911d-f708c9f13d48 nomodeset rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us.UTF-8rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_NO_LVM rd_NO_DM rhgbquiet
initrd/initramfs-2.6.32-573.el6.x86_64.img
9.1.2.2 替换
sed -i.bak 's#default=0#default=1#g' /boot/grub/grub.conf
sed -n '10p' /boot/grub/grub.conf
ls -l /boot/grub/grub.conf*
[root@cobbler ~]# sed -i.bak 's#default=0#default=1#g' /boot/grub/grub.conf
[root@cobbler ~]# sed -n '10p' /boot/grub/grub.conf
default=1
[root@cobbler ~]# ls -l /boot/grub/grub.conf*
-rw------- 1 root root 1463 6月 10 03:24 /boot/grub/grub.conf
-rw------- 1 root root 1463 6月 10 02:22 /boot/grub/grub.conf.bak
9.1.3 重启测试
9.2 开机手动执行脚本(启动服务)
这样做的目的是为了避免在同一网段的机器被错误装系统!
cat >/server/scripts/cobbler_service.sh<<EOF
#!/bin/sh
/etc/init.d/httpd restart
/etc/init.d/cobblerd restart
/etc/init.d/xinetd restart
/etc/init.d/dhcpd restart
EOF
chmod +x /server/scripts/cobbler_server.sh
ls -l /server/scripts/cobbler_service.sh
9.3 执行结果
[root@cobbler ~]# cat >/server/scripts/cobbler_service.sh<<EOF
> #!/bin/sh
> /etc/init.d/httpd restart
> /etc/init.d/cobblerd restart
> /etc/init.d/xinetd restart
> /etc/init.d/dhcpd restart
> EOF
[root@cobbler ~]# chmod +x /server/scripts/cobbler_service.sh
[root@cobbler ~]# ls -l /server/scripts/cobbler_service.sh
-rwxr-xr-x 1 root root 118 6月 10 03:00 /server/scripts/cobbler_service.sh
9.4 手动执行脚本
[root@cobbler ~]# /bin/sh /server/scripts/cobbler_service.sh
停止 httpd: [确定]
正在启动 httpd: [确定]
Stopping cobbler daemon: [失败]
Starting cobbler daemon: [确定]
停止 xinetd: [失败]
正在启动 xinetd: [确定]
正在启动 dhcpd: [确定]
安装结束,欢迎大家讨论!!