批量部署无人职守安装Centos 6

大规模部署安装Centos 6时,所用的网络架构图

wKioL1TAyILhCRSpAAM1vCn2iuA260.jpg

由上图知,得先在服务器上安装好DHCP服务和tftp服务和NFS服务,在安装Centos 6是我们把这些服务都分开来,安装Centos 7是把这些服务都做到一个主机上来安装。

DHCP服务给网络安装的主机提供ip地址,主机获得ip地址后,需要下载系统安装需要的文件(内核,根文件系统镜像,bootloader等)到tftp服务器上下载,安装需要的应用程序在http服务器上,ks文件也在http服务器上,让系统安装通过读取ks文件自动完成安装。

 

对于安装过程中有问题的可以互相交流,本人折腾了好几天了

 

  1. 安装和部署DHCP服务

    wKioL1TAyhvgbQ7PAAUFJLZRp6A663.jpg

    安装DHCP:

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

    查看安装DHCP后,生成哪些文件:

    [root@dhcp ~]# rpm -ql dhcp | less   一般文件比较多时,可以使用less分页来查看

    /etc/dhcp/dhcpd.conf  ipV4的配置文件

    /etc/dhcp/dhcpd6.conf  ipV6的配置文件

    。。。。。

    查看一下配置文件内容

    [root@dhcp ~]# cat /etc/dhcp/dhcpd.conf

    #

    # DHCP Server Configuration file.

    #   see /usr/share/doc/dhcp*/dhcpd.conf.sample  配置文件实例

    #   see ‘man 5 dhcpd.conf’   查看配置文件的帮助手册

    #

    把dhcpd.conf.sample复制为DHCP的配置文件,名字为dhcpd.conf

    [root@dhcp ~]# cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf

    cp: overwrite `/etc/dhcp/dhcpd.conf’? y

    查看修改dhcpd.conf

    [root@dhcp ~]# cat /etc/dhcp/dhcpd.conf

    # dhcpd.conf

    #

    # Sample configuration file for ISC dhcpd

    #


    # option definitions common to all supported networks…

    option domain-name “example.org”;域名,改为主机名 dhcp

    option domain-name-servers ns1.example.org, ns2.example.org;  名称服务器地址  设为DNS服务器地址 202.101.172.35;

    default-lease-time 600;  默认租用时长可以根据需要做设定单位是s(秒)

    max-lease-time 7200;  最大租用时长


    # Use this to enble / disable dynamic dns updates globally.

    #ddns-update-style none;


    # If this DHCP server is the official DHCP server for the local

    # network, the authoritative directive should be uncommented.

    #authoritative;


    # Use this to send dhcp log messages to a different log file (you also

    # have to hack syslog.conf to complete the redirection).

    log-facility local7;  日志设施


    # No service will be given on this subnet, but declaring it helps the 

    # DHCP server to understand the network topology.


    subnet 10.152.187.0 netmask 255.255.255.0 {  IP地址分配设定,把这里删除

    }


    # This is a very basic subnet declaration.

            所在的网络           所在的掩码

    subnet 192.168.20.0 netmask 255.255.255.0 {

      range 192.168.20.150 192.168.20.180;动态配置ip的范围,中间使用空格隔开

      option routers 192.168.20.254; 指定做转发的地址(路由器的地址)【此处用网关】

    }

    。。。。

    wKioL1TA0X6DSSF8AAUILKNdW_o918.jpg

    DHCP服务启动成功

    [root@dhcp ~]# ss -ulnp

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

    UNCONN      0      0                                                      *:67                                                  *:*      users:((“dhcpd”,2261,7))

    UNCONN      0      0                                                    *:68                                                  *:*      users:((“dhclient”,1055,5))

   工作在udp的67端口

 

 2. 安装和部署tftp服务

    查看与tftp相关的包

    [root@tftp ~]# yum list all *tftp*

    Loaded plugins: fastestmirror, security

    Loading mirror speeds from cached hostfile

     * base: centos.ustc.edu.cn

     * extras: centos.ustc.edu.cn

     * test: mirrors.aliyun.com

     * updates: centos.ustc.edu.cn

    Available Packages

    syslinux-tftpboot.noarch                                                            

    4.04-3.el6                                                 base

    tftp.x86_64                                                                             0.49-7.el6                                                 base

    tftp-server.x86_64                                                              

    0.49-7.el6                                                 base

    [root@tftp ~]# yum install tftp-server  安装tftp-server

    查看安装后生成了哪些文件

    [root@tftp ~]# rpm -ql tftp-server

    /etc/xinetd.d/tftp

    /usr/sbin/in.tftpd

    /usr/share/doc/tftp-server-0.49

    /usr/share/doc/tftp-server-0.49/CHANGES

    /usr/share/doc/tftp-server-0.49/README

    /usr/share/doc/tftp-server-0.49/README.security

    /usr/share/doc/tftp-server-0.49/README.security.tftpboot

    /usr/share/man/man8/in.tftpd.8.gz

    /usr/share/man/man8/tftpd.8.gz

    /var/lib/tftpboot   tftp服务器默认放置文件的目录

    安装时发现依赖的xinetd包也安装了,xinetd是一个超级守护进程,可管理tftp,需要先让xinetd启动,而后tftpd在启动。

    查看xinetd启动级别

    [root@tftp ~]# chkconfig –list | grep -A13 “xinetd”

    xinetd             0:off    1:off    2:off    3:on    4:on    5:on    6:off


    xinetd based services:  基于xinetd的服务

        chargen-dgram:     off

        chargen-stream:    off

        daytime-dgram:     off

        daytime-stream:    off

        discard-dgram:     off

        discard-stream:    off

        echo-dgram:        off

        echo-stream:       off

        rsync:             off

        tcpmux-server:     off

        tftp:              off

        time-dgram:        off

        time-stream:       off

    启动xinetd,和上面显示的3,4,5级别on(此时的生效级别是要重启后才会在在对应的级别启动)没关系,需要手动启动xinetd

    [root@tftp ~]# service xinetd start

    Starting xinetd:                                           [  OK  ]

    启动基于xinetd的服务

    方法1:

    [root@tftp ~]# chkconfig tftp on

    方法2:可以修改tftp的配置文件/etc/xinetd.d/tftp使disable = no,后再重启xinetd也可

    #service xinetd restart  这两种方法都可以    

 

    [root@tftp ~]# chkconfig –list | grep -A13 “xinetd”  

    xinetd             0:off    1:off    2:off    3:on    4:on    5:on    6:off

    

    xinetd based services:

        chargen-dgram:     off

        chargen-stream:    off

        daytime-dgram:     off

        daytime-stream:    off

        discard-dgram:     off

        discard-stream:    off

        echo-dgram:        off

        echo-stream:       off

        rsync:             off

        tcpmux-server:     off

        tftp:              on  已经启动了

        time-dgram:        off

        time-stream:       off

   获取内核,根文件系统镜像,bootloader等文件,我们可以通过挂载centos光盘来实现,也可以直接到官网下载,此处以光盘获取为例。

  安装syslinux,得到pxelinux.0,把pxelinux.0复制到/var/lib/tftpboot目录下

   [root@tftp cdrom]# yum install syslinux

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

wKioL1TA6UOz63dTAAJsdFHJrRs243.jpg

 

    光盘为CentOS-6.6-x86_64-netinstall.iso

wKiom1TA62qQ-CwGAARjJWliVyg469.jpg

  新建一个虚拟机CentosX,加载一个光盘CentOS-6.6-x86_64-netinstall.iso,启动虚拟机如下

wKioL1TA8Eyi9IzqAAMzXJgznsg646.jpg

wKioL1TA7_agHRVBAAM3zi8NBNc902.jpg

wKioL1TA81CQAcnIAAV7v9_kUmA558.jpg  

   [root@tftp cdrom]# ls isolinux/

    boot.cat  grub.conf   isolinux.bin  memtest     TRANS.TBL     vmlinuz

    boot.msg  initrd.img  isolinux.cfg  splash.jpg  vesamenu.c32

   [root@tftp cdrom]# ls /var/lib/tftpboot/

    initrd.img  pxelinux.0  pxelinux.cfg  vmlinuz

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

 

wKiom1TA9T3DqfCWAAPGUMpx1No866.jpg

 

     指定使用的kickstart文件及其位置

          ks=cdrom:/path/to/ksfile

          ks=http://server/path/to/ksfile

          ks=ftp://username:password@server/path/to/ksfile

          ks=nfs:server.mydomain.com:/directory/ks.cfg

 

3. 安装和部署NFS服务

    安装nfs在Centos 6上需要装rpcbind和nfs-utils这两个软件,查看是否安装了

    [root@nfs ~]# rpm -qi rpcbind

    package rpcbind is not installed

    [root@nfs ~]# rpm -qi nfs-utils

    package nfs-utils is not installed

    两个包都没安装,用yum安装

    [root@nfs ~]# yum install rpcbind nfs-utils

    启动rpcbind和nfs

    [root@nfs ~]# service rpcbind start

    Starting rpcbind:                                          [  OK  ]

    [root@nfs ~]# service nfs start

    Starting NFS services:                                     [  OK  ]

    Starting NFS quotas:                                       [  OK  ]

    Starting NFS mountd:                                       [  OK  ]

    Starting NFS daemon:                                       [  OK  ]

    Starting RPC idmapd:                                       [  OK  ]

    nfs服务的主要配置文件/etc/exports

    [root@nfs ~]# vim /etc/exports 

    [root@nfs ~]# cat /etc/exports

    /var/install 192.168.20.0/24(ro)

    格式:[共享目录]  [主机(权限)]

    主机的设置:

        可以使用完整的ip或者是网络号,比如192.168.20.89或192.168.20.0/24,或192.168.20.0/255.255.255.0.

         可以使用主机名,前提是这个主机名必须要在/etc/hosts内,或可使用DNS找到该主机名。

          ro是只读的,所有192.168.20.0网段内的主机都可以共享/var/install目录,但是是只读的方式。

     -e  显示某台主机的/etc/exports所共享的目录数据

    [root@nfs ~]# showmount -e localhost

    Export list for localhost:

    没有显示,修改配置文件后需要重读配置文件才能生效,重启nfs。

    [root@nfs ~]# service nfs restart

    Shutting down NFS daemon:                                  [  OK  ]

    Shutting down NFS mountd:                                  [  OK  ]

    Shutting down NFS quotas:                                  [  OK  ]

    Shutting down RPC idmapd:                                  [  OK  ]

    Starting NFS services:  exportfs: Failed to stat /var/install: No such file or         directory                                                        [  OK  ]

    Starting NFS quotas:                                       [  OK  ]

    Starting NFS mountd:                                       [  OK  ]

    Starting NFS daemon:                                       [  OK  ]

    Starting RPC idmapd:                                       [  OK  ]

    查看共享的目录数据

    [root@nfs ~]# showmount -e localhost

    Export list for localhost:

    /var/install 192.168.20.0/24

    新建/var/install目录

    [root@nfs ~]# mkdir /var/install

    把光盘挂载上

    wKioL1TBj0fxjfsFAAIL_0RKUFs658.jpg

wKiom1TBjznzRNjeAAI_PRtZ5KY071.jpg     查看这些服务是否都启动

wKioL1TBkXOiCOoUAAKgbLwerrE939.jpg

wKiom1TBkLDBE6tSAAIZYofTlbs898.jpg

wKioL1TBkZyTMma2AAHOTSCY5RU043.jpg

    

   提供ks文件

wKioL1TBlA2i1GwgAANu-Yd0mDU953.jpg

     这个ks文件时根据系统上anaconda-ks.cfg修改而来,anaconda-ks.cfg是每个Centos安装后都会自动生成的一个文件在/root目录下。

     在Centos手动安装时,其安装过程是需要选定配置的,在安装好以后其安装过程选定的配置都在记录到anaconda-ks.cfg上了,其中有一些是必须要做的事

      安装前的配置阶段:  (既可交互式进行,亦可直接读取配置文件自动完成)

          键盘类型

          安装过程中的语言

          支持使用语言

          时区

          选择要使用磁盘设备

          分区、格式化配置

          选择要安装的包

          管理员密码

       安装阶段:

          在目标磁盘创建分区、执行分区格式化

          将选定的程序包安装至目标磁盘

          安装bootloader

     ks文件的书写可以查看官方文档Red_Hat_Enterprise_Linux-6-Installation_Guide-en-US.pdf,里面详细介绍了每一项的使用。

     wKioL1TB7p6y72x2AAbfCymTqFA906.jpg

wKiom1TB8WnRPHpnAAUuXsBMB6o210.jpg

wKioL1TB8IrQS_HVAAQq1u-XdCY434.jpg

     安装http,[root@nfs ~]# yum install httpd

wKioL1TB8VvzC-zeAAJOUyGQc7k781.jpg

wKioL1TB8aXgB3sPAAGyMkk6E94039.jpg

 

 

 

 

 

在基于网络的无人职守部署Centos系统使用PXE技术实现远程下载和安装,要使用网络安装首先需要设置BIOS通过网络方式启动。开机的时候设置BIOS:

wKioL1TAulCiws3UAAJUsWUMUMg301.jpg

wKiom1TAuY6BP9H5AAIzjRd0-8A708.jpg

使用nfs安装的错误提示

wKiom1TB81qBUNNRAAO2n8JX-iU007.jpg

wKioL1TB9DLDEOyGAADkWCvIqnA371.jpg

 

使用HTTP正常安装过程显示

wKioL1TB8vLiJ2xVAAAz4DrLg7I802.jpg

 

wKiom1TB8hqiStUcAAPNgeGeihc974.jpg

 

wKioL1TB8vLSUnBxAAKvVdPRNu8415.jpg

 

wKioL1TB8vOwS8HtAAKdpHQZr0s490.jpg

 

wKiom1TB8h2gxiiSAACgA1MQTBo745.jpg

 

wKioL1TB8vayPyuKAACl-hJKZKY011.jpg

 

wKioL1TB8vbiIg44AABFrz1aWDg982.jpg

 

wKiom1TB8h7CRLsBAABTvZkz_Ok099.jpg

 

wKioL1TB8ynT7PUZAACHL7hzw0Y038.jpg

 

wKiom1TB8lGwSrM5AACcS-V1ETc028.jpg

 

wKioL1TB8yqT413tAACxJCbPYqo108.jpg

 

wKiom1TB8lHDWqYJAAC69t6_0Cg931.jpg

 

wKioL1TB8y2j3DmYAADJTzGpT4k370.jpg

 

wKiom1TB8lWwUCDBAAGtPLE7nqk601.jpg

 

wKiom1TB8lXh3o81AAHRc4dSJC4218.jpg

安装错误的几种提示:

wKioL1TB84azi9wcAAW1HNxA7EE724.jpg

 

wKioL1TB84bhoVvVAAIh4PsKE6U393.jpg

    来源URL:http://www.centoscn.com/image-text/setup/2015/0126/4564.html