分类: LINUX
2012-11-27 15:25:25
一、架设Linux网络安装服务器
第1步:关闭iptables与SElinux
[root@Install ~]# chkconfig iptables off; service iptables stop
[root@Install ~]# setenforce 0
==================================================================================
第2步:为了方便安装RPM包,我们先搭建好yum源
(1)挂载光驱
[root@Install ~]# mkdir /media/cdrom
[root@Install ~]# vi /etc/fstab
#加入下面一句,让开机启动时自动挂载cdrom
/dev/hdc /media/cdrom iso9660 defaults 0 0
[root@Install ~]# mount /dev/cdrom /media/cdrom
#查看一下,现在挂载cdrom是否成功
[root@Install ~]# mount
(2)配置yum源
#由于Linux系统安装完后,默认已经安装了yum包了,所以我们可直接进行配置yum源
[root@Install ~]# rpm -qa | grep 'yum'
yum--20.el5.centos
yum-fastestmirror--13.el5.centos
yum-metadata-parser--3.el5.centos
#创建一个*.repo配置文件,目的是:提供本地的yum源
[root@Install ~]# touch /etc/yum.repos.d/intranet.repo
[root@Install ~]# vi intranet.repo
[cdrom]
name=Install RPM From cdrom
baseurl=file:///media/cdrom
enabled=1
protect=1
gpgcheck=1
ghgkey=file:///media/cdrom/RPM-GPG-KEY-CentOS-5
[root@Install ~]# rpm --import /media/cdrom/RPM-GPG-KEY-CentOS-5
[root@Install ~]# cd /etc/yum.repos.d/
[root@Install yum.repos.d]# tar -zcvf CentOS_repo_file.tgz CentOS-*
[root@Install yum.repos.d]# rm -rf CentOS-*
[root@Install yum.repos.d]# yum clean all; yum makecache
==================================================================================
第3步:搭建tftp与dhcp服务器,并配置这两个服务器(PXE需要用到这两个)
#DHCP服务器需要安装:dhcp--21.el5.i386.rpm
#TFTP服务器需要安装:tftp-server-0.49-2.el5.centos.i386.rpm
[root@Install ~]# yum install tftp-server dhcp
#配置TFTP服务器(配置文件:/etc/xinetd.d/tftp)
[root@Install ~]# vi /etc/xinetd.d/tftp
#只需要修改两个地方,如下
server_args = -u nobody -s /tftpboot
disable = no
#配置DHCP服务器(配置文件:/etc/dhcpd.conf)
[root@Install ~]# cp /usr/share/doc/dhcp-/dhcpd.conf.sample /etc/dhcpd.conf
[root@Install ~]# vi /etc/dhcpd.conf
ddns-update-style interim;
ignore client-updates;
authourtative;
log-facility local7;
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.55 192.168.1.66;
option routers 192.168.1.1;
option subnet-mask 255.255.255.0;
option domain-name-servers ;
option domain-name "33cn.com";
option netbios-name-servers 192.168.1.100;
option time-offset -18000;
option broadcast-address 192.168.1.255;
default-lease-time 6000;
max-lease-time 11400;
next-server 192.168.1.100;
filename "/pxelinux.0";
}
==================================================================================
第4步:创建一个目录,用于存放系统安装文件,并把光盘中的系统安装文件拷贝到该目录下
[root@Install ~]# mkdir /disk
[root@Install ~]# cp -rf /media/cdrom/* /disk/
==================================================================================
第5步:安装NFS服务器,并配置
#查看是否已经安装了NFS服务器需要的安装包
[root@Install ~]# rpm -qa | grep "nfs\|portmap\|mount"
#如果没有安装nfs相关的那些包,那么现在就安装它们
[root@Install ~]# yum install nfs*
[root@Install ~]# vi /etc/exports
/disk *(ro,sync)
[root@Install ~]# exportfs –a
==================================================================================
第6步:启动dhcpd服务、nfs服务、tftpd服务
################立即启动下面这些服务###################
[root@Install ~]# service dhcpd start
[root@Install ~]# service netfs start
[root@Install ~]# service portmap start
[root@Install ~]# service nfs start
[root@Install ~]# service nfslock start
[root@Install ~]# chkconfig --level 345 tftp on
[root@Install ~]# service xinetd start
###############开机自动启动下面这些服务#################
[root@Install ~]# chkconfig --level 345 netfs on
[root@Install ~]# chkconfig --level 345 dhcpd on
[root@Install ~]# chkconfig --level 345 portmap on
[root@Install ~]# chkconfig --level 345 nfs on
[root@Install ~]# chkconfig --level 345 tftp on
[root@Install ~]# chkconfig --level 345 xinetd on
[root@Install ~]# chkconfig --level 345 nfslock on
[root@Install ~]# chkconfig --level 345 rpcgssd on
[root@Install ~]# chkconfig --level 345 rpcidmapd on
[root@Install ~]# chkconfig --level 345 rpcsvcgssd on
第7步:生成ks.cfg安装配置文件(两种方法)
第一种方法:如果你的“ Linux网络安装服务器“ 有安装桌面环境时,那么就可以通过终端运行:system-config-kickstart指令来启动kickstart的图形化界面配置程序来生成一个安装配置文件文件:ks.cfg,这种方式需要自己在ks.cfg配置文件中输入要安装的RPM包的名称(推荐使用)
[root@Install ~]# init 5
[root@Install ~]# yum install system-config-kickstart
[root@Install ~]# system-config-kickstart
第二种方法:如果你的 “Linux网络安装服务器“ 没有安装桌面环境,那么可以通过启动一台客户机从网络安装Linux来生成一个安装配置文件:ks.cfg,这种方式需要增加几条语句,才能实现自动化的安装(熟练者使用)
注意:本文使用的是第2种方法来生成一个安装配置文件:ks.cfg
===================================================================
第8步: 编辑ks.cfg安装配置文件,并使用NFS共享出该文件,由于之前已经共享了/disk目录了,只要把该文件放到该目录下即可
#将客户机上新生成的安装配置脚本文件(/root/anaconda-ks.cfg),重命名为ks.cfg,然后将其上传到 ”linux网络安装服务器“ 上的/disk目录下,然后并共享出/disk目录
[root@Install ~]# cp ks.cfg /disk
[root@Install ~]# exportfs -a; service nfs restart
[root@Install ~]# vi /disk/ks.cfg
# Kickstart file automatically generated by anaconda.
install
nfs --server=192.168.1.100 --dir=/disk
lang en_US.UTF-8
keyboard us
network --device eth0 --bootproto dhcp
rootpw --iscrypted $1$Fjy9Zn3F$TVdnSzmnBmh66outBemYi1
firewall --disabled
firstboot --disable
authconfig --enableshadow --enablemd5
selinux --disabled
timezone --utc Asia/Shanghai
bootloader --location=mbr --driveorder=sda --md5pass=$1$t.hy0XQB$2o4sTrilDhARD8cNKJKf1.
zerombr
clearpart --all --initlabel #如果ks.cfg脚本中不添加该语句,将不能实现自动化安装
text #使用文本方式安装
part /boot --bytes-per-inode=4096 --fstype="ext3" --size=150
part swap --bytes-per-inode=4096 --fstype="swap" --size=512
part / --bytes-per-inode=4096 --fstype="ext3" --grow --size=100
%packages
@base
@chinese-support
@core
@development-libs
@development-tools
@dialup
@editors
@printing
@text-internet
keyutils
trousers
fipscheck
device-mapper-multipath
imake
注意:比较重要的是下面这两行
nfs --server=NFS服务器的位置 --dir=光盘的位置 或 系统安装文件存放的位置
network --device eth0 --bootproto dhcp(使用DHCP来实现自动分配IP地址)
===================================================================
第9步:配置支持PXE,即:复制PXE启动时所需要的文件
(1)复制必要的文件
#确保/tftp目录存在,如果不存在,手工创建它
[root@Install ~]# ls -d /tftpboot || make /tftpboot
[root@Install ~]# cp /usr/lib/syslinux/pxelinux.0 /tftpboot/
注意:如果找不到syslinux目录与pxelinux.0文件,那么你就必须安装软件包:syslinux-3.11-4.i386.rpm
[root@Install ~]# mkdir /tftpboot/pxelinux.cfg
[root@Install ~]# cp /media/cdrom/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default
[root@Install ~]# cp /media/cdrom/isolinux/* /tftpboot/
注意:最主要的是这两个文件:initrd.img与vmlinuz
(2)修改PXE的引导配置文件:/tftpboot/pxelinux.cfg/default
[root@Install ~]# chmod u+w /tftpboot/pxelinux.cfg/default
[root@Install ~]# vi /tftpboot/pxelinux.cfg/default
default linux
prompt 1
timeout 10 #超时的时间改小点:10秒
display boot.msg
F1 boot.msg
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg
label linux
kernel vmlinuz
#引导Linux时,加载kickstart安装配置脚本文件,实现自动安装
append ks=nfs:192.168.1.100:/disk/ks.cfg initrd=initrd.img
#append ks=ftp://192.168.1.100/ks.cfg initrd=initrd.img (ks.cfg放在/var/ftp目录下)
label text
kernel vmlinuz
append initrd=initrd.img text
label ks
kernel vmlinuz
append ks initrd=initrd.img
label local
localboot 1
label memtest86
kernel memtest
append -
(3)然后再重启一下这些服务,确保它们正常工作
[root@Install ~]# service nfs restart
[root@Install ~]# service dhcpd restart
[root@Install ~]# service xinetd restart
===================================================================
三、测试全自动网络安装Linux
当Linux网络安装服务器配置完成后,我们再开启一台客户机进行测试,看是否能全自动的网络安装Linux... ... ...