建立无人职守安装服务器
环境要求:一台电脑,安装源光盘
所需服务:DHCP TFTP or (NFS,HTTP,FTP)
1.在服务器上建立相应的目录/rhel_source /ks (一般用于NFS)如果是FTP,则一般会放到服务器上的/var/ftp/pub/,那么,现在我们用NFS方式进行安装部署.首先建立两个目录,/rhel_source /ks,然后进行共享出去.
vim /etc/exports
/rhel_source *(ro,sync)
/ks *(ro,sync)
重新启动NFS,portmap服务.
2.启用tftp服务,vim /etc/xinetd.d/tftp,将里面的disable=yes 改为no,然后在server-flag后面再加两个参数-v -t如下:
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -t -s -v /tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
然后重启xinetd服务
3.建立映像引导目录tftpboot
首先确认安装了syslinux这个包,可以用yum源进行安装,安装后,我们可以将
[root@vserver1 tftpboot]# rpm -aq | grep syslinux
syslinux-3.11-4
确定安装后,用rpm -ql syslinux查找到pxelinux.0的文件,将其复制到/tftpboo/下
[root@vserver1 tftpboot]# cp /usr/lib/syslinux/pxelinux.0 /tftpboot
其次,进入我们的安装源目录下,进入isolinux,将进而的所有文件复制到/tftpboot下
[root@vserver1 isolinux]# pwd
/rhel_source/isolinux
[root@vserver1 isolinux]# cp * /tftpboot确定里面的文件都在
[root@vserver1 tftpboot]# pwd
/tftpboot
[root@vserver1 tftpboot]# ls
boot.cat initrd.img linux-install param.msg splash.lss
boot.msg isolinux.bin memtest pxelinux.0 TRANS.TBL
general.msg isolinux.cfg options.msg rescue.msg vmlinuz
再次在/tftpboot目录下建立一个文件夹pxelinux.cfg,将安装源isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default.
[root@vserver1 tftpboot]# cp /rhel_source/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default
再打开将
label vmlinux
kernel vmlinuz
append initrd=initrd.img ks=nfs:127.16.7.128:/ks/ks.cfg内容追加到此文件中,另外,为了让在引导的时候我们不输入vmlinux就可以进行自动安装,还要将第一行的default的项替换成vmlinux,timeout改成10,这样我们可以少等一点时间.
4.制作自动应答文件,这在里有两种方法来获取,第一种就是复制/root下有一个anonconda.cfg文件,进行少量修改就OK了.如果自己制作,我们需要安装一个包,就是system-config-kickstart.因为安装后,我们才可以进行图形界面的自动应答文件的建立,如果你牛,也可以手动建立,反正我现在还记不住.
将制作好的ks.cfg文件放到我们刚才共享出来的/ks/下.
5.安装DHCP服务器,并且配置它.
yum -y install dhcp
cp /usr/share/doc/dhcp-3.0.5/dhcp.conf.sample /etc/dhcpd.conf(将dhcp的示例文件复制到/etc/下,然后进行适当的修改就OK了.)更改后的配置如下:
-----------------------------------------------------------------------------------------------
ddns-update-style interim;
ignore client-updates;
next-server 172.16.7.128; --->tftp服务器的IP地址
filename "/tftpboot/pxelinux.0"; --->pxelinux.0文件的存放路径
allow bootp; --->这两条一定要,也就是接受引导
allow booting;
subnet 172.16.7.0 netmask 255.255.255.0 { --->你dhcp服务器所在网段
# --- default gateway
option routers 172.16.7.1; --->设置网关
option subnet-mask 255.255.255.0;--->子网掩码
option nis-domain "domain.org";--->NIS域
option domain-name "domain.org";--->DNS域名
option domain-name-servers 172.16.7.1;--->DNS域名服务器地址
option time-offset -18000; # Eastern Standard Time
# option ntp-servers 192.168.1.1; --->时间服务器地址
# option netbios-name-servers 192.168.1.1; --->netbios服务器地址(一般可以不用)
# --- Selects point-to-point node (default is hybrid). Don't change this unless
# -- you understand Netbios very well
# option netbios-node-type 2;
range dynamic-bootp 172.16.7.128 172.16.7.254;--->DHCP分配IP地址的范围
default-lease-time 21600; --->租约时间
max-lease-time 43200; --->最大租约时间
# we want the nameserver to appear at a fixed address
host ns {--->以下内容就是IP绑定,也就是win系统里所说的保留IP给固定的主机
next-server marvin.redhat.com;
hardware ethernet 12:34:56:78:AB:CD;
fixed-address 207.175.42.254;
}
}
------------------------------------------------------------------------------------------------
ks.cfg
key --skip
auth --useshadow --enablemd5
bootloader --append="rhgb quiet" --location=mbr
clearpart --none
text
firewall --disabled
firstboot --disable
keyboard us
lang en_US
logging --level=info
nfs --server=172.16.7.128 --dir=/rhel_source
url --url=ftp://172.16.7.128/pub/server
url --url=http://172.16.7.128/
network --bootproto=dhcp --device=eth0 --onboot=on
rootpw --iscrypted $1$1dz.8GED$942ipkQ5pyselowxRdm.0/
selinux --disabled
timezone Asia/Chongqing
install
xconfig --defaultdesktop=GNOME --depth=8 --resolution=640x480
part / --bytes-per-inode=4096 --fstype="ext3" --size=7000
part swap --bytes-per-inode=4096 --fstype="swap" --size=512
part /boot --bytes-per-inode=4096 --fstype="ext3" --size=200
%packages
@base
@x-software-development
@development-libs
@development-tools
@legacy-software-development
@system-tools
@gnome-software-development
@admin-tools
@chinese-support
@text-internet
@editors
emacs
kexec-tools
fipscheck
device-mapper-multipath
xorg-x11-utils
xorg-x11-server-Xnest
libsane-hpaio
---------------------------------------------------------------
default文件示例:
default vmlinux
prompt 1
timeout 6
display boot.msg
F1 boot.msg
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg
label linux
kernel vmlinuz
append initrd=initrd.img
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 -
label vmlinux
kernel vmlinuz
append initrd=initrd.img ks=ftp://172.16.7.128/pub/ks.cfg
append initrd=initrd.img ks=nfs:172.16.7.128:/ks/ks.cfg
append initrd=initrd.img ks=http://172.16.7.128/ks.cfg