我的操作系统版本
[root@localhost ~]# uname -a
Linux localhost 2.6.32-358.el6.x86_64 #1 SMP Tue Jan 29 11:47:41 EST 2013 x86_64 x86_64 x86_64 GNU/Linux
网卡地址:
[root@localhost ~]# ifconfig eth1
eth1 Link encap:Ethernet HWaddr 00:0A:EB:1D:86:92
inet addr:192.168.1.18 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::20a:ebff:fe1d:8692/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:20121 errors:0 dropped:0 overruns:0 frame:0
TX packets:18063 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:19627103 (18.7 MiB) TX bytes:2554642 (2.4 MiB)
Interrupt:21 Base address:0x6000
安装基本原理:
所有系统的网络安装和无人职守安装都是基于PXE协议。
(1)客户端开机后,PXE BootRom(自动启动芯片)获得控制权之前执行自我测试,然后以广播形式发送一请求FIND帧
(2)如果服务器收到客户端发送到请求,就会送回DHCP回应,包含客户端到IP地址、预设通信通道以及开机印象文件
(3)客户端收到服务器发出到相应后再回应一个帧,以请求传送启动所需要的文件,并且把自己的MAC地址写到server的Netnames.db文件中
(4)BootROM由TFTP协议从服务端下载开机印象文档,客户端收到启动文件后,将控制权交给启动块以引导操作系统,完成远程启动
安装步骤如下
一、 安装kick软件
1,检查是否安装kickstart软件
rpm -qa | grep kickstart
2,通过yum安装
首先检查需要安装到包名
[root@localhost ~]# yum list | grep kickstart
pykickstart.noarch 1.74.12-1.el6 base
system-config-kickstart.noarch 2.8.6.5-1.el6
安装包名:system-config-kickstart
执行下面命令安装
[root@localhost ~]# yum install -y system-config-kickstart
二,搭建DHCP Server
1,安装dhcp软件包
检查安装包
[root@localhost ]# rpm -qa | grep dhcp
dhcp-common-4.1.1-34.P1.el6.x86_64
[root@localhost]# yum list | grep dhcp
dhcp-common.x86_64 12:4.1.1-34.P1.el6 @anaconda-RedHatEnterpriseLinux-201301301459.x86_64/6.4
dhcp.x86_64
执行yum install 安装
[root@localhost ~]# yum install -y dhcp
Installed:
dhcp.x86_64 12:4.1.1-34.P1.el6.centos
Dependency Updated:
dhclient.x86_64 12:4.1.1-34.P1.el6.centos
dhcp-common.x86_64 12:4.1.1-34.P1.el6.centos
Complete!
2.编辑/etc/dhcp/dhcpd.conf文件添加如下内容
复制模板文件到/etc/dhcp 命名为dhcpd.conf
[root@localhost ~]# cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
cp: overwrite `/etc/dhcp/dhcpd.conf'? y
用vim打开/etc/dhcp/dhcpd.conf修改后到文件内容如下
ddns-update-style interim;
ignore client-updates;
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.50 192.168.1.60; //分配地址池范围
option routers 192.168.1.18; //网关地址
option subnet-mask 255.255.255.0; //子网掩码
filename "/installlinux/ks.cfg"; //指定kickstart配置文件路径
next-server 192.168.1.18; //tftp服务器的位置,这里是在本机
default-lease-time 600;
max-lease-time 7200;
}
option space PXE;
class "PXE" {
match if substring(option vendor-class-identifier, 0, 9) = "PXEClient";
option vendor-encapsulated-options 01:04:00:00:00:00:ff;
option boot-size 0x1;
filename "pxelinux.0";
option tftp-server-name "192.168.10.1"; //与next-server一致
option vendor-class-identifier "PXEClient";
vendor-option-space PXE;
}
3,启动dhcpd服务,如果服务无法启动请检查配置文件格式是否正确
[root@localhost ~]# service dhcpd start
Starting dhcpd: [ OK ]
三、配置tftp server
(1)检测安装
[root@localhost ~]# rpm -qa | grep tftp
[root@localhost ~]# yum install -y tftp tftp-server
(2)修改配置文件/etc/xinetd.d/tftp , 将disable改为no即可。
(3)启动xinetd服务
[root@localhost ~]# service xinetd start
Starting xinetd: [ OK ]
四,配置nfs服务
nfs服务是将安装系统所需要到一些文件共享出来,只需要将/etc/exports(默认为空文件)文件打开将需要共享到文件写进去即可,我们这里需要把/mnt/iso, /tftpboot, /installlinux共享出来
/mnt/iso: iso文件存放路径;
/tftpboot: tftp-server 软件包安装后生成到tftpboot目录路径;
/installlinux: ks.cfg文件存放路径;
(1)添加下面内容
[root@localhost ~]# vim /etc/exports
/mnt/iso *(ro,sync)
/installlinux *(ro,sync)
/var/lib/tftpboot *(ro,sync)
(2)重启nfs服务
[root@localhost ~]# service nfs restart
Shutting down NFS daemon: [ OK ]
Shutting down NFS mountd: [ OK ]
Shutting down NFS quotas: [ OK ]
Starting NFS services: [ OK ]
Starting NFS quotas: [ OK ]
Starting NFS mountd: [ OK ]
Stopping RPC idmapd: [ OK ]
Starting RPC idmapd: [ OK ]
Starting NFS daemon: [ OK ]
五、创建kickstart文件,注意需要与dhcpd.conf里面到文件名一致
[root@localhost installlinux]# vim ks.cfg
install
text
nfs --server=192.168.1.18 --dir=/mnt/iso
key --skip
lang zh_CN.UTF-8
keyboard us
network --device eth0 --bootproto dhcp --onboot=on
rootpw 123456
firewall --disabled
authconfig --enableshadow --enablemd5
selinux --disabled
timezone Asia/Shanghai
bootloader --location=mbr --driveorder=sda --append="rhgb quiet"
zerombr
clearpart --all --drives=sda --initlabel
part /boot �Cfstype ext4 �Csize=200
part pv.01 �Csize=1 �Cgrow
volgroup vg_root pv.01
logvol / �Cvgname=vg_root �Csize=1 �Cgrow �Cname=lv_root
logvol swap -vgname=vg_root �Csize=1024 -name=lv_swap
reboot
%packages
@base
@core
@editors
#@text-internet
#@web-server
#@mysql
#@dns-server
#sysstat
%post
/usr/sbin/useradd admin
/bin/echo 888888 | /usr/bin/passwd admin --stdin
/bin/touch /home/admin/HelloWorld
/sbin/chkconfig auditd off
/sbin/chkconfig autofs off
/sbin/chkconfig avahi-daemon off
/sbin/chkconfig bluetooth off
/sbin/chkconfig cups off
/sbin/chkconfig firstboot off
/sbin/chkconfig gpm off
/sbin/chkconfig haldaemon off
/sbin/chkconfig hidd off
/sbin/chkconfig ip6tables off
/sbin/chkconfig kudzu off
/sbin/chkconfig lvm2-monitor off
/sbin/chkconfig mcstrans off
/sbin/chkconfig netfs off
/sbin/chkconfig nfslock off
/sbin/chkconfig pcscd off
/sbin/chkconfig portmap off
/sbin/chkconfig restorecond off
/sbin/chkconfig rhnsd off
/sbin/chkconfig rpcgssd off
/sbin/chkconfig rpcidmapd off
/sbin/chkconfig smartd off
/sbin/chkconfig xfs off
/sbin/chkconfig yum-updatesd off
六、配置支持PXE启动
[root@localhost /]# cd /tftpboot //没有这个目录可以自己创建,与/etc/exports共享路径一致
[root@localhost /]# find / -name pxelinux.0 //查找pxelinux.0 复制到/tftpboot
/usr/share/syslinux/pxelinux.0
[root@localhost /]# cp /usr/share/syslinux/pxelinux.0
将光盘中的vmlinuxz initrd.img复制到/tftpboot
[root@localhost isolinux]# pwd
/mnt/iso/isolinux
[root@localhost isolinux]# cp vmlinuz initrd.img /tftpboot/
在tftpboot中创建pxelinux.cfg目录
[root@localhost tftpboot]# mkdir pxelinux.cfg
[root@localhost tftpboot]# cd pxelinux.cfg/
到pxelinux.cfg目录中,创建default文件添加下列内容
default linux
prompt 0
label linux
kernel vmlinuz
append ks=nfs:192.168.1.18:/installlinux/ks.cfg initrd=initrd.img
7,配置客户机从网络启动即可自动安装完成