仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 505|回复: 7
打印 上一主题 下一主题

[CentOS(社区)] Linux教程之PXE+DHCP+Apache+Kickstart无人值守装置CentOS

[复制链接]
冷月葬花魂 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-14 21:06:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
小知识: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_64IP192.168.11.29(此办事器并不是必定要限制为CentOS5.8x86_64体系),因为是最小化装置的,我们在前面要用到system-config-kickstart对象,它必需依附于Xwindows,所以我们要提早装置好Xwindowsgnome偏重启体系,步调以下所示:

先装XwindowsGNOME桌面情况,敕令以下所示:
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.imgvmlinux复制到/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/dataswap分区。
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改成1timeout时光是引诱时期待用户手动选择的时光,设为“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/dataswap四个分区,个中/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:15 | 只看该作者
感谢老师和同学们在学习上对我的帮助。
谁可相欹 该用户已被删除
板凳
发表于 2015-1-25 07:58:39 | 只看该作者
其次,Linux简单易学,因为我们初学者只是学的基础部分,Linux的结构体系非常清晰,再加上老师循序渐进的教学以及耐心的讲解,使我们理解起来很快,短期内就基本掌握了操作和运行模式。
不帅 该用户已被删除
地板
发表于 2015-2-2 21:30:13 | 只看该作者
这也正是有别的OS得以存在的原因,每个系统都有其自身的优点。?
admin 该用户已被删除
5#
发表于 2015-2-8 07:28:40 | 只看该作者
硬盘安装及光盘安装,清楚了解安装Linux应注意的有关问题,如安装Linux应在最后一个分区内,至少分二个分区。
柔情似水 该用户已被删除
6#
发表于 2015-2-25 04:31:17 | 只看该作者
清楚了解网络的基础知识,特别是在Linux下应用知识,如接入internet等等。
小女巫 该用户已被删除
7#
发表于 2015-3-7 20:16:26 | 只看该作者
熟读Linux系统有关知识,如系统目录树,有关内容可购书阅读或搜索论坛。
活着的死人 该用户已被删除
8#
发表于 2015-3-15 20:29:46 | 只看该作者
就这样,我们一边上OS理论课,一边上这个实验,这样挺互补的,老师讲课,一步一步地布置任务
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-19 17:44

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表