您的位置:首页 > 运维架构 > Linux

Linux-6.5 下配置 传说中的( PXE and Kickstart )

2014-04-07 14:55 375 查看
    严格来说, PXE是一种引导方式.在安装PXE时是需要网卡支持的,当主机引导时BIOS 把 PXE客户端调入内存中执行,然后客户端会通过服务器端的TFTP下载至本地后运行,在这时,客户端会向服务器端通过DHCP来获取IP地址,由于是给PXE客户端分配IP地址,所以在配置DHCP服务器是需要增加相应的PXE设置在PXE客户端的ROM中,已经存在了TFTP客户端,PXE客户端通过TFTP协议到TFTP服务端上下载所需的文件。

    Kickstart是一种无人值守的安装方式。它的工作原理是在安装过程中记录典型的需要人工干预填写的各种参数,并生成一个名为 ks.cfg的文件。如果在安装过程中(不只局限于生成Kickstart安装文件的机器)出现要填写参数的情况,安装程序首先会去查找 Kickstart生成的文件,如果找到合适的参数,就采用所找到的参数;如果没有找到合适的参数,便需要安装者手工干预了。所以,如果Kickstart文件涵盖了安装过程中可能出现的所有需要填写的参数,那么安装者完全可以只告诉安装程序从何处取ks.cfg文件,然后就去忙自己的事情。等安装完毕,安装程序会根据ks.cfg中的设置重启系统,并结束安装。

对于无人值守安装需要的条件是:

PXE   严格来说,PXE 并不是一种安装方式,而是一种引导方式;

Kickstart: 是一种无人值守的安装方式;

DHCP (Dynamic Host Configuration Protocol,动态主机配置协议);

TFTP (Trivial File Transfer Protocol,简单文件传输协议);

>>配置步骤:

准备:

点击(此处)折叠或打开

[root@station76 ~]# mkdir /media/cdrom

[root@station76 ~]# mount -r /dev/cdrom /media/cdrom/

[root@station76 ~]# vim /etc/yum.repos.d/test.repo

[test]

name=PXE_DHCP

baseurl=file:///media/cdrom

enabled=1

gpgcheck=0

[root@station76 ~]

1.安装配置DHCP服务器:

1).利用yum安装DHCP:

点击(此处)折叠或打开

[root@station76 ~]# yum -y install dhcp

2).使用cp命令将/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample,并改名为:dhcpd.conf:

点击(此处)折叠或打开

[root@station76 dhcp]# pwd

/etc/dhcp--->如文件存在就覆盖/删除dhcpd.conf

[root@st
4000
ation76 dhcp]# cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample dhcpd.conf

3).配置pxe所需的作用域:

I.注释暂时不用的参数:





II.配置作用域:





III.启动服务,并查看端口:

点击(此处)折叠或打开

[root@station76 dhcp]# service dhcpd restart

Shutting down dhcpd:                                       [  OK  ]

Starting dhcpd:                                            [  OK  ]

[root@station76 dhcp]# ss -unl

State       Recv-Q Send-Q                  Local Address:Port                    Peer Address:Port

UNCONN      0      0                                   *:111                                *:*

UNCONN      0      0                                   *:631                                *:*

UNCONN      0      0                                   *:661                                *:*

UNCONN      0      0                                   *:67   (udp的端口)                    *:*

UNCONN      0      0                                   *:721                                *:*

UNCONN      0      0                                   *:44778                              *:*

UNCONN      0      0                                  :::111                               :::*

UNCONN      0      0                                  :::45454                             :::*

UNCONN      0      0                                  :::661                               :::*

[root@station76 dhcp]

IV.查看地址是怎么获取的过程请输入:

点击(此处)折叠或打开

[root@station76]# tail -f /var/log/boot.log

2.配置tftp-server等相关服务:

1).安装所需服务:

点击(此处)折叠或打开

[root@station76 dhcp]# yum -y install tftp-server--->服务端

[root@station76 dhcp]# yum -y install tftp--->客户端

[root@station76 dhcp]# yum -y install xinetd

2).设置开机自起动及启动服务、查看端口:





3.准备安装树:

这里是利用HTTP来作为客户端的安装树的文件,使用的是系统自带的软件包安装的httpd服务.

1).创建安装树所需目录:

点击(此处)折叠或打开

[root@station76 dhcp]# mkdir /var/www/html/centos6

2).使用--bind命令绑定,将光盘的文件挂载centos6上:

点击(此处)折叠或打开

[root@station76 dhcp]# mount --bind /media/cdrom/ /var/www/html/centos6/

3).启动HTTP服务:

点击(此处)折叠或打开

[root@station76 dhcp]# service httpd start

4).查看tcp的端口是否启动:

点击(此处)折叠或打开

[root@station76 dhcp]# ps aux |grep httpd

[root@station76 dhcp]# ss -tnl

4.准备tftpboot下的文件:

1).安装syslinux服务:(syslinux是一个功能强大的引导加载程序,而且兼容各种介质)

点击(此处)折叠或打开

[root@station76 dhcp]# yum -y install syslinux

2).复制安装树文件:

点击(此处)折叠或打开

[root@station76 dhcp]# cp /media/cdrom/images/pxeboot/{vmlinuz,initrd.img}  /var/lib/tftpboot/

