本人对PXE/Kickstart的理解:
严格来说, 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@station76 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://\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).查看域名等信息:
做起来是不是很完美?很轻松的就搞定了呢??你也来试一试一吧!!!
Welcome to xiaomazi Blogger!!!
阅读(995) | 评论(0) | 转发(0) |