redhat(centos)批量网络安装系统-Kickstart无人值守安装_第1页
redhat(centos)批量网络安装系统-Kickstart无人值守安装_第2页
redhat(centos)批量网络安装系统-Kickstart无人值守安装_第3页
redhat(centos)批量网络安装系统-Kickstart无人值守安装_第4页
redhat(centos)批量网络安装系统-Kickstart无人值守安装_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Linux Kickstart 无人值守安装 上 无人值守安装 上 标签 Kickstart linux 系统 pxe 大规模部署 Linux Kickstart 大规模部署安装 在我们的网络维护生涯中 有不少朋友 感觉到自己在机械的做一件事情 在无聊 无趣和无奈中工作 尤其一些简单重复的操作更容易让大家感到工作 的无趣 今天将给大家介绍如何大规模的部署 RedHat Linux 操作系统 避免了 手工安装的繁琐 当然本方法也使用于一些特殊场合 譬如没有光驱或光驱坏 掉的计算机 手中没有安装光盘等情况 在安装 RedHat Linux 企业版的过程中 我们都知道它允许通过 NFS HTTP 或 FTP 协议来进行网络安装 但是在一般情况下我们需要有一个安装引导介质 引导光盘 引导软盘 U 盘等 有没有一种方法不通过引导光盘方式来安 装呢 而直接通过网络来进行安装 答案是有 即通过 PXE 技术实现 一 基本原理一 基本原理 PXEPXE 到底是什么东东 到底是什么东东 PXE Pre boot Execution Environment 是由 Intel 设计的协议 它可以使计算机 通过网络启动 协议分为 client 和 server 两端 PXE client 在网卡的 ROM 中 当 计算机引导时 BIOS 把 PXE client 调入内存执行 并显示出命令菜单 经用户 选择后 PXE client 将放置在远端的操作系统通过网络下载到本地运行 既然是通过网络传输 就需要 IP 地址 也就是说在其启动过程中 客户端 请求服务器分配 IP 地址 之后 PXE Client 使用 TFTP Client 通过 TFTP Trivial File Transfer Protocol 协议下载启动安装程序所需的文件 简单地说 PXE 网络安装 客户机通过支持 PXE 的网卡向网络中发送请求 DHCP 信息的广播请求 IP 地址等信息 DHCP 服务器给客户端提供 IP 地址和其 它信息 TFTP 服务器 启动文件等 之后请求并下载安装需要的文件 在这 个过程中需要一台服务器来提供启动文件 安装文件 以及安装过程中的自动 应答文件等 下图中介绍了 Linux 中自动安装系统的详细工作过程 第一步 PXE Client 向 DHCP 发送请求 首先 将支持 PXE 的网络接口卡 NIC 的客户端的 BIOS 设置成为网络启 动 通过 PXE BootROM 自启动芯片 会以 UDP 简单用户数据报协议 发送 一个广播请求 向网络中的 DHCP 服务器索取 IP 地址等信息 第二步 DHCP 服务器提供信息 DHCP 服务器收到客户端的请求 验证是否来至合法的 PXE Client 的请求 验证通过它将给客户端一个 提供 响应 这个 提供 响应中包含了为客户 端分配的 IP 地址 pxelinux 启动程序 TFTP 位置 以及配置文件所在位置 第三步 PXE 客户端请求下载启动文件 客户端收到服务器的 回应 后 会回应一个帧 以请求传送启动所需文 件 这些启动文件包括 pxelinux 0 pxelinux cfg default vmlinuz initrd img 等文件 第四步 Boot Server 响应客户端请求并传送文件 当服务器收到客户端的请求后 他们之间之后将有更多的信息在客户端与 服务器之间作应答 用以决定启动参数 BootROM 由 TFTP 通讯协议从 Boot Server 下载启动安装程序所必须的文件 pxelinux 0 pxelinux cfg default default 文件下载完成后 会根据该文件中定义的引导顺序 启动 Linux 安装程 序的引导内核 第五步 请求下载自动应答文件 客户端通过 pxelinux cfg default 文件成功的引导 Linux 安装内核后 安装程 序首先必须确定你通过什么安装介质来安装 linux 如果是通过网络安装 NFS FTP HTTP 则会在这个时候初始化网络 并定位安装源位置 或许你会说 刚才 PXE 不是已经获取过 IP 地址了吗 为什么现在还需要一次 这是由于 PXE 获取的是安装用的内核以及安装程序等 而安装程序要获取的是安装系统所需 的二进制包以及配置文件 由于它们需要的内容不同造成 PXE 模块和安装程序 是相对独立的 PXE 的网络配置并不能传递给安装程序 从而进行两次获取 IP 地址过程 接着会读取该文件中指定的自动应答文件 ks cfg 所在位置 根据该位置请求 下载该文件 第六步 客户端安装操作系统 将 ks cfg 文件下载回来后 通过该文件找到 OS Server 并按照该文件的配 置请求下载安装过程需要的软件包 OS Server 和客户端建立连接后 将开始传输软件包 客户端将开始安装操 作系统 安装完成后 将提示重新引导计算机 这个时候注意 在重新引导的 过程中一定要将 BIOS 修改回从硬盘启动 不然的话又会重复的自动安装操作系 统 在上面介绍中 PXE client 是需要安装 Linux 的计算机 TFTP Server DHCP Server 和 NFS Server 运行在另外一台 Linux Server 上 Bootstrap 文件 配置文件 Linux 内核都放置在 Linux Server 上 TFTP 服务器的根目录下 而 Linux 根文件系 统存放于 NFS Server 的共享目录中 PXE client 在工作过程中 需要三个二进制文件 bootstrap Linux 内核和 Linux 根文件系统 Bootstrap 文件是可执行程序 它向用户提供简单的控制界 面 并根据用户的选择 下载合适的 Linux 内核以及 Linux 根文件系统 二 配置过程二 配置过程 配置 PXE 安装 要进行如下步骤 配置 DHCP 用于给客户端提供 IP 地址及其它信息 配置 TFTP 服务器 用于提供客户端 PXE 引导所必须的文件 配置 NFS 服务器 用于存放安装树 配置 Kickstart 用于自动应答安装 使用 PXE 功能引导客户机 1 1 DHCPDHCP 的安装与配置的安装与配置 在 PXE 引导安装过程中 PXE 客户端通过 DHCP 获取 PXE 服务器地址 PXE 引导文件名称 然后客户 机在使用 TFTP 协议从 TFTP 服务器下载引导文件并执行 从而启动计算机安装程序 引导文件执行后 接 着下载安装程序启动安装 RedHat Linux 使用了 ISC 的 dhcpd 软件 完成它的安装与配置 1 安装 DHCP 软件包 root qiuri Server rpm ivh dhcp 3 0 5 13 el5 i386 rpm Preparing 100 1 dhcp 100 root qiuri Server 2 配置 DHCP 安装完成后 复制 DHCPD 配置文件模版替换原配置文件 etc dhcpd conf root qiuri Server cp usr share doc dhcp 3 0 5 dhcpd conf sample etc dhcpd conf 接下来我们需要配置相关信息 为了满足我们的安装需求 假设 PXE 服务器 DHCP 服务器 TFTP 服 务器全部安装在一台为 192 168 1 1 的计算机上 我们需要进行如下操作 1 修改 etc dhcpd conf 文件 指定 IP 地址等信息 2 在 etc dhcpd conf 中增加 tftp server 需要推送给客户端的启动文件 bootstrap filename pxelinux 0 因为 tftp 的默认目录是 tftpboot 所以文件的绝对路径就是 tftpboot pxelinux 0 当然也可以指定为其它的路径 另外需要指定 next server 参数 告诉客户端在获取到 pxelinux 0 文件之后去哪里获取其余的启动文 件 next server 192 168 1 1 最终的配置文件结果如下所示 root qiuri Server vi etc dhcpd conf ddns update style interim ignore client updates allow booting 定义能够 PXE 启动 allow bootp 定义支持 bootp subnet 192 168 1 0 netmask 255 255 255 0 range 192 168 1 10 192 168 1 80 option routers 192 168 1 1 option subnet mask 255 255 255 0 default lease time 21600 max lease time 43200 next server 192 168 1 1 TFTP Server 的 IP 地址 filename pxelinux 0 pxelinux 启动文件位置 配置完成后 重启 DHCP 服务 并将它设为开机自启动 root qiuri Server etc init d dhcpd start 启动 dhcpd 确定 root qiuri Server chkconfig level 35 dhcpd on 2 2 安装配置 安装配置 TFTPTFTP 服务器服务器 在 PXE 安装过程中 客户机在使用 TFTP 协议从 TFTP 服务器下载引导文件并执行 我们主要通过配 置 TFTP 服务器和 PXE 的引导配置完成这个过程 1 安装配置 TFTP 服务器 首先 安装 TFTP 服务器软件包 RedHat 提供了如下两个软件包 tftp server 服务端程序 tftp 客户端程序 root qiuri Server rpm ivh tftp server 0 42 3 1 i386 rpm Preparing 100 1 tftp server 100 root qiuri Server 配置 tftp 服务 tftp 服务由 xinetd 服务管理 编辑 etc xinetd d tftp 文件 将 disable yes 改为 disable no root qiuri Server vi etc xinetd d tftp default off description The tftp server serves files using the trivial file transfer protocol The tftp protocol is often used to boot diskless workstations download configuration files to network aware printers and to start the installation process for some operating systems service tftp socket type dgram protocol udp wait yes user root server usr sbin in tftpd server args s tftpboot disable no per source 11 cps 100 2 flags IPv4 从这里看出 默认选择 tftpboot 为 TFTP 服务器的根目录位置 配置完成后重启 xinetd 服务 使 TFTP 服务器生效 root qiuri Server etc init d xinetd restart 2 PXE 引导配置 bootstrap PXE 启动映像文件由 syslinux 软件包提供 RedHat Enterprise Linux 光盘中已提供 如果没有此软件包 可以到 syslinux 主页 rpm 来安装 我们只要安装了 syslinux 就会生成一个 pxelinux 0 将 pxelinux 0 这个文件复制到 tftpboot 目 录即可 Redhat6 2 中是在 usr share syslinux pxelinux 0 中 root qiuri Server rpm ql syslinux grep pxelinux 0 usr lib syslinux pxelinux 0 root qiuri Server cp usr lib syslinux pxelinux 0 tftpboot 3 用于网络启动的内核文件 将 RedHat 安装光盘目录中的 images pxeboot vmlinuz initrd img 启动文件复制到某个 安装目录 比如 tftpboot root qiuri Server cp media rhel5 images pxeboot vmlinuz initrd img tftpboot 由于多个客户端可以从一个 PXE 服务器引导 PXE 引导映像使用了一个复杂的配置文件搜索方式来查 找针对客户机的配置文件 如果客户机的网卡的 MAC 地址为 88 99 AA BB CC DD 对应的 IP 地址为 192 168 1 195 那么客户机首先尝试以 MAC 地址为文件名匹配的配置文件 如果不存在就以 IP 地址来查 找 根据上述环境针对这台主机要查找的以一个配置文件就是 tftpboot pxelinux cfg 01 88 99 aa bb cc dd 如果该文件不存在 就会根据 IP 地址来查找配置文件了 这个算法更复杂些 PXE 映像查找 会根据 IP 地址 16 进制命名的客户机配置文件 例如 192 168 1 195 对应的 16 进制的形式为 C0A801C3 可以通过 syslinux 软件包提供的 gethostip 命令将 10 进制的 IP 转换为 16 进制 如果 C0A801C3 文件不存在 就尝试查找 C0A801C 文件 如果 C0A801C 也不存在 那么就尝试 C0A801 文件 依次类推 直到查找 C 文件 如果 C 也不存在的话 那么最后尝试 default 文件 总体来说 pxelinux 搜索的文件的顺序是 tftpboot pxelinux cfg 01 88 99 aa bb cc dd tftpboot pxelinux cfg C0A801C3 tftpboot pxelinux cfg C0A801C tftpboot pxelinux cfg C0A801 tftpboot pxelinux cfg C0A80 tftpboot pxelinux cfg C0A8 tftpboot pxelinux cfg C0A tftpboot pxelinux cfg C0 tftpboot pxelinux cfg C tftpboot pxelinux cfg default 对于一台需要支持很多安装机器的安装服务器来说 将配置写在与 IP 地址对应的文件里很不灵活 把所有配置都集中在 default 文件中是个不错的主意 可以减轻配置文件维护负担 接下来创建 tftpboot pxelinux cfg 目录 该目录用于存放客户端的配置文件 root qiuri Server mkdir tftpboot pxelinux cfg 将光盘中的 isolinux isolinux cfg 文件复制为 tftpboot pxelinux cfg default root qiuri Server cp media rhel5 isolinux isolinux cfg tftpboot pxelinux cfg default 查看 default 文件内容 以下内容根据原文件略加修改并做了注释 注 该文件中的空行和以 开头的行都将被忽略 默认启动的是 label linux 中标记的启动内核 default linux 显示 boot 提示符 为 0 时则不提示 将会直接启动 default 参数中指定的内容 prompt 1 在用户输入之前的超时时间 单位为 1 10 秒 timeout 60 显示某个文件的内容 注意文件的路径 默认是在 tftpboot 目录下 也可以指定位类似 install rhel4 4 inst boot msg 这样的 路径 文件名 display boot msg F1 boot msg 按下 F1 这样的键后显示的文件 注意路径 默认是 tftpboot 注 syslinux 官方网站上说目前只能使用 F1 F10 F2 options msg F3 general msg F4 param msg F5 rescue msg label 指定你在 boot 提示符下输入的关键字 比如 boot linux ENTER 这个会启动 label linux 下标记的 kernel 和 initrd img 文件 这里还定义了其它几个关键字 boot text boot ks kernel 参数指定要启动的内核 同样要注意路径 默认是 tftpboot 目录 append 指定追加给内核的参数 能够在 gurb 里使用的追加给内核的参数 在这里也都可以使用 使用 kickstart 安装 可以在 ks 参数后直接指定 kickstart 文件的位置 label linux kernel vmlinuz append ks nfs 192 168 1 1 mnt install ks cfg initrd initrd img label text kernel vmlinuz append initrd initrd img text label ks kernel vmlinuz append ks initrd initrd img 3 3 安装配置 安装配置 NFSNFS 服务器服务器 安装介质存储在服务器上的一个目录中 可以使用各种网络协议访问它 比如 HTTP FTP 和 NFS 也就是我们前面提到的 OS Server 这里使用 NFS 服务来提供安装介质 只需要将系统光盘内容拷贝放 到共享目录下即可 创建共享目录 并将光盘内容拷贝到共享目录中 root qiuri Server mkdir mnt install root qiuri Server cp media rhel5 mnt install 安装 NFS 并将共享目录发布出去 root qiuri Server vi etc exports mnt install ro sync etc exports 1L 25C written 重启服务使配置生效 service portreserve restart redhat6 2 中无 portmap root qiuri Server service portmap restart 停止 portmap 确定 启动 portmap 确定 root qiuri Server service nfs start 启动 NFS 服务 确定 关掉 NFS 配额 确定 启动 NFS 守护进程 确定 启动 NFS mountd 确定 检查目录 mnt install 是否被正确共享 root qiuri Server shoumount e locahost Export list for localhost mnt install root qiuri Server chkconfig level 35 nfs on 4 4 配置 配置 KickstartKickstart 安装安装 通常 我们在安装操作系统的过程需要大量的人机交互过程 减少交互过程 为了提高安装效率 Red Hat Linux 开始支持一个称为 kickstart 的功能 使用这种方法 只需事先定义好一个 Kickstart 自动应 答配置文件 通常存放在安装服务器上 并让安装程序知道该配置文件的位置 在安装过程中安装程序 就可以自己从该文件中读取安装配置 这样就避免了繁琐的人机交互 实现无人值守的自动化安装 我们可以通过多种方法生成 Kickstart 配置文件 无论使用哪种方法无非就是创建一个应答文件 当 你安装好一台 Red Hat Linux 机器 Red Hat Linux 安装程序都会创建一个 kickstart 配置文件 记录你的真 实安装配置 如果你希望实现和某系统类似的安装 可以基于该系统的 kickstart 配置文件来生成你自己的 kickstart 配置文件 该文件位于 root anaconda ks cfg 这里我直接使用该文件 拷贝本文件到 mnt install 下 root qiuri Server cp root anaconda ks cfg mnt install ks cfg root qiuri Server chmod a r mnt install ks cfg Kickstart file automatically generated by anaconda install nfs server 192 168 1 1 dir mnt install 这个选项告诉安装程序 到服务器 192 168 1 1 的 NFS 共享 目录 mnt install 下寻找安装介质 key 2515dd4e215225dd lang zh CN UTF 8 keyboard us xconfig startxonboot network device eth0 bootproto dhcp rootpw iscrypted 1 3xvzZgwz 1jYjrh XtXLblT00Mn3Ys0 firewall enabled port 22 tcp authconfig enableshadow enablemd5 selinux enforcing timezone utc Asia Shanghai bootloader location mbr driveorder sda append rhgb quiet clearpart all drives sda initlabel part fstype ext3 size 130000 part swap fstype swap size 2048 part backup fstype ext3 size 100 grow packages office admin tools emacs gcc43 c libgfortran43 注意 关闭服务器端防火墙和 SELINUX 5 5 配置客户端 配置客户端 PXEPXE 引导安装引导安装 最后设置客户端 BIOS 选择从网卡启动 具体方法因 BIOS 版本不同而异 网卡中的 PXE 代码会联系 DHCP 服务器来获取 IP 地址以及启动镜像 然后启动镜像被载入并运行 安装完成后 安装程序会提示你重新启动机器 重新启动机器时切记要在 BIOS 里改成从硬盘启动 如果仍然从光盘启动机器 又会重复前面的自动安装步骤 另一篇 蓝色 输入的命令部分 红色 修改的配置文件 1 挂载系统安装光盘到 Kickstart 服务器 root localhost mkdir kickstart root localhost mkdir linuxinstall root localhost mkdir tftpboot root localhost mkdir tftpboot pxelinux cfg root localhost mount dev cdrom linuxinstall root localhost vim etc fstab dev cdrom linuxinstall iso9660 defaults 0 0 2 设置 yum 仓库源 root localhost cp etc yum repos d CentOS Media repo etc yum repos d kickstart repo root localhost vim etc yum repos d kickstart repo kickstart name CentOS releasever Media baseurl file linuxinstall gpgcheck 0 enabled 1 3 安装 Kickstart 需要的组件 root localhost yum install nfs dhcp tftp system config kickstart y 4 设置 nfs root localhost vim etc exports linuxinstall ro sync kickstart ro sync tftpboot ro sync root localhost exportfs rv exporting linuxinstall exporting kickstart exporting tftpboot 5 设置 tftp root localhost vim etc xinetd d tftp disable no yes 改成 no 6 配置 DHCP root localhost cp usr share doc dhcp 3 0 5 dhcpd conf sample etc dhcpd conf root localhost vim etc dhcpd conf ddns update style interim ignore client updates allow booting allow bootp subnet 192 168 159 0 netmask 255 255 255 0 option routers 192 168 159 2 option subnet mask 255 255 255 0 next server 192 168 159 10 filename pxelinux 0 range dynamic bootp 192 168 159 128 192 168 159 254 default lease time 21600 max lease time 43200 7 配置 ks cfg 文件 platform x86 AMD64 或 Intel EM64T System authorization information auth useshadow enablemd5 System bootloader configuration bootloader location mbr Clear the Master Boot Record zerombr Partition clearing information clearpart all initlabel Use graphical install graphical Firewall configuration firewall enabled Run the Setup Agent on first boot firstboot disable System keyboard keyboard us System language lang en US Installation logging level logging level info Use NFS installation media nfs server 192 168 159 10 dir linuxinstall Network information network bootproto dhcp device eth0 onboot on Reboot after installation reboot Root password rootpw iscrypted 1 9G AkkmG NtrFgqOQ4nAP EUMXmxTP0 SELinux configuration selinux enforcing Do not configure the X Window System skipx System timezone timezone America New York Install OS instead of upgrade install Disk partitioning information part bytes per inode 409

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论