[root@station76 dhcp]# cp /media/cdrom/isolinux/{boot.msg,vesamenu.c32,splash.jpg}  /var/lib/tftpboot/

[root@station76 dhcp]# cp /usr/share/syslinux/pxelinux.0  /var/lib/tftpboot/

[root@station76 dhcp]# mkdir /var/lib/tftpboot/pxelinux.cfg

[root@station76 dhcp]# cp /media/cdrom/isolinux/isolinux.cfg  /var/lib/tftpboot/pxelinux.cfg/default

5.配置引导程序能自动加载此kickstart文件:

1).复制ks.cfg(这里假设命令为ks.cfg):

点击(此处)折叠或打开

[root@station76 ~]# cp anaconda-ks.cfg /var/www/html/ks.cfg

2).配置ks.cfg:

点击(此处)折叠或打开

[root@station76 html]# chmod +r ks.cfg

[root@station76 html]# ll---> 给个可读权限.

total 8

dr-xr-xr-x 7 root root 4096 Nov 29 20:09 centos6

-rw-r--r-- 1 root root 2417 Mar  6 18:49 ks.cfg

接上:

点击(此处)折叠或打开

[root@station76 html]# vim ks.cfg

# Kickstart file automatically generated by anaconda.

#version=DEVEL

install

url --url=http://192.168.1.100/centos6-->可用安装树的路径

lang en_US.UTF-8

keyboard us

network --onboot yes --device eth0 --bootproto dhcp --noipv6

rootpw  --iscrypted $6$CGsqab6d$Cd.PnnWtlL5XZAyr9J2zoMqyJH1QodcDp1pQp0uZ1f0Cq4eq9.TMkSQU6IfpvYZEYc32.lmF0lKuQwavnC49a0

# Reboot after installation

reboot

firewall --disabled

authconfig --useshadow  --passalgo=sha512

selinux --disabled

timezone Asia/Shanghai

bootloader --location=mbr --driveorder=sda --append="crashkernel=auto crashkernel=auto
rhgb rhgb quiet quiet"

# The following is the partition information you requested

# Note that any partitions you deleted are not expressed

# here so unless you clear all partitions first, this is

# not guaranteed to work

clearpart --all

zerombr

text

part /boot --fstype=ext4 --size=200

part pv.008002 --size=61440

volgroup vg0 --pesize=8192 pv.008002

logvol / --fstype=ext4 --name=root --vgname=vg0 --size=20480

logvol swap --name=swap --vgname=vg0 --size=2048

logvol /usr --fstype=ext4 --name=usr --vgname=vg0 --size=10240

logvol /var --fstype=ext4 --name=var --vgname=vg0 --size=20480

repo --name="CentOS"  --baseurl=http://192.168.1.100/centos6
-->可用安装树的路径

%packages

@Base

@chinese-support

@client-mgmt-tools

@core

@desktop-platform

@fonts

@general-desktop

@graphical-admin-tools

@legacy-x

@network-file-system-client

@perl-runtime

@remote-desktop-clients

@x11

ibus-table-cangjie

ibus-table-erbi

ibus-table-wubi

lftp

tree

%end

%post

echo -e 'Mage Education Learning Services\nhttp://www.magedu.com\n' >> /etc/issue

sed -i '1,$s@id:[0-9]:initdefault:@id:3:initdefault:@g'
/etc/inittab

[ ! -d /root/.ssh ] && mkdir /root/.ssh && chmod og=--- /root/.ssh

cat >> /root/.ssh/authorized_keys << EOF

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAlmq1z0G/7wbGuSUewfXlFnwzqCg/myqTi/AwP8LP+JJ49xzIKMzpeWXHD8RWIf5RlDzo+6N7uPK5O22x/QtMosi0egz4shavEJeUkO0EH+KygXXgBIGuMWmAsL+yzbgWXT9H3zdzXi/qWcrBeBv2nYB5mpYSf7o0xqdhCst1MTfcYLD8qxvkwC8RiqBA/1u9N6jeDFbHO+UzZYYCr9zgk9uz4Rrhb9BU7c1GhjUCgRwBDAuo47IHw/OT6KS9lb8lT2R/ujVoDARy/eOhw8cAFXo+QcvzNSW2qKf/Qo21uR/wz2u9SRV0lvUDNSvC2PYtR+iPlDwHY81md430yiNf9w==
root@server.magelinux.com

EOF

# set hosts

echo '192.168.1.1  xiaoma.xom' >> /etc/hosts

%end

[root@station76 html]# sync -->将内存中的数据同步到硬盘上.

注意:1-31之间:指的是命令段; 32-51之间:有@的是指包组.剩下的是安装包;52-61之间:是指脚本段.

6.配置引导程序能自动加载此kickstart文件

1).编辑/var/lib/tftpboot/pxelinux.cfg/default:

[root@station76 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default





接上面图片:





7.新建虚拟机并测试:

注意一:





注意二:





注意三:





注意四:





8.启动虚拟机:

1).配置名字在这里就显示了哦:





2).正在加载内核文件:





3).创建分区:





4).安装软件包:





9.成功安装:

1).查看IP信息:





2).查看网关信息:





3).查看域名等信息:





做起来是不是很完美?很轻松的就搞定了呢??你也来试一试一吧!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: