zoukankan      html  css  js  c++  java
  • Kickstart部署之NFS架构


    一 准备

    1.1 完整架构:Kickstart+DHCP+NFS+TFTP+PXE

    1.2 组件应用

    Kickstart服务端IP:172.24.8.12
    DHCP:提供客户端IP,网关,镜像路径等;
    TFTP:共享pxelinux.0、initrd.img、vmlinux、isolinux.cfg、boot.msg、vesamenu.c32、splash.png文件
    NFS:共享ks.cfg、及所有光盘文件

    注意:此ks.cfg文件和所有光盘文件也可通过HTTP、FTP等方式共享,参考其他笔记即可。

    1.3 TFTP等组件安装

    [root@server ~]# yum -y install dhcp* tftp* rpcbind nfs-utils
    [root@server ~]# yum -y install xinetd		#tftp依赖于xinetd,因此需要安装xinetd
    

    1.4 挂载系统光盘

    [root@localhost ~]# mount /dev/sr0 /mnt/cdrom/

    1.5 关闭防火墙及SELinux

    复制代码
    [root@server ~]# systemctl stop firewalld.service
    [root@server ~]# systemctl disable firewalld.service
    [root@server ~]# setenforce 0
    [root@server ~]# vi /etc/selinux/config				#彻底关闭SELinux
    SELINUX=disabled
    
    复制代码

    二 服务端的配置

    2.1 配置DHCP

    复制代码
    [root@server ~]# vi /etc/dhcp/dhcpd.conf
    option domain-name-servers 223.5.5.5,223.6.6.6; 	#全局DNS
    default-lease-time 600;					#默认的租赁时间
    max-lease-time 7200;					#最大可租赁时间
    subnet 172.24.8.0 netmask 255.255.255.0 {		#设置网段
    range 172.24.8.13 172.24.8.50;				#设置可分配地址池
    option routers 172.24.8.2;				#默认网关
    next-server 172.24.8.12; 				#tftp server的ip
    filename "pxelinux.0";}					#pxe boot需要的启动文件名, 相当于bootloader
    [root@server ~]# systemctl start dhcpd.service		#启动dhcp服务
    [root@server ~]# systemctl enable dhcpd.service		#开机自动启动
    复制代码

    2.2 NFS配置

    复制代码
    [root@server ~]# mkdir /centosinstall				#创建nfs共享目录
    [root@server ~]# chown nfsnobody:nfsnobody /centosinstall/	#修改目录所有者
    [root@server ~]# vi /etc/exports
     /centosinstall 172.24.8.0/24(rw,sync)
    [root@server ~]# cp /mnt/cdrom/* /centosinstall/		#将光盘下所有文件拷贝到nfs目录下
    [root@server ~]# systemctl start rpcbind.service
    [root@server ~]# systemctl enable rpcbind.service
    [root@server ~]# systemctl start nfs-server.service
    [root@server ~]# systemctl enable nfs-server.service
    复制代码

    2.3 配置TFTP

    复制代码
    [root@localhost ~]# vi /etc/xinetd.d/tftp
    service tftp
    {
       ……
        server		= /usr/sbin/in.tftpd
        server_args	= -s /var/lib/tftpboot				#此为TFTP服务根目录
        disable		= no                              	#打开TFTP
        ……
    }
    [root@server ~]# systemctl start xinetd.service			#启动xinetd,则xinetd管理的tftp也会启动
    [root@server ~]# systemctl enable xinetd.service		#开机启动xinetd,则xinetd管理的tftp也会启动
    复制代码

    2.4 TFTP文件配置

    复制代码
    #在TFTP目录中指定相关PXE内核模块及相关参数
    [root@server ~]# yum -y install syslinux			#Linux引导加载程序
    [root@server ~]# find / -name pxelinux.0
    /usr/share/syslinux/pxelinux.0					#查找pxelinux.0文件所在目录
    [root@server ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
    #将pxelinux.0复制到TFTP所在目录,以便客户端(需要自动安装系统的主机)通过TFTP能找到此加载程序。
    [root@server ~]# cp /mnt/cdrom/images/pxeboot/{initrd.img,vmlinuz} /var/lib/tftpboot/
    #copy光盘目录中的vmlinuz和initrd.img, 这两个文件相当于系统启动时/boot目录下的启动文件
    [root@server ~]# mkdir -p /var/lib/tftpboot/pxelinux.cfg
    [root@server ~]# cp /mnt/cdrom/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
    #TFTP目录下新建pxelinux.cfg的目录,将【isolinux.cfg:启动时显示配置文件信息】复制到此目录下。
    [root@server ~]# cp /mnt/cdrom/isolinux/{boot.msg,splash.png} /var/lib/tftpboot/
    #copy pxe引导所需要的配置文件, splash.png:背景图. boot.msg启动标语, vesamenu.c32: 显示同行界面用的程序.
    复制代码

    2.5 ks.cfg文件的修改

    注意:此文件为安装过程中自动应答文件,可将Kickstart的anaconda-ks.cfg文件为模板,也可采用图形化方式设置此文件【参考006笔记】。
    复制代码
    [root@server ~]# cp /root/anaconda-ks.cfg /centosinstall/ks.cfg
    [root@server /]# chmod 755 /centosinstall/ks.cfg
    [root@server ~]# vi /centosinstall/ks.cfg
    auth --enableshadow --passalgo=sha512
    nfs --server=172.24.8.12 --dir=/centosinstall
    graphical
    firstboot --enable
    ignoredisk --only-use=sda
    keyboard --vckeymap=us --xlayouts='us'
    lang en_US.UTF-8 --addsupport=zh_CN.UTF-8			#根据需求增加语言支持
    reboot
    network  --bootproto=dhcp --device=eno16777736 --onboot=yes --ipv6=auto --activate
    #此项采用默认即可,测试修改网卡名为eth0也无法生效,依旧是eno16777736。
    network  --hostname=localhost.localdomain
    rootpw --iscrypted $6$LgafQJ7F1rcyRCpk$ZteQKXvywjifMoPbAnhm7nESFx4fuROoxVYie4YvP04DGiUGpjEW2mA.m0TUQyq1ZoOUv.EF9vMWUaBjGyowW.
    services --disabled="chronyd"
    timezone Asia/Shanghai --isUtc --nontp
    bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda
    clearpart --all --initlabel
    part /boot --fstype="xfs" --ondisk=sda --size=300
    part pv.195 --fstype="lvmpv" --ondisk=sda --size=30419
    volgroup centos --pesize=4096 pv.195
    logvol /  --fstype="xfs" --size=1 --name=root --vgname=centos --grow
    logvol swap  --fstype="swap" --size=2148 --name=swap --vgname=centos
    logvol /home  --fstype="xfs" --size=10340 --name=home --vgname=centos
    %packages
    @^minimal
    @core
    kexec-tools
    %end
    %addon com_redhat_kdump --enable --reserve-mb='auto'
    %end
    复制代码
    注意:
    1:key --skip:为红帽系统跳过输入序列号过程;若为CentOS 系列,则可以不保留此项内容;
    2:reboot: 必须项,也必须文中设定位置,不然安装完后无法自动重启;
    3:clearpart --all --initlabel:必须项,自动选择清除所有数据,无需人为干预。
    [root@server ~]# systemctl restart xinetd			#重启tftp服务

    2.6 Kickstart配置

    复制代码
    [root@server ~]# chmod 755 /var/lib/tftpboot/pxelinux.cfg/default
    #将此文件赋予修改权限,默认不可修改。
    [root@server ~]# vi /var/lib/tftpboot/pxelinux.cfg/default
    default linux							#默认采用的启动项
    timeout 1							#等待时间
    label linux
      menu label ^Install CentOS 7
      kernel vmlinuz
      append ks=nfs:172.24.8.12:/centosinstall/ks.cfg initrd=initrd.img quiet
    [root@server ~]# systemctl restart xinetd			#重启tftp服务
    #timeout 1:#选择停留时间为1秒
    #172.24.8.12:Kickstart服务器;
    #/centosinstall:nfs共享Linux镜像的目录,即Linux存放安装文件的路径;
    #ks.cfg:Kickstart自动应答配置文件;
    #不同服务共享ks写法——
    HTTP Server ks=http://server_ip:port/path/kickstart_file
    HTTPS Server ks=https://server_ip:port/path/kickstart_file
    FTP Server ks=ftp://serverip:port/path/kickstart_file
    NFS Server ks=nfs:server_ip:/path/kickstart_file
    复制代码

    三 客户机测试

    客户机开机自动安装
    注意:客户机需要和服务端在同一网段,或能从服务端获取IP及相关文件
  • 相关阅读:
    HDU 1261 字串数(排列组合)
    Codeforces 488C Fight the Monster
    HDU 1237 简单计算器
    POJ 2240 Arbitrage
    POJ 3660 Cow Contest
    POJ 1052 MPI Maelstrom
    POJ 3259 Wormholes
    POJ 3268 Silver Cow Party
    Codesforces 485D Maximum Value
    POJ 2253 Frogger(最短路)
  • 原文地址:https://www.cnblogs.com/drizzle-xu/p/10276920.html
Copyright © 2011-2022 走看看