zoukankan      html  css  js  c++  java
  • kickstart自动化安装--tftp+nfs+dhcp

    使用kickstart实现Centos 自动化安装

    Kickstart自动化安装简介:

    规模化:同时装配多台 服务器

    自动化 :安装系统,配置各种服务

    远程实现:不需要光盘,U盘等安装介质

    优势:

    (1)流线自动化的安装

    (2)快速大量的裸机部署

    (3)强制建立的一致性(软件包,分区,配置,监控,安全性)

    (4)减少人为的部署失误

    使用Kickstart方法安装的过程: (1).  创建一个kickstart文件 (2).  创建有kickstart文件的引导介质或者使这个文件在网络上可用; (3).  筹备一个安装树 (4).  开始ks安装:anconda自身启动 –>选取ks安装模式–> 从ks文件读取配置 –> 最后安装 创建kickstart配置文件的方式: (1).  文本编辑器(vim)等 (2). 用图形化界面配置:system-config-kickstat(需要安装system-config-kickstart.noarch包

    PXE(preboot execute environment, )是由Intel公司开发的最新技术,工作client/server的网络 模式,支持工作通过网络从远端服务器 下载映像,并由此支持  通过网络启动操作系统 ,在启动过程中,终端要求服务器 分配IP地址,在用TFTP或MTFTP协议下载一个启动软件包到本机内存中执行,更有这个启动软件 包完成终端基本软件设置,从而引导预先安装在服务器终端 操作系统,PXE可以引导 多种操作系统.

    1. 预启动执行环境,在操作系统之前运行
    2. 可用于远程安装,构建无盘工作站

    服务端:远程DHCP服务,用来分配地址,定位引导程序;

                 运行TFTP服务器,提供引导程序下载

    客户端 :网卡支持PXE协议

                主板支持 网络启动

    基本部署过程:

    1. 准备rhel/centOS安装源(YUM仓库)
    2. 启动TFTP服务,并提供内核,引导程序
    3. 启动 DHCP服务,用来分配地址,指出引导程序位置
    4. 配置启动菜单

    【DHCP,TFTP安装】

    [root@kickstart ~]# mkdir /media/cdrom [root@kickstart ~]# mount /dev/cdrom /media/cdrom/
    
    [root@kickstart ~]# yum install -y dhcp* tftp*
    
    [root@kickstart ~]# grep disable /etc/xinetd.d/tftp | awk -F = '{print $2}' | sed -i 's#yes#no#g' /etc/xinetd.d/tftp
    
    no [root@kickstart ~]# grep disable /etc/xinetd.d/tftp disable = no


    1:TFTP+PXE配置

    要实现远程安装系统,首先需要在tftpboot目录指定相关PXE相关内核模块机制相关参数,配置步骤如下:

    Ps:如果系统 是5.x,默认tftpboot目录已经自动创建到/根目录下

    [root@localhost ~]# yum install -y syslinux
    
    [root@kickstart ]# find / -name "pxelinux.0"
    
    /usr/share/syslinux/pxelinux.0
    
    [root@kickstart-server ~]# ln -s /var/lib/tftpboot/ /
    
    [root@kickstart-server ~]# cp /usr/share/syslinux/pxelinux.0  /tftpboot/
    
    [root@localhost tftpboot]# cp /media/cdrom/images/pxeboot/* /tftpboot/       #将系统内核拷贝tftpboot目录下
    
    [root@kickstart ~]# ls /tftpboot/
    initrd.img pxelinux.0 TRANS.TBL vmlinuz
    
    [root@localhost tftpboot]# rm -rf TRANS.TBL
    
    [root@localhost tftpboot]# ls
    
    initrd.img  pxelinux.0  vmlinuz
    
    [root@localhost tftpboot]# mkdir -p pxelinux.cfg
    
     [root@localhost tftpboot]# ls
    
    initrd.img  pxelinux.0  pxelinux.cfg  vmlinuz
    
     [root@localhost tftpboot]# cp /media/cdrom/isolinux/isolinux.cfg pxelinux.cfg/default
    
    [root@localhost tftpboot]# vim pxelinux.cfg/default
    
    label centos6.5
    
    kernel vmlinuz
    
    append ks=nfs:192.168.2.136:/Centos_install/ks.cfg ksdevice=eth0 initrd=initrd.img


     

    详解:192.168.2.136 是kickstart服务器,

    /Centos_install是nfs共享 linux镜像 的目录,也就是linux存放安装文件的路径;

    ks.cfg是kickstart主配置文件;

    Ksdevel-eth0代表当我们有多块网卡 的时候,要实现自动化需要设置从eth0安装

    [root@kickstart tftpboot]# chkconfig tftp on     #TFTP配置完成之后,由于tftp不是独立服务,需要依赖xinetd服务来启动 [root@kickstart tftpboot]# service xinetd restart

    2:NFS+kickstart配置

    远程系统安装 ,客户端需要下载系统所需的软件包,所以需要使用NFS或HTTPD把镜像文件共享出来

    [root@kickstart ~]# yum install -y nfs*
    
    [root@kickstart ~]# mkdir /Centos_install/     #创建NFS共享目录,要与default目录一致
    
    [root@kickstart ~]# nohup cp -rf /media/cdrom/* /Centos_install/ &     #后台拷贝
    
    [root@kickstart ~]# echo "/Centos_install/ *(rw,sync)" >> /etc/exports     #在NFS配置文件/etc/exports中加入如上语句:/Centos_install    *(rw,sync),表示允许任何主机访问/Centos_install目录,有读写权限。
    
    自定义ks.cfg,并赋予权限为chmod 777 ks.cfg
    
    
    
    
    [root@localhost ~]# vim /centosinstall/ks.cfg            #这里ks.cfg需要注意一下,并没有按照anaconda-ks.cfg内容修改,该配置兼容性 较强,经过优化处理~可上生产~
    #kickstart file automatically generated  by anaconda.
    
    install
    
    text
    
    nfs --server=192.168.2.136 --dir=/Centos_install/     #kickstart地址
    
    key --skip
    
    lang zh_CN,UTF-8
    
    keyboard us
    
    network --device eth0 --bootproto=dhcp --noipv6
    
    rootpw 123456    #系统密码为123456
    
    firewall --disabled
    
    authconfig --enableshadow --enablemd5
    
    selinux --disabled
    
    timezone Asia/shanghai
    
    bootloader --location=mbr --driveorder=sda --append="rhgb quiet"
    
    clearpart --all --initlabel
    
    part /boot --fstype ext3 --size=200
    
    part swap --size=1000
    
    part / --fstype ext3 --size=10000
    
    part /data --fstype ext3 --size=1 --grow
    
    %packages
    
    @base
    
    @development-libs
    
    @development-tools
    
    mtools
    
    pax
    
    libxmu
    
    %end

    #给配置文件权限,并重启服务 [root@kickstart Centos_install]# chmod 777 ks.cfg [root@kickstart-server ~]# service xinetd restart [root@kickstart-server centosinstall]# service nfs restart

    3:[DHCP服务]

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

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

    subnet 192.168.2.0 netmask 255.255.255.0 {
    range 192.168.2.100 192.168.2.200;     #可分配起始IP-结束IP地址池
    option routers 192.168.2.136;
    option subnet-mask 255.255.255.0;
    default-lease-time 21600;           #设置默认的IP租用期限
    max-lease-time 43200;                #设置IP最大租用期限
    next-server 192.168.2.136;            #TFTP服务器IP地址
    filename "pxelinux.0"; 
    }

    OK到目前为止,kickstart服务端的配置已经全部配置完成!为了保证服务正常生效,我们最后一次重启一下三个服务!

    [root@localhost ~]# /etc/init.d/dhcpd restart

    [root@localhost ~]# /etc/init.d/xinetd restart

     [root@localhost ~]# /etc/init.d/nfs restart

    客户端验证,是否自动化安装部署系统

    新建rheld虚拟机(ps:要保证系统和服务属于同一个网段)

    输入用户名和密码(123456)即可登录系统

     

     
  • 相关阅读:
    Generate Parentheses
    Length of Last Word
    Maximum Subarray
    Count and Say
    二分搜索算法
    Search Insert Position
    Implement strStr()
    Remove Element
    Remove Duplicates from Sorted Array
    Remove Nth Node From End of List
  • 原文地址:https://www.cnblogs.com/yhaing/p/9667844.html
Copyright © 2011-2022 走看看