仓酷云
标题:
Linux教程之PXE+DHCP+Apache+Kickstart无人值守装置CentOS
[打印本页]
作者:
冷月葬花魂
时间:
2015-1-14 21:06
标题:
Linux教程之PXE+DHCP+Apache+Kickstart无人值守装置CentOS
小知识:Linux同时也提供了类似Windows图形界面的X-Window系统,用户可以使用鼠标对其进行操作。
由于之前的任务须要搭建红帽试验室情况,因为机械数目比拟多,一切须要批量主动化无人值守装置体系,所以我测验考试应用
RHEL5+PXE+DHCP+Apache+Kickstart
装置了
RHCE5.1i386
试验室情况,并获得了胜利,不外进程比拟漫长,所以我专程记载下
PXE+DHCP+Apache+Kickstart
无人值守装置的进程。别的,我在博客揭橥了响应的文章,许多热情的读者依据文章内容已胜利批量装置了红帽
RHEL
体系或
CentOS5.x
,并提出了很多名贵的看法,在这里表现感激。现阶段,因为须要年夜范围运用
CentOS5.8x86_64
体系用于集群情况,所以将此办法重要用于在公司内网批量装置新办事器体系,这极年夜地简化了用光盘反复装置
CentOS5.8x86_64
的进程,再加上散布式主动化运维对象
puppet
停止批量安排,到达了主动化运维的目标,防止了反复性休息,极年夜的进步了任务效力。
起首,我们来引见一下与之相干的道理和概念。
1.甚么是PXE
严厉来讲,PXE并非一种装置方法,而是一种引诱方法。停止PXE装置的需要前提是在要装置的盘算机中必需包括一个PXE支撑的网卡(NIC),即网卡中必需要有PXEClient。PXE(Pre-bootExecutionEnvironment)协定可使盘算机经由过程收集启动。此协定分为Client端和Server端,而PXEClient则在网卡的ROM中。当盘算机引诱时,BIOS把PXEClient调入内存中履行,然后由PXEClient将放置在远真个文件经由过程收集下载到当地运转。运转PXE协定须要设置DHCP办事器和TFTP办事器。DHCP办事器会给PXEClient(将要装置体系的主机)分派一个IP地址,因为是给PXEClient分派IP地址,所以在设置装备摆设DHCP办事器时须要增长响应的PXE设置。另外,在PXEClient的ROM中,曾经存在了TFTPClient,那末它就能够经由过程TFTP协定到TFTPServer高低载所需的文件了。
2.甚么是Kickstart
Kickstart是一种无人值守的装置方法。它的任务道理是在装置过程当中记载典范的须要人工干涉填写的各类参数,并生成一个名为ks.cfg的文件。假如在装置过程当中(不只局限于生成Kickstart装置文件的机械)涌现要填写参数的情形,装置法式起首会去查找Kickstart生成的文件,假如找到适合的参数,就采取所找到的参数;假如没有找到适合的参数,便须要装置者手工干涉了。所以,假如Kickstart文件涵盖了装置过程当中能够涌现的一切须要填写的参数,那末装置者完整可以只告知装置法式从何处取ks.cfg文件,然后就去忙本身的工作。等装置终了,装置法式会依据ks.cfg中的设置重启体系,并停止装置。
3.PXE+Kickstart的装置前提和具体步调
履行PXE+Kickstart装置须要的装备为:
DHCP办事器。
TFTP办事器。
Kickstart所生成的ks.cfg设置装备摆设文件。
一台寄存体系装置文件的办事器,如NFS、HTTP或FTP办事器。
一个带有PXE支撑网卡的主机。
体系情况引见以下:
办事器体系为
CentOS5.6x86_64
,
IP
为
192.168.11.29
(此办事器并不是必定要限制为
CentOS5.8x86_64
体系),因为是最小化装置的,我们在前面要用到
system-config-kickstart
对象,它必需依附于
Xwindows
,所以我们要提早装置好
Xwindows
及
gnome
偏重启体系,步调以下所示:
先装
Xwindows
和
GNOME
桌面情况,敕令以下所示:
yum-ygroupinstallXWindowSystem
yum-ygroupinstallGNOMEDesktopEnvironment
然后修正
/etc/inittab
文件偏重启办事器,使其运转在图形形式下,重要修正文件内容以下所示:
id:5:initdefault:
重启办事器敕令以下:
reboot
完成上述的预备任务后,
PXE+DHCP+Apache+Kickstart
无人值守装置
CentOS5.8
装置的步调以下:
(
1
)我们先下载
CentOS5.8x86_64
光盘至
/usr/local/src
下,并挂载至
/mnt/cdrom
目次下,并确认体系已装置好
httpd
办事,以下:
cd/usr/local/src
wgethttp://mirror.neu.edu.cn/CentOS/5.8/isos/x86_64/CentOS-5.8-x86_64-bin-DVD-1of2.iso
mkdirCp/mnt/cdrom
接上去我们挂载光盘
ISO
文件至
/mnt/cdrom
目次下,以下敕令:
mount-oloopCentOS-5.8-x86_64-bin-DVD-1of2.iso/mnt/cdrom
CetnOS5.xx86_64
系列已默许装置
Apache
,我们可以用敕令看下其版本号,以下所示:
rpm-qhttpd
敕令显示成果以下所示:
httpd-2.2.3-65.el5.CentOS
(
2
)接上去我们复制光盘下的一切内容(文件和文件夹)到
/var/html/www
(此目次为
Apache
默许
DocumentRoot
目次)下,不管是红帽体系照样
CentOS5.x
体系,假如是最小化装置,根本上第一张
DVD
光盘文件就够了,复制敕令以下所示:
cp-rf/mnt/cdrom/var/html/www
(
3
)装置
tftp-server
,并启用
tftp
办事,同时启动
xinetd
过程,步调以下所示。
1.
我们用敕令装置
tftp-server
,敕令以下:
yum-yinstalltftp-server
2.
接着修正
/etc/xinetd.d/tftp
文件,将
disable
的值由
yes
变成
no
,内容以下所示:
servicetftp
{
socket_type=dgram
protocol=udp
wait=yes
user=root
server=/usr/sbin/in.tftpd
server_args=-s/tftpboot
disable=no
per_source=11
cps=1002
flags=IPv4
}
3.
接侧重启
xinetd
过程,敕令以下所示:
servicexinetdrestart
(
4
)设置装备摆设支撑
PXE
的启动法式(留意:后面曾经将
CentOS5.8x86_64
第一张光盘的内容复制到
/var/www/html
目次中了,所以须要的文件只须要从
/var/www/html
目次中复制就好了)。
a)
树立
tftpboot
文件夹,以下所示,若该文件夹曾经存在则不消树立。
mkdir-p/tftpboot
b)
复制
pxelinux.0
文件至
tftpboot
文件夹中,以下所示。
cp/usr/lib/syslinux/pxelinux.0/tftpboot
c)
把
DVD
光盘上的
/image/pxeboot/initrd.img
和
vmlinux
复制到
/tftpboot/
中,以下所示。
cp/var/www/html/images/pxeboot/vmlinuz/tftpboot
d)
复制
DVD
光盘上的
isolinux/*.msg
到
/tftpboot
目次下,以下所示:
cp/var/www/html/isolinux/*.msg/tftpboot/
e)
在
tftpboot
中新建一个
pxelinux.cfg
目次:
mkdirpxelinux.cfg
f)
将
isolinux
目次中的
isolinux.cfg
复制到
pxelinux.cfg
目次中,同时更改文件称号为
default
,敕令以下所示:
cdpxelinux.cfg
cp/var/www/html/isolinux/isolinux.cfg/tftpboot/pxelinux.cfg/default
g)
在上一个步调,即第
6
点中,临时不要修正
default
文件,停止到这一步时,固然曾经可以经由过程收集来引诱并手动装置
Kickstart
了,然则因为这里评论辩论的是无人值守装置,所以先不修正这个
default
文件。
(
5
)装置
dhcp
办事,同时修正以下设置装备摆设:
yumCyinstalldhcp
然后复制设置装备摆设模板文件到指定的目次中,偏重新定名。
cp/usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample/etc/dhcpd.conf
接着修正
/etc/dhcpd.conf
设置装备摆设文件,文件最初修正内容以下所示:
ddns-update-styleinterim;
ignoreclient-updates;
next-server192.168.11.29;
filename"/pxelinux.0";
subnet192.168.11.0netmask255.255.255.0{
optionrouters192.168.11.1;
optionsubnet-mask255.255.255.0;
optionnis-domain"cn7788.com";
optiondomain-name"cn7788.com";
optiondomain-name-servers192.168.11.252;
optiontime-offset-18000;#EasternStandardTime
rangedynamic-bootp192.168.11.34192.168.11.159;
default-lease-time21600;
max-lease-time43200;
}
最初启动
dhcp
办事:
servicedhcpdstart
注:假如机械数目过量的话,留意
dhcp
办事器的地址池,不要由于耗尽
IP
而招致
dhcpd
办事器没有
IP
地址
release
情形。
(
6
)用
yum
对象主动装置
Kickstart
,同时设置装备摆设
system-config-kickstart
。
a)
起首我们须要装置
Kickstart
这个对象包,在
CentOS
最小化装置体系时,此软件包并没有默许装置,
yum
装置敕令以下所示:
yumCyinstallsystem-config-kickstart
b)
在
gnome
情况下设置装备摆设
Kickstart
,敕令以下所示:
system-config-Kickstart
运转下面的敕令后可以对体系的一些根本设置装备摆设停止设置,例如选择时区、设置
root
的暗码等。
c)
接上去便要停止装置了,建议选择
httpd
装置,切记不要输出任何账号,而是采取匿名装置。
在装置过程当中,依据引诱选择装置选项,不须要做更改。
d)Kickstart
会让我们选择须要批量装置的
CentOS5.8
分区信息,依照上一节所引见的
CentOS5.5x86_64
的装置办法,我们创立四个分区,即
/
、
/boot
、
/data
和
swap
分区。
e)
在停止收集设置装备摆设时,我应用的静态分派地址(静态异样如斯),这里跟后面停止光盘装置是一样的。
f)
设置显示设置装备摆设时可以依照我们的习气选择。
g)
关于软件包的选择,人人可以依据现实的任务需求来选择本身须要的软件包,因为办事器装置后用处都是纷歧样的,建议人人这里选择最小化装置。
h)
其他都选择默许设置,不须要修正。
i)
最初将生成的文件
ks.cfg
保留到
/var/www/html
下,此为主动化无人值守装置的重难点,此文件稍有设置装备摆设欠妥的话就会须要工资干涉了,假如人人碰到成绩,建议参考我上面的
ks.cfg
设置装备摆设文件。
(
7
)修正
/tftpboot/pxelinux.cfg/default
文件,指定读取
ks.cfg
的办法,即修正文件第一行内容,修改后文件第一行内容以下所示:
defaulttextks=http://192.168.11.29/ks.cfg
别的,也建议将
timeout
时光由本来的
600
改成
1
,
timeout
时光是引诱时期待用户手动选择的时光,设为“
1
”可直接引诱。
(
8
)
/var/www/html/ks.cfg
文件内容以下所示(此内容是全部试验进程的重难点,请存眷):
#platform=x86,AMD64,orIntelEM64T
#Systemauthorizationinformation
auth--useshadow--enablemd5
#Systembootloaderconfiguration
key--skip
bootloader--location=mbr
#Partitionclearinginformation
clearpart--none
#Usegraphicalinstall
graphical
#Firewallconfiguration
firewall--disabled
#RuntheSetupAgentonfirstboot
firstboot--disable
#Systemkeyboard
keyboardus
#Systemlanguage
langen_US
#Installationlogginglevel
logging--level=info
#Usenetworkinstallation
url--url=http://192.168.11.29/
#Networkinformation
network--bootproto=dhcp--device=eth0--onboot=on
reboot
#Rootpassword
rootpw--iscrypted$1$biw2UUzu$/ZrtUhG9gGGGJn6edgUIQ1
#SELinuxconfiguration
selinux--disabled
#Systemtimezone
timezone--isUtcAsia/Shanghai
#InstallOSinsteadofupgrade
install
#XWindowSystemconfigurationinformation
xconfig--defaultdesktop=GNOME--depth=8--resolution=640x480
#Diskpartitioninginformation
bootloader--location=mbr--driveorder=sda
clearpart--all--initlabel
part/--bytes-per-inode=4096--fstype="ext3"--size=5120
part/boot--bytes-per-inode=4096--fstype="ext3"--size=128
partswap--bytes-per-inode=4096--fstype="swap"--size=500
part/data--bytes-per-inode=4096--fstype="ext3"--grow--size=1
%packages
@base
@development-libs
@development-tools
此设置装备摆设过程当中的重难点我这里解释下:
分区操作依照今朝线上分区来操作,即分红
/
、
/boot
、
/data
及
swap
四个分区,个中
/data
分区是寄存数据的,我们这里用
--grow--size=1
参数来将其他的残剩空间全体分派给
/data
分区。
key--skip
假如是红帽体系,此选项可以跳过输出序列号进程;假如是
CentOS5.x
系列,则可以不保存此项内容;
reboot
此选项必需存在,也必需文中设定地位,否则
kickstart
显示一条新闻,并期待用户按随意率性键后才从新引诱,此成绩是许多同伙在服装论坛上谈话发问的,我在试验过程当中也碰到此成绩,建议多做几回试验;
clearpart--all--initlabel
此条敕令必需添加,否则体系会让用户手动选择能否消除一切数据,这就须要工资干涉了,从而招致主动化进程掉败;
其它方面选项较轻易看懂,我这里就不再反复了。
(
9
)将
Kickstart
须要的办事器均启动后,此主动化装置体系的进程就完成了,我们就能够在内网机柜中全主动同时装置
CentOS5.8x86_64
体系了,办事器端启动响应敕令以下:
servicehttpdstart
chkconfighttpdon
servicedhcpdstart
chkconfigdhcpdon
servicexinetdrestart
体系完成最小化后装置后,人人可以依据本身公司的现实情形来停止体系的优化,此最小化优化剧本
init.sh
还可让
puppet
办事器停止推送,此剧本内容以下所示:
#/bin/bash
#addtheepelrepo
cd/usr/local/src
wgethttp://mirrors.ustc.edu.cn/fedora/epel//5/x86_64/epel-release-5-4.noarch.rpm
rpm-ivhepel-release-5-4.noarch.rpm
#addtherpmforgerepo
cd/usr/local/src
wgethttp://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
rpm-ivhrpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
#yuminstallsysstat
yum-yinstallgccgcc-c++vim-enhancedunzipunrarsysstat
#setthentp
yum-yinstallntp
echo"0101***/usr/sbin/ntpdatentp.api.bz>>/dev/null2>&1">>/etc/crontab
ntpdatentp.api.bz
servicecrondrestart
#setthefilelimit
ulimit-SHn65535
echo"ulimit-SHn65535">>/etc/rc.local
cat>>/etc/security/limits.conf<<EOF
*softnofile60000
*hardnofile65535
EOF
#tunekernelparametres
cat>>/etc/sysctl.conf<<EOF
net.ipv4.tcp_syncookies=1
net.ipv4.tcp_syn_retries=1
net.ipv4.tcp_tw_recycle=1
net.ipv4.tcp_tw_reuse=1
net.ipv4.tcp_fin_timeout=1
net.ipv4.tcp_keepalive_time=1200
net.ipv4.ip_local_port_range=102465535
EOF
/sbin/sysctl-p
#setthecontrol-alt-deletetoguardagainstthemisuse
sed-is@ca::ctrlaltdel:/sbin/shutdown-t3-rnow@#ca::ctrlaltdel:/sbin/shutdown-t3-rnow@/etc/inittab
#disableselinux
sed-is@SELINUX=enforcing@SELINUX=disabled@/etc/selinux/config
#sshsetting
sed-i-e74s/^/#/-i-e76s/^/#//etc/ssh/sshd_config
sed-is@#UseDNSyes@UseDNSno@/etc/ssh/sshd_config
servicesshdrestart
#disableipv6
echo"aliasnet-pf-10off">>/etc/modprobe.conf
echo"aliasipv6off">>/etc/modprobe.conf
echo"installipv6/bin/true">>/etc/modprobe.conf
echo"IPV6INIT=no">>/etc/sysconfig/network
sed-is@NETWORKING_IPV6=yes@NETWORKING_IPV6=no@/etc/sysconfig/network
chkconfigip6tablesoff
#vimsetting
echo"syntaxon">>/root/.vimrc
echo"setnohlsearch">>/root/.vimrc
#chkconfigoffservices
chkconfigbluetoothoff
chkconfigsendmailoff
chkconfigkudzuoff
chkconfignfslockoff
chkconfigportmapoff
chkconfigiptablesoff
chkconfigautofsoff
chkconfigyum-updatesdoff
#rebootsystem
Reboot
留意:
#tunekernelparametres
为内核优化部门,在这里我只做了基本处置,人人有需求可以自行修正,记住:一切以体系稳固为准绳。
#vimsetting
选项为
vim
的特性化设置装备摆设,假如想
vim
语法高亮,则必需装置
vim-enhanced
包,别的,
vim
在应用搜刮功效,搜刮选中内容为高亮,感到不是特殊舒畅,所以我这里用了
setnohlsearch
选项,假如人人不介怀此项功效,则不须要添加此语句;
#disableipv6
选项我在测试时发明,在
CentOS5.8x86_64
体系下,假如不添加
installipv6/bin/true
此语句到
/etc/modprobe.conf
文件里,是封闭不了
ipv6
选项的,而测试的
CentOS5.5|5.6
不添加此句都可以顺遂封闭
ipv6
,这点请人人留意,固然了,最初要
reboot
体系让此设置装备摆设失效。
引伸:信任人人的开辟情况应当有很多
Xen
虚拟机,固然
Xen
有本身的模板文件操作,但我们也能够应用
Kickstart
的方法疾速无人值守装置
Xen
虚拟机体系,敕令以下所示:
virt-install-nvm4-r300-f/data/vm/vm4.img-s8-p-lhttp://192.168.11.29-xks=http://192.168.11.29/ks.cfg
因为
Xen
联合
Kickstart
并非本文档的重点内容,有兴致的同伙可以可以自行研讨;别的有一点请人人必定要留意:
因为此装置办法太智能化,在收集引诱胜利今后会主动消除硬盘数据偏重新装置新的体系,所以建议人人将此任务区域和网段自力出来,或许在停止完装置任务今后就停用
Kickstart
办事器,以避免对正常任务的办事器形成不用要的费事。
附:kickstart主动化剧本.rar
小知识:CentOS已正式加入红帽公司。从事互联网技术的同学,CentOS应该是值得你深入了解学习研究的。
作者:
小妖女
时间:
2015-1-17 05:38
感谢老师和同学们在学习上对我的帮助。
作者:
谁可相欹
时间:
2015-1-25 07:58
其次,Linux简单易学,因为我们初学者只是学的基础部分,Linux的结构体系非常清晰,再加上老师循序渐进的教学以及耐心的讲解,使我们理解起来很快,短期内就基本掌握了操作和运行模式。
作者:
不帅
时间:
2015-2-2 21:30
这也正是有别的OS得以存在的原因,每个系统都有其自身的优点。?
作者:
admin
时间:
2015-2-8 07:28
硬盘安装及光盘安装,清楚了解安装Linux应注意的有关问题,如安装Linux应在最后一个分区内,至少分二个分区。
作者:
柔情似水
时间:
2015-2-25 04:31
清楚了解网络的基础知识,特别是在Linux下应用知识,如接入internet等等。
作者:
小女巫
时间:
2015-3-7 20:16
熟读Linux系统有关知识,如系统目录树,有关内容可购书阅读或搜索论坛。
作者:
活着的死人
时间:
2015-3-15 20:29
就这样,我们一边上OS理论课,一边上这个实验,这样挺互补的,老师讲课,一步一步地布置任务
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2