以下本人实战20150306晚实战。有撒问题QQ我747824617
一、 概述 1.2 kickstart 安装
1.2.2 安装kickstart
kickstart配置 Dhcpd服务器安装
安装tftp服务器
[tr] [td=553]
6期7组 洪波
一、 概述
后面会使用kickstart批量安装linux系统,本地主要编写一个初始化设置的一个脚本,一个http服务器,便于安装服务器,下面为kickstart的原理:
二、 步骤Kickstart安装1.1 PXE原理PXE(Pre-boot Execution Environment)是由Intel设计的协议,它可以使计算机通过网络启动。协议分为client和server两端,PXE client在网卡的ROM中,当计算机引导时,BIOS把PXE client调入内存执行,并显示出命令菜单,经用户选择后,PXE client将放置在远端的操作系统通过网络下载到本地运行。
既然是通过网络传输,就需要IP地址;也就是说在其启动过程中,客户端请求服务器分配IP地址,之后PXE Client使用TFTP Client 通过TFTP(Trivial File Transfer Protocol)协议下载启动安装程序所需的文件。
简单地说PXE网络安装,客户机通过支持PXE的网卡向网络中发送请求DHCP信息的广播请求IP地址等信息,DHCP服务器给客户端提供IP地址和其它信息(TFTP服务器、启动文件等),之后请求并下载安装需要的文件。在这个过程中需要一台服务器来提供启动文件、安装文件、以及安装过程中的自动应答文件等。下图中介绍了Linux中自动安装系统的详细工作过程:
第一步:PXEClient向DHCP发送请求
首先,将支持PXE的网络接口卡(NIC)的客户端的BIOS设置成为网络启动,通过PXEBootROM(自启动芯片)会以UDP(简单用户数据报协议)发送一个广播请求,向网络中的DHCP服务器索取IP地址等信息。
第二步:DHCP服务器提供信息
DHCP服务器收到客户端的请求,验证是否来至合法的PXE Client的请求,验证通过它将给客户端一个“提供”响应,这个“提供”响应中包含了为客户端分配的IP地址、pxelinux启动程序(TFTP)位置,以及配置文件所在位置。
第三步:PXE客户端请求下载启动文件
客户端收到服务器的“回应”后,会回应一个帧,以请求传送启动所需文件。这些启动文件包括:pxelinux.0、pxelinux.cfg/default、vmlinuz、initrd.img等文件。
第四步:BootServer响应客户端请求并传送文件
当服务器收到客户端的请求后,他们之间之后将有更多的信息在客户端与服务器之间作应答, 用以决定启动参数。BootROM 由 TFTP 通讯协议从Boot Server下载启动安装程序所必须的文件(pxelinux.0、pxelinux.cfg/default)。default文件下载完成后,会根据该文件中定义的引导顺序,启动Linux安装程序的引导内核。
第五步:请求下载自动应答文件
客户端通过pxelinux.cfg/default文件成功的引导Linux安装内核后,安装程序首先必须确定你通过什么安装介质来安装linux,如果是通过网络安装(NFS, FTP, HTTP),则会在这个时候初始化网络,并定位安装源位置。或许你会说,刚才PXE不是已经获取过IP地址了吗?为什么现在还需要一次?这是由于PXE获取的是安装用的内核以及安装程序等,而安装程序要获取的是安装系统所需的二进制包以及配置文件。由于它们需要的内容不同造成PXE模块和安装程序是相对独立的,PXE的网络配置并不能传递给安装程序。从而进行两次获取IP地址过程。
接着会读取该文件中指定的自动应答文件ks.cfg所在位置,根据该位置请求下载该文件。
第六步:客户端安装操作系统
将ks.cfg文件下载回来后,通过该文件找到OS Server,并按照该文件的配置请求下载安装过程需要的软件包。
OS Server和客户端建立连接后,将开始传输软件包,客户端将开始安装操作系统。安装完成后,将提示重新引导计算机。这个时候注意,在重新引导的过程中一定要将BIOS修改回从硬盘启动,不然的话又会重复的自动安装操作系统。
在上面介绍中PXEclient是需要安装Linux的计算机,TFTP Server、DHCP Server和NFS Server运行在另外一台Linux Server上。Bootstrap文件、配置文件、Linux内核都放置在Linux Server上TFTP服务器的根目录下。而Linux根文件系统存放于NFS Server的共享目录中。
PXE client在工作过程中,需要三个二进制文件:bootstrap、Linux 内核和Linux根文件系统。Bootstrap文件是可执行程序,它向用户提供简单的控制界面,并根据用户的选择,下载合适的Linux内核以及Linux根文件系统。
Kickstart系统默认没有安装,我们需要手动安装
1.2.1 配置yum源 Fri Mar 06 07:59:27 [root@localhost yum.repos.d]#yum makecache Loaded plugins: fastestmirror, refresh-packagekit, security Determining fastest mirrors * base: mirrors.yun-idc.com * extras: mirror.bit.edu.cn * updates: mirrors.yun-idc.com base | 3.7 kB 00:00 base/group_gz | 216 kB 00:01 base/filelists_db | 6.1 MB 00:50 base/primary_db | 4.6 MB 00:37 base/other_db | 2.8 MB 00:28 extras | 3.4 kB 00:00 extras/filelists_db | 31 kB 00:00 extras/prestodelta | 605 B 00:00 extras/primary_db | 30 kB 00:00 extras/other_db | 37 kB 00:00 updates | 3.4 kB 00:00 updates/filelists_db | 1.6 MB 00:14 updates/prestodelta | 215 kB 00:02 updates/primary_db | 2.1 MB 00:20 updates/other_db | 19 MB 03:10 Metadata Cache Created Fri Mar 06 08:05:47 [root@localhost yum.repos.d]# |
Fri Mar 06 08:07:11 [root@localhost yum.repos.d]#yum install system-config-kickstart Loaded plugins: fastestmirror, refresh-packagekit, security Loading mirror speeds from cached hostfile * base: mirrors.yun-idc.com * extras: mirror.bit.edu.cn * updates: mirrors.yun-idc.com Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package system-config-kickstart.noarch 0:2.8.6.5-1.el6 will be installed --> Processing Dependency: pykickstart >= 0.96 for package: system-config-kickstart-2.8.6.5-1.el6.noarch --> Processing Dependency: anaconda >= 11.4.0.42-1 for package: system-config-kickstart-2.8.6.5-1.el6.noarch --> Processing Dependency: system-config-language for package: system-config-kickstart-2.8.6.5-1.el6.noarch --> Running transaction check ---> Package anaconda.x86_64 0:13.21.229-1.el6.centos will be installed --> Processing Dependency: syslinux >= 3.73 for package: anaconda-13.21.229-1.el6.centos.x86_64 --> Processing Dependency: python-pyblock >= 0.45-2 for package: anaconda-13.21.229-1.el6.centos.x86_64 --> Processing Dependency: python-cryptsetup >= 0.0.6 for package: anaconda-13.21.229-1.el6.centos.x86_64 --> Processing Dependency: pyparted >= 3.0 for package: anaconda-13.21.229-1.el6.centos.x86_64 --> Processing Dependency: fcoe-utils >= 1.0.12-3.20100323git for package: anaconda-13.21.229-1.el6.centos.x86_64 --> Processing Dependency: createrepo >= 0.4.7 for package: anaconda-13.21.229-1.el6.centos.x86_64 --> Processing Dependency: tigervnc-server for package: anaconda-13.21.229-1.el6.centos.x86_64 --> Processing Dependency: squashfs-tools for package: anaconda-13.21.229-1.el6.centos.x86_64 --> Processing Dependency: python-nss for package: anaconda-13.21.229-1.el6.centos.x86_64 --> Processing Dependency: makebootfat for package: anaconda-13.21.229-1.el6.centos.x86_64 --> Processing Dependency: isomd5sum for package: anaconda-13.21.229-1.el6.centos.x86_64 --> Processing Dependency: anaconda-yum-plugins for package: anaconda-13.21.229-1.el6.centos.x86_64 --> Processing Dependency: libiscsi.so.0()(64bit) for package: anaconda-13.21.229-1.el6.centos.x86_64 ---> Package pykickstart.noarch 0:1.74.16-1.el6 will be installed ---> Package system-config-language.noarch 0:1.3.4-6.el6 will be installed --> Running transaction check ---> Package anaconda-yum-plugins.noarch 1:1.0-5.1.el6 will be installed ---> Package createrepo.noarch 0:0.9.9-22.el6 will be installed --> Processing Dependency: python-deltarpm for package: createrepo-0.9.9-22.el6.noarch ---> Package fcoe-utils.x86_64 0:1.0.28-3.el6 will be installed --> Processing Dependency: lldpad >= 0.9.43 for package: fcoe-utils-1.0.28-3.el6.x86_64 --> Processing Dependency: libhbalinux >= 1.0.13 for package: fcoe-utils-1.0.28-3.el6.x86_64 --> Processing Dependency: device-mapper-multipath for package: fcoe-utils-1.0.28-3.el6.x86_64 --> Processing Dependency: libHBAAPI.so.2()(64bit) for package: fcoe-utils-1.0.28-3.el6.x86_64 ---> Package iscsi-initiator-utils.x86_64 0:6.2.0.873-13.el6 will be installed ---> Package isomd5sum.x86_64 1:1.0.6-1.el6 will be installed ---> Package makebootfat.x86_64 0:1.4-10.el6 will be installed ---> Package pyparted.x86_64 0:3.4-4.el6 will be installed ---> Package python-cryptsetup.x86_64 0:0.0.11-1.el6 will be installed ---> Package python-nss.x86_64 0:0.13-1.el6 will be installed ---> Package python-pyblock.x86_64 0:0.48-1.el6 will be installed ---> Package squashfs-tools.x86_64 0:4.0-5.el6 will be installed ---> Package syslinux.x86_64 0:4.04-3.el6 will be installed --> Processing Dependency: syslinux-nonlinux for package: syslinux-4.04-3.el6.x86_64 ---> Package tigervnc-server.x86_64 0:1.1.0-16.el6.centos will be installed --> Processing Dependency: pixman >= 0.27.2 for package: tigervnc-server-1.1.0-16.el6.centos.x86_64 --> Processing Dependency: libX11 >= 1.6.0 for package: tigervnc-server-1.1.0-16.el6.centos.x86_64 --> Processing Dependency: xorg-x11-fonts-misc for package: tigervnc-server-1.1.0-16.el6.centos.x86_64 --> Running transaction check ---> Package device-mapper-multipath.x86_64 0:0.4.9-80.el6_6.3 will be installed --> Processing Dependency: kpartx = 0.4.9-80.el6_6.3 for package: device-mapper-multipath-0.4.9-80.el6_6.3.x86_64 --> Processing Dependency: device-mapper-multipath-libs = 0.4.9-80.el6_6.3 for package: device-mapper-multipath-0.4.9-80.el6_6.3.x86_64 --> Processing Dependency: libmultipath.so()(64bit) for package: device-mapper-multipath-0.4.9-80.el6_6.3.x86_64 --> Processing Dependency: libmpathpersist.so.0()(64bit) for package: device-mapper-multipath-0.4.9-80.el6_6.3.x86_64 ---> Package libX11.x86_64 0:1.5.0-4.el6 will be updated ---> Package libX11.x86_64 0:1.6.0-2.2.el6 will be an update --> Processing Dependency: libX11-common = 1.6.0-2.2.el6 for package: libX11-1.6.0-2.2.el6.x86_64 ---> Package libhbaapi.x86_64 0:2.2.9-1.el6 will be installed ---> Package libhbalinux.x86_64 0:1.0.16-1.el6 will be installed ---> Package lldpad.x86_64 0:0.9.46-3.el6_5 will be installed --> Processing Dependency: lldpad-libs(x86-64) = 0.9.46-3.el6_5 for package: lldpad-0.9.46-3.el6_5.x86_64 --> Processing Dependency: liblldp_clif.so.1()(64bit) for package: lldpad-0.9.46-3.el6_5.x86_64 --> Processing Dependency: libconfig.so.8()(64bit) for package: lldpad-0.9.46-3.el6_5.x86_64 ---> Package pixman.x86_64 0:0.26.2-5.el6_4 will be updated ---> Package pixman.x86_64 0:0.32.4-4.el6 will be an update ---> Package python-deltarpm.x86_64 0:3.5-0.5.20090913git.el6 will be installed --> Processing Dependency: deltarpm = 3.5-0.5.20090913git.el6 for package: python-deltarpm-3.5-0.5.20090913git.el6.x86_64 ---> Package syslinux-nonlinux.noarch 0:4.04-3.el6 will be installed ---> Package xorg-x11-fonts-misc.noarch 0:7.2-9.1.el6 will be installed --> Running transaction check ---> Package deltarpm.x86_64 0:3.5-0.5.20090913git.el6 will be installed ---> Package device-mapper-multipath-libs.x86_64 0:0.4.9-80.el6_6.3 will be installed ---> Package kpartx.x86_64 0:0.4.9-72.el6 will be updated ---> Package kpartx.x86_64 0:0.4.9-80.el6_6.3 will be an update ---> Package libX11-common.noarch 0:1.5.0-4.el6 will be updated ---> Package libX11-common.noarch 0:1.6.0-2.2.el6 will be an update ---> Package libconfig.x86_64 0:1.3.2-1.1.el6 will be installed ---> Package lldpad-libs.x86_64 0:0.9.46-3.el6_5 will be installed --> Finished Dependency Resolution Dependencies Resolved ======================================================================================================================================================================= Package Arch Version Repository Size ======================================================================================================================================================================= Installing: system-config-kickstart noarch 2.8.6.5-1.el6 base 923 k Installing for dependencies: anaconda x86_64 13.21.229-1.el6.centos base 3.2 M anaconda-yum-plugins noarch 1:1.0-5.1.el6 base 13 k createrepo noarch 0.9.9-22.el6 base 96 k deltarpm x86_64 3.5-0.5.20090913git.el6 base 71 k device-mapper-multipath x86_64 0.4.9-80.el6_6.3 updates 122 k device-mapper-multipath-libs x86_64 0.4.9-80.el6_6.3 updates 190 k fcoe-utils x86_64 1.0.28-3.el6 base 103 k iscsi-initiator-utils x86_64 6.2.0.873-13.el6 base 719 k isomd5sum x86_64 1:1.0.6-1.el6 base 24 k libconfig x86_64 1.3.2-1.1.el6 base 51 k libhbaapi x86_64 2.2.9-1.el6 base 21 k libhbalinux x86_64 1.0.16-1.el6 base 32 k lldpad x86_64 0.9.46-3.el6_5 base 215 k lldpad-libs x86_64 0.9.46-3.el6_5 base 28 k makebootfat x86_64 1.4-10.el6 base 42 k pykickstart noarch 1.74.16-1.el6 base 310 k pyparted x86_64 3.4-4.el6 base 184 k python-cryptsetup x86_64 0.0.11-1.el6 base 22 k python-deltarpm x86_64 3.5-0.5.20090913git.el6 base 27 k python-nss x86_64 0.13-1.el6 base 202 k python-pyblock x86_64 0.48-1.el6 base 67 k squashfs-tools x86_64 4.0-5.el6 base 80 k syslinux x86_64 4.04-3.el6 base 346 k syslinux-nonlinux noarch 4.04-3.el6 base 584 k system-config-language noarch 1.3.4-6.el6 base 143 k tigervnc-server x86_64 1.1.0-16.el6.centos updates 1.0 M xorg-x11-fonts-misc noarch 7.2-9.1.el6 base 5.8 M Updating for dependencies: kpartx x86_64 0.4.9-80.el6_6.3 updates 63 k libX11 x86_64 1.6.0-2.2.el6 base 586 k libX11-common noarch 1.6.0-2.2.el6 base 192 k pixman x86_64 0.32.4-4.el6 base 243 k Transaction Summary ======================================================================================================================================================================= Install 28 Package(s) Upgrade 4 Package(s) Total download size: 16 M Is this ok [y/N]: y Downloading Packages: (1/32): anaconda-13.21.229-1.el6.centos.x86_64.rpm | 3.2 MB 00:29 (2/32): anaconda-yum-plugins-1.0-5.1.el6.noarch.rpm | 13 kB 00:00 (3/32): createrepo-0.9.9-22.el6.noarch.rpm | 96 kB 00:00 (4/32): deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm | 71 kB 00:00 (5/32): device-mapper-multipath-0.4.9-80.el6_6.3.x86_64.rpm | 122 kB 00:02 (6/32): device-mapper-multipath-libs-0.4.9-80.el6_6.3.x86_64.rpm | 190 kB 00:03 (7/32): fcoe-utils-1.0.28-3.el6.x86_64.rpm | 103 kB 00:02 (8/32): iscsi-initiator-utils-6.2.0.873-13.el6.x86_64.rpm | 719 kB 00:13 (9/32): isomd5sum-1.0.6-1.el6.x86_64.rpm | 24 kB 00:00 (10/32): kpartx-0.4.9-80.el6_6.3.x86_64.rpm | 63 kB 00:00 (11/32): libX11-1.6.0-2.2.el6.x86_64.rpm | 586 kB 00:08 (12/32): libX11-common-1.6.0-2.2.el6.noarch.rpm | 192 kB 00:06 (13/32): libconfig-1.3.2-1.1.el6.x86_64.rpm | 51 kB 00:00 (14/32): libhbaapi-2.2.9-1.el6.x86_64.rpm | 21 kB 00:00 (15/32): libhbalinux-1.0.16-1.el6.x86_64.rpm | 32 kB 00:00 (16/32): lldpad-0.9.46-3.el6_5.x86_64.rpm | 215 kB 00:03 (17/32): lldpad-libs-0.9.46-3.el6_5.x86_64.rpm | 28 kB 00:00 (18/32): makebootfat-1.4-10.el6.x86_64.rpm | 42 kB 00:00 (19/32): pixman-0.32.4-4.el6.x86_64.rpm | 243 kB 00:04 (20/32): pykickstart-1.74.16-1.el6.noarch.rpm | 310 kB 00:05 (21/32): pyparted-3.4-4.el6.x86_64.rpm | 184 kB 00:03 (22/32): python-cryptsetup-0.0.11-1.el6.x86_64.rpm | 22 kB 00:00 (23/32): python-deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm | 27 kB 00:00 (24/32): python-nss-0.13-1.el6.x86_64.rpm | 202 kB 00:03 (25/32): python-pyblock-0.48-1.el6.x86_64.rpm | 67 kB 00:01 (26/32): squashfs-tools-4.0-5.el6.x86_64.rpm | 80 kB 00:01 (27/32): syslinux-4.04-3.el6.x86_64.rpm | 346 kB 00:04 (28/32): syslinux-nonlinux-4.04-3.el6.noarch.rpm | 584 kB 00:04 (29/32): system-config-kickstart-2.8.6.5-1.el6.noarch.rpm | 923 kB 00:06 (30/32): system-config-language-1.3.4-6.el6.noarch.rpm | 143 kB 00:01 (31/32): tigervnc-server-1.1.0-16.el6.centos.x86_64.rpm | 1.0 MB 00:08 (32/32): xorg-x11-fonts-misc-7.2-9.1.el6.noarch.rpm | 5.8 MB 00:45 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- Total 93 kB/s | 16 MB 02:52 warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID c105b9de: NOKEY Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 Importing GPG key 0xC105B9DE: Userid : CentOS-6 Key (CentOS 6 Official Signing Key) <centos-6-key@centos.org> Package: centos-release-6-5.el6.centos.11.1.x86_64 (@anaconda-CentOS-201311272149.x86_64/6.5) From : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 Is this ok [y/N]: y Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : syslinux-nonlinux-4.04-3.el6.noarch 1/36 Installing : syslinux-4.04-3.el6.x86_64 2/36 Installing : pyparted-3.4-4.el6.x86_64 3/36 Installing : pykickstart-1.74.16-1.el6.noarch 4/36 Installing : libhbaapi-2.2.9-1.el6.x86_64 5/36 Installing : libhbalinux-1.0.16-1.el6.x86_64 6/36 Installing : python-pyblock-0.48-1.el6.x86_64 7/36 Updating : libX11-common-1.6.0-2.2.el6.noarch 8/36 Updating : libX11-1.6.0-2.2.el6.x86_64 9/36 Installing : makebootfat-1.4-10.el6.x86_64 10/36 Updating : pixman-0.32.4-4.el6.x86_64 11/36 Installing : system-config-language-1.3.4-6.el6.noarch 12/36 Installing : python-nss-0.13-1.el6.x86_64 13/36 Updating : kpartx-0.4.9-80.el6_6.3.x86_64 14/36 Installing : device-mapper-multipath-libs-0.4.9-80.el6_6.3.x86_64 15/36 Installing : device-mapper-multipath-0.4.9-80.el6_6.3.x86_64 16/36 Installing : python-cryptsetup-0.0.11-1.el6.x86_64 17/36 Installing : deltarpm-3.5-0.5.20090913git.el6.x86_64 18/36 Installing : python-deltarpm-3.5-0.5.20090913git.el6.x86_64 19/36 Installing : createrepo-0.9.9-22.el6.noarch 20/36 Installing : squashfs-tools-4.0-5.el6.x86_64 21/36 Installing : lldpad-libs-0.9.46-3.el6_5.x86_64 22/36 Installing : xorg-x11-fonts-misc-7.2-9.1.el6.noarch 23/36 Installing : tigervnc-server-1.1.0-16.el6.centos.x86_64 24/36 Installing : iscsi-initiator-utils-6.2.0.873-13.el6.x86_64 25/36 Installing : 1:isomd5sum-1.0.6-1.el6.x86_64 26/36 Installing : 1:anaconda-yum-plugins-1.0-5.1.el6.noarch 27/36 Installing : libconfig-1.3.2-1.1.el6.x86_64 28/36 Installing : lldpad-0.9.46-3.el6_5.x86_64 29/36 Installing : fcoe-utils-1.0.28-3.el6.x86_64 30/36 Installing : anaconda-13.21.229-1.el6.centos.x86_64 31/36 Installing : system-config-kickstart-2.8.6.5-1.el6.noarch 32/36 Cleanup : libX11-1.5.0-4.el6.x86_64 33/36 Cleanup : libX11-common-1.5.0-4.el6.noarch 34/36 Cleanup : pixman-0.26.2-5.el6_4.x86_64 35/36 Cleanup : kpartx-0.4.9-72.el6.x86_64 36/36 Verifying : libconfig-1.3.2-1.1.el6.x86_64 1/36 Verifying : createrepo-0.9.9-22.el6.noarch 2/36 Verifying : 1:anaconda-yum-plugins-1.0-5.1.el6.noarch 3/36 Verifying : device-mapper-multipath-0.4.9-80.el6_6.3.x86_64 4/36 Verifying : 1:isomd5sum-1.0.6-1.el6.x86_64 5/36 Verifying : fcoe-utils-1.0.28-3.el6.x86_64 6/36 Verifying : iscsi-initiator-utils-6.2.0.873-13.el6.x86_64 7/36 Verifying : xorg-x11-fonts-misc-7.2-9.1.el6.noarch 8/36 Verifying : libX11-1.6.0-2.2.el6.x86_64 9/36 Verifying : lldpad-libs-0.9.46-3.el6_5.x86_64 10/36 Verifying : syslinux-4.04-3.el6.x86_64 11/36 Verifying : tigervnc-server-1.1.0-16.el6.centos.x86_64 12/36 Verifying : lldpad-0.9.46-3.el6_5.x86_64 13/36 Verifying : squashfs-tools-4.0-5.el6.x86_64 14/36 Verifying : deltarpm-3.5-0.5.20090913git.el6.x86_64 15/36 Verifying : libhbalinux-1.0.16-1.el6.x86_64 16/36 Verifying : libhbaapi-2.2.9-1.el6.x86_64 17/36 Verifying : system-config-kickstart-2.8.6.5-1.el6.noarch 18/36 Verifying : python-cryptsetup-0.0.11-1.el6.x86_64 19/36 Verifying : device-mapper-multipath-libs-0.4.9-80.el6_6.3.x86_64 20/36 Verifying : kpartx-0.4.9-80.el6_6.3.x86_64 21/36 Verifying : pykickstart-1.74.16-1.el6.noarch 22/36 Verifying : python-nss-0.13-1.el6.x86_64 23/36 Verifying : python-deltarpm-3.5-0.5.20090913git.el6.x86_64 24/36 Verifying : anaconda-13.21.229-1.el6.centos.x86_64 25/36 Verifying : pyparted-3.4-4.el6.x86_64 26/36 Verifying : python-pyblock-0.48-1.el6.x86_64 27/36 Verifying : system-config-language-1.3.4-6.el6.noarch 28/36 Verifying : syslinux-nonlinux-4.04-3.el6.noarch 29/36 Verifying : pixman-0.32.4-4.el6.x86_64 30/36 Verifying : makebootfat-1.4-10.el6.x86_64 31/36 Verifying : libX11-common-1.6.0-2.2.el6.noarch 32/36 Verifying : kpartx-0.4.9-72.el6.x86_64 33/36 Verifying : libX11-common-1.5.0-4.el6.noarch 34/36 Verifying : pixman-0.26.2-5.el6_4.x86_64 35/36 Verifying : libX11-1.5.0-4.el6.x86_64 36/36 Installed: system-config-kickstart.noarch 0:2.8.6.5-1.el6 Dependency Installed: anaconda.x86_64 0:13.21.229-1.el6.centos anaconda-yum-plugins.noarch 1:1.0-5.1.el6 createrepo.noarch 0:0.9.9-22.el6 deltarpm.x86_64 0:3.5-0.5.20090913git.el6 device-mapper-multipath.x86_64 0:0.4.9-80.el6_6.3 device-mapper-multipath-libs.x86_64 0:0.4.9-80.el6_6.3 fcoe-utils.x86_64 0:1.0.28-3.el6 iscsi-initiator-utils.x86_64 0:6.2.0.873-13.el6 isomd5sum.x86_64 1:1.0.6-1.el6 libconfig.x86_64 0:1.3.2-1.1.el6 libhbaapi.x86_64 0:2.2.9-1.el6 libhbalinux.x86_64 0:1.0.16-1.el6 lldpad.x86_64 0:0.9.46-3.el6_5 lldpad-libs.x86_64 0:0.9.46-3.el6_5 makebootfat.x86_64 0:1.4-10.el6 pykickstart.noarch 0:1.74.16-1.el6 pyparted.x86_64 0:3.4-4.el6 python-cryptsetup.x86_64 0:0.0.11-1.el6 python-deltarpm.x86_64 0:3.5-0.5.20090913git.el6 python-nss.x86_64 0:0.13-1.el6 python-pyblock.x86_64 0:0.48-1.el6 squashfs-tools.x86_64 0:4.0-5.el6 syslinux.x86_64 0:4.04-3.el6 syslinux-nonlinux.noarch 0:4.04-3.el6 system-config-language.noarch 0:1.3.4-6.el6 tigervnc-server.x86_64 0:1.1.0-16.el6.centos xorg-x11-fonts-misc.noarch 0:7.2-9.1.el6 Dependency Updated: kpartx.x86_64 0:0.4.9-80.el6_6.3 libX11.x86_64 0:1.6.0-2.2.el6 libX11-common.noarch 0:1.6.0-2.2.el6 pixman.x86_64 0:0.32.4-4.el6 Complete! |
以上 kickstart服务安装完成,下面到图形界面生成配置文件。
在PXE引导安装过程中,PXE客户端通过DHCP获取PXE服务器地址,PXE引导文件名称;然后客户机在使用TFTP协议从TFTP服务器下载引导文件并执行,从而启动计算机安装程序。引导文件执行后,接着下载安装程序启动安装。RedHat Linux使用了ISC的dhcpd软件,完成它的安装与配置。
Fri Mar 06 08:33:42 [root@localhost /var/www/html]# yum install dhcp Loaded plugins: fastestmirror, refresh-packagekit, security Loading mirror speeds from cached hostfile * base: mirrors.yun-idc.com * extras: mirror.bit.edu.cn * updates: mirrors.yun-idc.com Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package dhcp.x86_64 12:4.1.1-43.P1.el6.centos.1 will be installed --> Processing Dependency: dhcp-common = 12:4.1.1-43.P1.el6.centos.1 for package: 12:dhcp-4.1.1-43.P1.el6.centos.1.x86_64 --> Running transaction check ---> Package dhcp-common.x86_64 12:4.1.1-38.P1.el6.centos will be updated --> Processing Dependency: dhcp-common = 12:4.1.1-38.P1.el6.centos for package: 12:dhclient-4.1.1-38.P1.el6.centos.x86_64 ---> Package dhcp-common.x86_64 12:4.1.1-43.P1.el6.centos.1 will be an update --> Running transaction check ---> Package dhclient.x86_64 12:4.1.1-38.P1.el6.centos will be updated ---> Package dhclient.x86_64 12:4.1.1-43.P1.el6.centos.1 will be an update --> Finished Dependency Resolution Dependencies Resolved ======================================================================================================================================================================= Package Arch Version Repository Size ======================================================================================================================================================================= Installing: dhcp x86_64 12:4.1.1-43.P1.el6.centos.1 updates 820 k Updating for dependencies: dhclient x86_64 12:4.1.1-43.P1.el6.centos.1 updates 318 k dhcp-common x86_64 12:4.1.1-43.P1.el6.centos.1 updates 143 k Transaction Summary ======================================================================================================================================================================= Install 1 Package(s) Upgrade 2 Package(s) Total download size: 1.3 M Is this ok [y/N]: y Downloading Packages: (1/3): dhclient-4.1.1-43.P1.el6.centos.1.x86_64.rpm | 318 kB 00:02 (2/3): dhcp-4.1.1-43.P1.el6.centos.1.x86_64.rpm | 820 kB 00:06 (3/3): dhcp-common-4.1.1-43.P1.el6.centos.1.x86_64.rpm | 143 kB 00:00 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- Total 101 kB/s | 1.3 MB 00:12 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Updating : 12:dhcp-common-4.1.1-43.P1.el6.centos.1.x86_64 1/5 Installing : 12:dhcp-4.1.1-43.P1.el6.centos.1.x86_64 2/5 Updating : 12:dhclient-4.1.1-43.P1.el6.centos.1.x86_64 3/5 Cleanup : 12:dhclient-4.1.1-38.P1.el6.centos.x86_64 4/5 Cleanup : 12:dhcp-common-4.1.1-38.P1.el6.centos.x86_64 5/5 Verifying : 12:dhcp-4.1.1-43.P1.el6.centos.1.x86_64 1/5 Verifying : 12:dhcp-common-4.1.1-43.P1.el6.centos.1.x86_64 2/5 Verifying : 12:dhclient-4.1.1-43.P1.el6.centos.1.x86_64 3/5 Verifying : 12:dhclient-4.1.1-38.P1.el6.centos.x86_64 4/5 Verifying : 12:dhcp-common-4.1.1-38.P1.el6.centos.x86_64 5/5 Installed: dhcp.x86_64 12:4.1.1-43.P1.el6.centos.1 Dependency Updated: dhclient.x86_64 12:4.1.1-43.P1.el6.centos.1 dhcp-common.x86_64 12:4.1.1-43.P1.el6.centos.1 Complete! Fri Mar 06 08:41:26 [root@localhost /var/www/html]# cp /usr/share/doc/dhc dhclient-4.1.1/ dhcp-4.1.1/ dhcp-common-4.1.1/ Fri Mar 06 08:41:26 [root@localhost /var/www/html]# cp /usr/share/doc/dhc dhclient-4.1.1/ dhcp-4.1.1/ dhcp-common-4.1.1/ Fri Mar 06 08:41:26 [root@localhost /var/www/html]# cp /usr/share/doc/dhcp-4.1.1/dhcpd dhcpd6.conf.sample dhcpd.conf.sample dhcpd-conf-to-ldap Fri Mar 06 08:41:26 [root@localhost /var/www/html]# cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/conf/dhcpd.conf Fri Mar 06 08:42:48 [root@localhost /var/www/html]# vim /etc/dhcp/conf/dhcpd.conf |
接下来我们需要配置相关信息。为了满足我们的安装需求,假设PXE服务器、DHCP服务器、TFTP服务器全部安装在一台为172.1.1.20的计算机上。我们需要进行如下操作:
(1)修改 /etc/dhcpd.conf 文件,指定 IP 地址等信息。
(2)在 '''/etc/dhcpd.conf''' 中增加 tftp-server 需要推送给客户端的启动文件(bootstrap):filename"pxelinux.0";因为 tftp 的默认目录是 /tftpboot,所以文件的绝对路径就是: /tftpboot/pxelinux.0";当然也可以指定为其它的路径。
另外需要指定 next-server 参数,告诉客户端在获取到 pxelinux.0 文件之后去哪里获取其余的启动文件: next-server 172.1.1.20;
最终的配置文件结果如下所示:
编辑/etc/dhcp/conf/dhcpd.cof文件,首部添加如下内容并保存:
ddns-update-style interim; ignore client-updates; allow booting; #allow booting allow bootp; #bootp subnet 172.1.1.0 netmask 255.255.255.0 { range 172.1.1.30 172.1.1.80; option routers 172.1.1.1; option subnet-mask 255.255.255.0; default-lease-time 21600; max-lease-time 43200; next-server 172.1.1.20; #TFTP Server filename "pxelinux.0"; #pxelinu } |
测试dhcp
Fri Mar 06 23:29:09 [root@172-1-1-20 ~]#dhcpd Internet Systems Consortium DHCP Server 4.1.1-P1 Copyright 2004-2010 Internet Systems Consortium. All rights reserved. For info, please visit https://www.isc.org/software/dhcp/ Not searching LDAP since ldap-server, ldap-port and ldap-base-dn were not specified in the config file Wrote 0 class decls to leases file. Wrote 0 deleted host decls to leases file. Wrote 0 new dynamic host decls to leases file. Wrote 1 leases to leases file. Listening on LPF/eth0/00:0c:29:2c:b8:c9/172.1.1.0/24 Sending on LPF/eth0/00:0c:29:2c:b8:c9/172.1.1.0/24 Sending on Socket/fallback/fallback-net There's already a DHCP server running. This version of ISC DHCP is based on the release available on ftp.isc.org. Features have been added and other changes have been made to the base software release in order to make it work better with this distribution. Fri Mar 06 23:30:30 [root@172-1-1-20 ~]#Please report for this software via the CentOS Bugs Database: exiting. |
开启dhcp服务:
Fri Mar 06 08:52:23 [root@localhost /var/www/html]# /etc/init.d/dhcpd start Starting dhcpd: [OK] |
在PXE安装过程中,客户机在使用TFTP协议从TFTP服务器下载引导文件并执行。我们主要通过配置TFTP服务器和PXE的引导配置完成这个过程。
[table][tr] [td=553]
Fri Mar 06 09:17:14 [root@localhost yum.repos.d]#yum install tftp-server*
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: mirrors.yun-idc.com
* extras: mirror.bit.edu.cn
* updates: mirrors.yun-idc.com
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package tftp-server.x86_64 0:0.49-7.el6 will be installed
--> Processing Dependency: xinetd for package: tftp-server-0.49-7.el6.x86_64
--> Running transaction check
---> Package xinetd.x86_64 2:2.3.14-39.el6_4 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
=======================================================================================================================================================================
Package Arch Version Repository Size
=======================================================================================================================================================================
Installing:
tftp-server x86_64 0.49-7.el6 base 39 k
Installing for dependencies:
xinetd x86_64 2:2.3.14-39.el6_4 base 121 k
Transaction Summary
=======================================================================================================================================================================
Install 2 Package(s)
Total download size: 161 k
Installed size: 317 k
Is this ok [y/N]: y
Downloading Packages:
(1/2): tftp-server-0.49-7.el6.x86_64.rpm | 39 kB 00:00
(2/2): xinetd-2.3.14-39.el6_4.x86_64.rpm | 121 kB 00:00
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 41 kB/s | 161 kB 00:03
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : 2:xinetd-2.3.14-39.el6_4.x86_64 1/2
Installing : tftp-server-0.49-7.el6.x86_64 2/2
Verifying : tftp-server-0.49-7.el6.x86_64
编辑回复