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

[经验分享] kickstart+pxe无人值守安装linux

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-7-30 09:15:12 | 显示全部楼层 |阅读模式
1、kickstart与pxe简介:
    kickstart是RED HAT推出的一种无人值守的安装模式,它能实现大批量的客户机自动安装。一般情况下,我们在安装linux操作系统时,是以一种交互式应答的界面模式来决定我们的系统该如何安装,比如安装过程显示的语言,使用的键盘类型,所在的时区信息,要预先安装的软件包,磁盘分区信息等等类容。而kickstart所完成的功能就是将所有必须要回答的问题预先写入一张叫做ks.cfg的配置表中,然后引导进程找到这个配置表自动引导剩下的安装工作以及应答,实现自动化安装。

    pxe是Intel公司研发的预启动执行环境技术,结合kickstart能实现客户端自动获得位于网络上的ks.cfg文件,引导安装文件等,实现用户只需要开机就能自动安装操作系统的轻便工作,无需再作额外的配置,即可轻松的完成大批量的客户端安装。


2、kickstart+pxe的实现流程:
wKioL1W4eFvxWQt8AAG1Lzz8_f8925.jpg

3、实验环境:
    VMware workstations 10  +  CentOS6.5-i386

    DHCP服务器地址:192.168.47.100

    TFTPfFF服务器地址:192.168.47.100

    FTP服务器地址:192.168.47.100

    安装树目录:/var/ftp/pub

    引导程序目录:/var/lib/tftpboot

    ks.cfg位置:/var/ftp/


4:实验步骤:
    1)、安装DHCP服务器,并配置相关信息:

1
2
3
4
5
6
7
8
9
10
11
12
13
[iyunv@fcy ~]# yum install dhcp -y
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* c6-media:
Setting up Install Process
Resolving Dependencies
--> Running transaction check
......(过程略)
Installed:
  dhcp.i686 12:4.1.1-38.P1.el6.centos                                      

Dependency Installed:
  portreserve.i686 0:0.0.4-9.el6



    打开DHCP的主配置文件(/etc/dhcp/dhcpd.conf),做如下修改:

        由于新建的DHCP服务主配置文件无内容,所以在底行模式导入系统样板文件:


wKioL1W4evexTggWAAFvf3Vhhd8834.jpg
    保留如下配置即可:

wKiom1W4fKOTzzNgAAIBtns2ELg260.jpg
    启动DHCP服务器:

1
2
[iyunv@fcy ~]# service dhcpd start
Starting dhcpd:                                            [  OK  ]



    2)、安装FTP服务器:

1
2
3
4
5
6
7
8
9
10
11
12
13
[iyunv@fcy ~]# yum install vsftpd tftp-server -y
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* c6-media:
Setting up Install Process
......(过程略)
Installed:
  tftp-server.i686 0:0.49-7.el6                                            

Dependency Installed:
  xinetd.i686 2:2.3.14-39.el6_4                                            

Complete!



        由于tftp是依赖于xinetd的进程,所以配置文件在/etc/xinetd.d/tftp下:
wKioL1W4f9GC9QZGAAEA29AwLzA688.jpg
        启动tftp服务器:

1
2
[iyunv@fcy ~]# service xinetd start
Starting xinetd:                                           [  OK  ]



        端口69已经启动:

wKiom1W4fo3zATOcAAB1ol45ocs413.jpg

    3)、导入引导内容:

        找到tftp服务器的主目录/var/lib/tftpboot/,导入光盘上的isolinux目录下的内核和驱动文件
wKioL1W4gajjEOLIAAGn_Re12sM588.jpg

        安装光盘上的syslinux软件包,得到网络引导文件pxelinux.0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[iyunv@fcy tftpboot]# yum install syslinux -y
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* c6-media:
Setting up Install Process
Resolving Dependencies
--> Running transaction check
......(过程略)
Installed:
  syslinux.i686 0:4.02-8.el6                                               

Dependency Installed:
  mtools.i686 0:4.0.12-1.el6                                               

Complete!



        找到pxelinux.0这个文件(),拷贝到tftp服务器的根目录

wKioL1W4gu_BdnssAAFxYE3f8b8394.jpg
        创建目录pxelinux.cfg目录,将光盘上的网络引导程序拷贝进去并重命名为default:

1
2
3
4
5
6
7
8
[iyunv@fcy tftpboot]# mkdir pxelinux.cfg
[iyunv@fcy tftpboot]# cp /media/cdrom/isolinux/isolinux.cfg pxelinux.cfg/default
[iyunv@fcy tftpboot]# ll
total 34944
-r--r--r--. 1 root root 31742048 Jul 29 23:26 initrd.img
-rw-r--r--. 1 root root    26828 Jul 29 23:31 pxelinux.0
drwxr-xr-x. 2 root root     4096 Jul 29 23:34 pxelinux.cfg
-r-xr-xr-x. 1 root root  4002656 Jul 29 23:26 vmlinuz



        修改引导程序的内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
default linux    #将默认的引导菜单修改为第一个linux菜单
#prompt 1
timeout 60        #修改引导等待时间为60秒

display boot.msg

menu background splash.jpg
menu title Welcome to CentOS 6.5!
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color scrollbar 0 #ffffffff #00000000

