linux 配置kickstart自动安装操作系统

我的操作系统版本

[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,配置客户机从网络启动即可自动安装完成






你可能感兴趣的:(linux,kickstart,自动安装操作系统)