• 2-6-搭建无人执守安装服务器


    本节所讲内容:
    •        搭建无人执守安装服务器服务器常见概念
    •        搭建无人执守安装服务器服务器安装及相关配置文件
    •        实战:为公司内网搭建一个搭建无人执守安装服务器
     
    服务端:xuegod63.cn   IP:192.168.1.63
    客户端:xuegod64.cn   IP:192.168.1.64
     
    方法:PXE + DHCP+TFTP+ Kickstart+ HTTP
    运行原理如下图:
    原理和概念:
    1.1 什么是PXE
    严格来说,PXE 并不是一种安装方式,而是一种引导的方式。进行 PXE 安装的必要条件是要安装的计算机中包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 PXE Client。PXE (Pre-boot Execution Environment)协议使计算机可以通过网络启动
    网卡中必须有PXE芯片
     
    协议分为 client 和 server 端,PXE client 在网卡的 ROM 中,当计算机引导时,BIOS 把 PXE client 调入内存执行,由 PXE client 将放置在远端的文件通过网络下载到本地运行。
     
    运行 PXE 协议需要设置 DHCP 服务器 和 TFTP 服务器。DHCP 服务器用来给 PXE client(将要安装系统的主机)分配一个 IP 地址,由于是给 PXE client 分配 IP 地址,所以在配置 DHCP 服务器时需要增加相应的 PXE 设置。
     
    此外,在 PXE client 的 ROM 中,已经存在了 TFTP Client。PXE Client 通过 TFTP 协议到 TFTP Server 上下载所需的文件。
     
    2、 什么是KickStart
    KickStart是一种无人职守安装方式。KickStart的工作原理是通过记录典型的安装过程中所需人工干预填写的各种参数,并为 ks.cfg的生成一个名文件;在其后的安装过程中(不只局限于生成KickStart安装文件的机器)当出现要求填写参数的情况时,安装程序会首先去查找 KickStart生成的文件,当找到合适的参数时,就采用找到的参数,当没有找到合适的参数时,才需要安装者手工干预。
    这样,如果KickStart文件涵盖了安装过程中出现的所有需要填写的参数时,安装者完全可以只告诉安装程序从何处取ks.cfg文件,然后去忙自己的事情。等安装完毕,安装程序会根据ks.cfg中设置的重启选项来重启系统,并结束安装。
     
    设置BIOS引导顺序为:  硬盘,网络   
    前提:硬盘中没有系统。否则直接从硬盘启动了。
     
    模式: C/S 模式
     
    实验环境:
    服务端:xuegod63.cn   IP:192.168.1.63   网卡模式: vmnet1
    客户端:xuegod64.cn   IP:192.168.1.64   网卡模式: vmnet1
     
    执行 PXE + KickStart安装需要准备内容:
    • DHCP 服务器用来给客户机分配IP;
    • TFTP 服务器用来存放PXE的相关文件,比如:系统引导文件;
    • HTTP 服务器用来存放系统安装文件,镜像;
    • KickStart所生成的ks.cfg配置文件;
    • 带有一个 PXE 支持网卡的将安装的主机;  
     
    开始配置
    1修改yum源配置
    1. [root@xuegod63 ~]# vim /etc/yum.repos.d/rhel-source.repo
    2. [rhel]
    3. name=rhel-server
    4. baseurl=file:///var/www/html/mnt
    5. enabled=1
    6. gpgcheck=0
    7. [root@xuegod63 ~]# yum clean all
    8. [root@xuegod63 ~]# yum list
     
    2、安装所需软件包httpd tftp dhcp xinetd system-config-kickstart
    1. [root@xuegod63 ~]# yum -y install httpd tftp-server xinetd dhcp system-config-kickstart
     
    3、启动httpd并设置开机启动
    1. [root@xuegod63 ~]# service httpd restart
    2. 停止 httpd:                                               [确定]
    3. 正在启动 httpd:                                           [确定]
    4. [root@xuegod63 ~]# chkconfig httpd on
     
     
    安装所需要的服务及修改相应配置文件:
    1. root@xuegod63 ~]# umount /dev/sr0
    2. [root@xuegod63 ~]# mkdir /var/www/html/mnt
    3. [root@xuegod63 ~]# mount /dev/sr0 /var/www/html/mnt/
    4. mount: block device /dev/sr0 is write-protected, mounting read-only
    取消httpd的欢迎页面
    重启httpd服务
    1. <font face="微软雅黑">service httpd restart</font>
    关闭防火墙和selinux
    验证访问



    4、修改tftp配置文件,并启动服务
    1. [root@xuegod63 ~]# vim /etc/xinetd.d/tftp

     

    server_args = -s /var/lib/tftpboot是tftp服务器运行时的参数。-s /var/lib/tftpboot表示服务器默认的目录是 /var/lib/tftpboot
     
    接着重新启动xinetd服务,然后查看服务端口是否打开。
     
    1. [root@xuegod63 ~]# service xinetd restart
    2. [root@xuegod63 ~]# lsof -i:69
    3. COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
    4. xinetd  3160 root    5u  IPv4  25112      0t0  UDP *:tftp
    OK,TFTP服务正常启动。Xinetd服务本来就是开机启动的,所以这里我们不再需要设置。
     
    5、修改dhcp配置文件及开启服务:
    配置DHCP服务器:
     
    1. subnet 192.168.1.0 netmask 255.255.255.0 {
    2.         range 192.168.1.100 192.168.1.200;
    3.         option domain-name-servers 192.168.1.1;
    4.         option domain-name "xuegod63.cn";
    5.         option routers 192.168.1.1;
    6.         option broadcast-address 192.168.1.255;
    7.         default-lease-time 600;
    8.         max-lease-time 7200;
    9.         next-server 192.168.1.63;
    10.         filename "pxelinux.0";
    11. }
     
    注: 只保留一个subnet {。。。}
    1. [root@xuegod63 ~]# service dhcpd restart
    2. 关闭 dhcpd:                                               [确定]
    3. 正在启动 dhcpd:                                           [确定]
    4. [root@xuegod63 ~]# chkconfig dhcpd on
     
     
    准备工作完成
    二.配置使用PXE启动所需的相关文件
    准备tftp需要共享出去的文件
    1. [root@xuegod63 ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
     
    #注,只有安装了system-config-kickstart软件包,才会有/usr/share/syslinux/目录及目录中的文件。
    1. [root@xuegod63 ~]# cp /var/www/html/mnt/images/pxeboot/{initrd.img,vmlinuz} /var/lib/tftpboot/  #PXE的引导文件拷过来
    2. [root@xuegod63 ~]# cp /var/www/html/mnt/isolinux/*.msg /var/lib/tftpboot/ #拷贝安装显示信息过来
    3. [root@xuegod63 ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
    4. [root@xuegod63 ~]# cp /var/www/html/mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
    5. [root@xuegod63 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
    文件里面需要修改两行,修改第1行,后面的linux意思是寻找下面18行的label linux
    然后修改下22行(即在后面添加ks=ftp://192.168.1.63/ks.cfg)。第22行的意思是使安装程序通过FTP服务器访问kickstart文件。 强制保存退出

     

     

     
    以上有关default配置文件的修改就是通过ftp服务器方式来访问kickstart文件。
    接下来我们打开终端输入system-config-kickstart弹出来界面。
    1. [root@xuegod63 ~]# echo $LANG
    2. en_US.UTF-8
    3. [root@xuegod63 ~]# LANG=zh_CN.UTF-8
    4. [root@xuegod63 ~]# system-config-kickstart

     

    我们设置下默认安装的语言,时区,根口令,然后勾选下面的安装后重新引导。然后选择安装方法。


     

    我们配置ftp服务器的安装方法。选择执行全新安装。然后点击引导装载程序选项。


     

     
    配置grub相关选项。
     


     
     

    交换分区给204



     
    设置分区大小。

    配置网络,默认没有网络设置,点击添加网络,设备名称为eth0,网络类型为dhcp

     

     

    验证,默认就可以了。

     

    防火墙和selinux根据自己需求选择开启或者禁用。我选择关闭selinux和防火墙。
     
    打上对勾以图形界面安装系统:


     

    取消对勾,以字符界面安装系统,安装系统快:


     

    自定义软件包。默认可能没有勾选桌面。根据自己需求勾选。 我们为了快速度演示安装,不选择安装桌面。

     

    安装脚本:在"预安装脚本","安装后脚本"对话框中,可以分别添加在安装前、安装后自动动行的可执行语句。此项设置可以使服务器自动化配置变得更加容易。
    例如:配置客户机在完成安装后自动设置YUM仓库。

     

    1. rm -rf /etc/yum.repos.d/*
    2. echo '[rhel-source]
    3. name=rhel-source
    4. baseurl=file:///mnt/
    5. enabled=1
    6. gpgcheck=0' > /etc/yum.repos.d/rhel6.repo
    可以挂载光盘,mount /dev/sr0 /mnt 注意创建虚拟机时把光盘映像加上

     
     


    到此所有关于安装的配置已经配置完毕,保存:
    点击左上角的文件选择保存,选择下保存的路径
    1. [root@xuegod63 ~]# cp /root/ks.cfg /var/www/html/  #复制ks.cfg文件到/var/ftp目录下
    注:ks.cfg就是无人值守安装时要用的Kickstart文件。
     
    要对应:/var/lib/tftpboot/pxelinux.cfg/default文件中设置过ks=http://192.168.1.63/ks.cfg 
    1. [root@xuegod63 ~]# service httpd restart
    2. 停止 httpd:                                               [确定]
    3. 正在启动 httpd:                                           [确定]
    建议关闭防火墙和selinux
    1. [root@xuegod63 ~]# getenforce
    2. Disabled
    3. [root@xuegod63 ~]# service iptables status
    4. iptables:未运行防火墙。
    5. [root@xuegod63 ~]# iptables -F
    6. [root@xuegod63 ~]# service iptables save
    7. iptables:将防火墙规则保存到 /etc/sysconfig/iptables:     [确定]
    修改xuegod64 BIOS启动顺序为网络优先,加电后开始启动。

     
     

     


    通常到这里,所有教程都会说一下句,先去抽根烟,喝杯茶,跷个二郎腿,休息一下了。



    检查安装后,是否执行了脚本:

     

    100台全新服务器,引导顺序:   硬盘,再网络

     确认这100台机器中没有系统。

  • 相关阅读:
    Jmeter 文件上传
    Jmeter数据库连接
    初探持续集成框架--->jenkins 安装及使用
    Centos7-服务命令总结
    安装--->Tomcat监控工具Probe
    为什么要用Spring IOC
    业务接口设计总结
    Hessian HelloWorld
    日期控件的使用,My97DatePicker
    idea 启动debug时 throw new ClassNotFoundException(name);
  • 原文地址:https://www.cnblogs.com/zhanghe9527/p/6861256.html
Copyright © 2020-2023  润新知