label linux
  menu label ^Install or upgrade an existing system
  menu default
  kernel vmlinuz
  append initrd=initrd.img  ks=ftp://192.168.47.100/ks.cfg    #指定ks.cfg文件的位置,注意不要换行,不然会无法找到ks.cfg文件
  ......




    4)、安装system-config-kickstart,生成自动化安装文件ks.cfg:

1
2
[iyunv@fcy pxelinux.cfg]# yum install system-config-kickstart -y
    ......(过程略)



        生成ks.cfg文件:
1
2
3
4
5
6
7
8
[iyunv@fcy var]# system-config-kickstart
Xlib:  extension "RANDR" missing on display "localhost:12.0".
/usr/share/system-config-kickstart/kickstartGui.py:103: GtkWarning: GtkSpinButton: setting an adjustment with non-zero page size is deprecated
  xml = gtk.glade.XML ("/usr/share/system-config-kickstart/system-config-kickstart.glade", domain="system-config-kickstart")
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* c6-media:
Checking for new repos for mirrors



    注意:此时会弹出一个对话框,点击左侧倒数第三个选项,如果无法发现可以安装的软件包,请重新配置好本地的yum源:

wKiom1W4hYDT-ZlOAAJYwIe_LMM491.jpg
    基本配置:

wKioL1W4iTrhaTf_AAMhbg_3YRo806.jpg
     安装方式:
wKiom1W4iH2APzNzAAHjOU_bluE703.jpg
    引导记录设置:

wKioL1W4i3qjuA61AAHMNBJBlpY867.jpg
    分区设置:

wKioL1W4jUmzYpLiAAJJ_6hBJyM039.jpg
    网络设置:

wKiom1W4i-uxlMjnAAFCpLJi5Qw537.jpg
    网络安全设置:

wKioL1W4j0DhsXSOAAEPRmt2FZA564.jpg
wKiom1W4jVGgH90FAAEIKlhx0gc416.jpg
wKioL1W4j0CRk7sUAAEPRNOeOQ0490.jpg

    预安装包选择(按需选择):

wKioL1W4j3KTZ6t-AAJIQ6VIgLk927.jpg
    安装后运行脚本(主要功能是将网卡内容主机名称固定):

1
2
3
4
5
#!/bin/bash
string=`ifconfig  eth0  |grep 'inet\>'   |awk  '{print  $2}'`
num=${string##*.}
sed  -i  -e  "s@HOSTNAME.*@HOSTNAME=pxe$num.a.com@"   /etc/sysconfig/network
echo  "DEVICE=eth0\nONBOOT=yes\nBOOTPROTO=static\nIPADDR=192.168.47.$num\nNETMASK=255.255.255.0\nGATEWAY=192.168.47.254\n"  >/etc/sysconfig/network-scripts/ifcfg-eth0



wKioL1W4kxWwT0qTAAHVSoGtJTo500.jpg
    生成ks.cfg文件并放置在/root目录下

wKioL1W4k2fzQ1JhAADy1ck5O6A785.jpg

    在ks.cfg文件中添加一句poweroff,表示安装完成后将系统设置为关闭状态


    4)、设置FTP服务器:

        将光盘上的内容拷贝到FTP服务器上(/var/ftp/pub)

1
[iyunv@fcy ~]# cp -r /media/cdrom/*  /var/ftp/pub



        将修改好的ks.cfg文件拷贝到FTP服务器的根目录下(/var/ftp/)

1
2
3
4
5
[iyunv@fcy ~]# cp /root/ks.cfg /var/ftp/
[iyunv@fcy ~]# ll /var/ftp
total 8
-rw-r--r--. 1 root root 1403 Jul 30 00:48 ks.cfg
drwxr-xr-x. 6 root root 4096 Jul 29 23:43 pub



        启动FTP服务:

1
2
[iyunv@fcy ~]# service vsftpd start
Starting vsftpd for vsftpd:                                [  OK  ]




    5)、安装测试:

        创建一个新的虚拟机,并设置硬件属性,其中网卡注意与服务器保持一致:

wKioL1W4lkGQBIb-AAGn7RoJAes901.jpg
        点击选项栏的虚拟机--》电源---》启动时进入BIOS,然后启动虚拟机

wKiom1W4lPKRG6BYAAFaagqJZRo947.jpg

        进入BIOS后选择BOOT的启动顺序,将网络启动移到最上面,按F10保存退出:

wKiom1W4lWqQtEoEAAEZEk0xZ6E461.jpg

        通过MAC地址向DHCP服务器获取动态地址:

wKioL1W4mduwafFlAADYepX4O18630.jpg

        找到FTP服务器,并下载ks.cfg文件:

wKioL1W4mf6wBgBEAABpsUFzQQ4793.jpg

        开始自动化安装操作系统:

wKiom1W4mCqT9d1cAADidqTgoqE370.jpg

        由于设置原因,安装完成后会自动关闭系统,重新启动系统,进入查看主机名和网卡信息:

wKiom1W4mdbg17tFAACZsIbq770768.jpg

5、总结
    在做实验之前,一定要了解kickstart和pxe的工作过程,以及需要哪些服务的支持和软件、文件的引导。只有这样,才能正确、快速的搭建一个无人值守安装的服务。

运维网声明 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-92068-1-1.html 上篇帖子: VM增加centos6.5磁盘容量 下篇帖子: linux 每个目录都有什么用及目录管理 linux
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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