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

[经验分享] 批量部署无人职守Centos 6

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-1-26 09:32:56 | 显示全部楼层 |阅读模式
大规模部署安装Centos 6时,所用的网络架构图
wKioL1TAyILhCRSpAAM1vCn2iuA260.jpg
由上图知,得先在服务器上安装好DHCP服务和tftp服务和NFS服务,在安装Centos 6是我们把这些服务都分开来,安装Centos 7是把这些服务都做到一个主机上来安装。

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

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

  • 安装和部署DHCP服务
    wKioL1TAyhvgbQ7PAAUFJLZRp6A663.jpg
    安装DHCP:
    [iyunv@dhcp ~]# yum install dhcp -y
    查看安装DHCP后,生成哪些文件:
    [iyunv@dhcp ~]# rpm -ql dhcp | less   一般文件比较多时,可以使用less分页来查看
    /etc/dhcp/dhcpd.conf  ipV4的配置文件
    /etc/dhcp/dhcpd6.conf  ipV6的配置文件

    。。。。。
    查看一下配置文件内容
    [iyunv@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

    [iyunv@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
    [iyunv@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服务启动成功
    [iyunv@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相关的包

    [iyunv@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
    [iyunv@tftp ~]# yum install tftp-server  安装tftp-server
    查看安装后生成了哪些文件
    [iyunv@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启动级别

    [iyunv@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

    [iyunv@tftp ~]# service xinetd start
    Starting xinetd:                                           [  OK  ]
    启动基于xinetd的服务
    方法1:

    [iyunv@tftp ~]# chkconfig tftp on
    方法2:可以修改tftp的配置文件/etc/xinetd.d/tftp使disable = no,后再重启xinetd也可
    #service xinetd restart  这两种方法都可以   


    [iyunv@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目录下
   [iyunv@tftp cdrom]# yum install syslinux
   [iyunv@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   
   [iyunv@tftp cdrom]# ls isolinux/
    boot.cat  grub.conf   isolinux.bin  memtest     TRANS.TBL     vmlinuz
    boot.msg  initrd.img  isolinux.cfg  splash.jpg  vesamenu.c32
   [iyunv@tftp cdrom]# ls /var/lib/tftpboot/
    initrd.img  pxelinux.0  pxelinux.cfg  vmlinuz
   [iyunv@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这两个软件,查看是否安装了
    [iyunv@nfs ~]# rpm -qi rpcbind
    package rpcbind is not installed
    [iyunv@nfs ~]# rpm -qi nfs-utils
    package nfs-utils is not installed
    两个包都没安装,用yum安装
    [iyunv@nfs ~]# yum install rpcbind nfs-utils
    启动rpcbind和nfs
    [iyunv@nfs ~]# service rpcbind start
    Starting rpcbind:                                          [  OK  ]
    [iyunv@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
    [iyunv@nfs ~]# vim /etc/exports
    [iyunv@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所共享的目录数据

    [iyunv@nfs ~]# showmount -e localhost
    Export list for localhost:
    没有显示,修改配置文件后需要重读配置文件才能生效,重启nfs。
    [iyunv@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  ]
    查看共享的目录数据

    [iyunv@nfs ~]# showmount -e localhost
    Export list for localhost:
    /var/install 192.168.20.0/24
    新建/var/install目录

    [iyunv@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,[iyunv@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




运维网声明 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-41457-1-1.html 上篇帖子: Centos6的NetworkManager和network,还是setup 下篇帖子: Centos6.2克隆网卡配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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