设为首页 收藏本站
查看: 434|回复: 0

[经验分享] PXE+kickstart无人值守安装CentOS

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2017-8-18 10:04:17 | 显示全部楼层 |阅读模式
PXE+kickstart无人值守安装CentOS
PXE是什么

    PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址(dhcp服务),再用TFTP(trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端基本软件设置,从而引导预先安装在服务器中的终端操作系统。 此外,在 PXE Client 的 ROM 中,已经存在了 TFTP Client,那么它就可以通过 TFTP 协议到 TFTP Server 上下载所需的文件了。

PXE的工作过程:

    PXE Client 从自己的PXE网卡启动,向本网络中的DHCP服务器索取IP;

    DHCP 服务器返回分配给客户机的IP 以及PXE文件的放置位置(该文件一般是放在一台TFTP服务器上) ;

    PXE Client 向本网络中的TFTP服务器索取pxelinux.0 文件;

    PXE Client 取得pxelinux.0 文件后之执行该文件;

    根据pxelinux.0 的执行结果,通过TFTP服务器加载内核和文件系统 ;

    进入安装画面, 此时可以通过选择HTTP、FTP、NFS 方式之一进行安装;

案例流程:
操作环境:

    centos 6.5

1)安装tftp服务

    #yum -y install tftP*

    #vim /etc/xinetd.d/tftp

service tftp
{   
     disable            = no
    socket_type        = dgram
    protocol        = udp   
    wait        = yes
    user        = root
    server        = /usr/sbin/in.tftpd
    server_args        = -s /var/lib/tftpboot
    per_source            = 11
    cps            = 100 2
    flags        = IPv4
}
#只需将disable=yes换为no

2)安装dhcp服务

    #yum -y install dhcp*

    #vim /etc/dhcp/dhcpd.conf

ddns-update-style interim;
ignore client-updates;
next-server 192.168.1.20; #tftp server的IP地址
filename "pxelinux.0";  #pxelinux启动文件位置
allow booting;
allow bootp;
subnet 192.168.1.0 netmask 255.255.255.0 {
# --- default gatewayoption
routers          192.168.1.1;
option subnet-mask      255.255.255.0;
range dynamic-bootp 192.168.1.100 192.168.1.200;
host ns {            #可根据mac地址分配固定的IP
hardware ethernet  00:1a:a0:2b:38:81;
fixed-address 192.168.1.101;}
}#直接复制以上的配置文件修改相应IP即可

    #/etc/init.d/dhcpd start

3)配置支持PXE的启动文件

    #mount /dev/cdrom /mnt/ #挂载光盘。

    #ln -s /var/lib/tftpboot / #将tftpboot链接到根下

    #cp /usr/share/syslinux/pxelinux.0 /tftpboot/

    #yum install syslinux syslinux-devel -y

    #cp /mnt/images/pxeboot/{initrd.img,vmlinuz} /tftpboot/ #拷贝内核到该目录下

    #mkdir -p /tftpboot/pxelinux.cfg

    #cp /mnt/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default

    #拷贝isolinux.cfg配置文件重命名为default,系统安装的时候会根据这个文件的配置启动相应的选项。

    修改参数如下:

    #vim  /tftpboot/pxelinux.cfg/default

default linux #默认启动下面label linux 标记的内核
prompt  1 timeout 10 #用户输入之前的超时时间
display boot.msg
F1 boot.msg
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg
label linux
kernel vmlinuz
append ks=nfs:192.168.1.20:/centosinstall/ks.cfg      ksdevice=eth0 initrd=initrd.img   #告诉系统从哪里获取ks.cfg文件
label text
kernel vmlinuz
append initrd=initrd.img text
label ks
kernel vmlinuz
append ks initrd=initrd.img
label local
localboot 1label memtest86
kernel memtest
append –

4)nfs+kickstart配置

    #yum -y install nfs* #安装nfs

    #mkdir -p /centosinstall

    #nohup cp -rf /mnt/* /centosinstall/ & #后台复制mnt下的内容

    #echo "/centosinstall *(rw,sync)" >>/etc/exports

#创建ks.cfg文件。内容如下

    #vim /centosinstall/ks.cfg

#Kickstart file automatically generated by anaconda.
install
text
nfs --server=192.168.1.20 --dir=/centosinstall 指明nfs服务器地址,及文件位置
key --skip
lang zh_CN.UTF-8
keyboard us
network --device eth0 --bootproto=dhcp --noipv6
rootpw jiajie   #设置root密码
firewall --disabled
authconfig --enableshadow --enablemd5
selinux --disabled
timezone Asia/Shanghai
bootloader --location=mbr --driveorder=sda --append="rhgb quiet"
zerombr
clearpart --all --initlabel  
part /boot --fstype ext3 --size=200  #指明/boot分区大小 。下同
part swap --size=1024
part / --fstype ext3 --size=10240
part /data --fstype ext3 --size=200 --grow   #余下的全给/data
reboot
%packages
@base
@core
@chinese-support

5)启动服务

    #setenforce 0

    #iptables -L

    #/etc/init.d/xinetd restart

    #/etc/init.d/rpcbind restart

    #/etc/init.d/nfs restart

    #/etc/init.d/dhcpd restart

至此就大功告成了。设置BIOS为网卡启动就可以实现自动安装系统了。

注意: 新服务器跟kickstart最好独立在一个网络,不要跟办公环境或者服务器机房网络混在一起,否则别的机器的以太网卡就会把它的系统重装成Linux系统。





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-403086-1-1.html 上篇帖子: Linux中history历史命令使用方法详解 下篇帖子: pip输出安装的包
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表