LINUX教程:RHEL7/CentOS7 PXE+Kickstart自动化系统安装
《LINUX教程:RHEL7/CentOS7 PXE+Kickstart自动化系统安装》要点: PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分派IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端基本软件设置,从而引导预先安装在服务器中的终端操作系统.PXE可以引导多种操作系统,如:Windows95/98/2000/windows2003/windows2008/win7/win8,linux等. 1. 系统情况介绍虚拟机软件:VirtualBox 虚拟机网络衔接方式:仅主机(Host-Only)网络 服务端操作体系:CentOS 7 设置装备摆设服务:DHCP+TFTP+FTP(也可以使用HTTP、NFS等) 完成目标:搭建pxe情况,结合kickstart响应文件,完成CentOS 7系统的自动化安装. 1.1 服务器及领导文件介绍
pxe系统安装时,首先由dhcp服务器向客户端提供IP、引导文件地位、tftp地址等信息,客户端获取相关信息后,通过TFTP下载引导文件和内核文件,引导系统启动,并通过ftp服务器下载系统安装过程中所需的各项软件包和kickstart响应文件. kickstart响应文件主要用来自动设置时区、暗码、系统分区、软件包选择等信息. 1.2 服务打量细环境详细系统环境为: [root@pxe1?~]#?uname?-a Linux?pxe1?3.10.0-514.el7.x86_64?#1?SMP?Tue?Nov?22?16:42:41?UTC?2016?x86_64?x86_64?x86_64?GNU/Linux [root@pxe1?~]#? [root@pxe1?~]#?hostnamectl ? ?Static?hostname:?pxe1 ? ? ? ? ?Icon?name:?computer-vm ? ? ? ? ? ?Chassis:?vm ? ? ? ? Machine?ID:?18ef8dea83044565b82bf6bed368cdab ? ? ? ? ? ?Boot?ID:?9beedf23c4e14016a0a458ddcd9c487b ? ? Virtualization:?kvm ? Operating?System:?CentOS?Linux?7?(Core) ? ? ? ?CPE?OS?Name:?cpe:/o:centos:centos:7 ? ? ? ? ? ? Kernel:?Linux?3.10.0-514.el7.x86_64 ? ? ? Architecture:?x86-64 [root@pxe1?~]#?cat?/etc/hosts 127.0.0.1? ?localhost?localhost.localdomain?localhost4?localhost4.localdomain4 ::1? ? ? ? ?localhost?localhost.localdomain?localhost6?localhost6.localdomain6 192.168.56.14?pxe1? ? [root@pxe1?yum.repos.d]#?ifconfig? enp0s3:?flags=4163<UP,BROADCAST,RUNNING,MULTICAST>? mtu?1500 ? ? ? ? inet?192.168.56.14? netmask?255.255.255.0? broadcast?192.168.56.255 ? ? ? ? inet6?fe80::a00:27ff:fe43:c11d? prefixlen?64? scopeid?0x20<link> ? ? ? ? ether?08:00:27:43:c1:1d? txqueuelen?1000? (Ethernet) ? ? ? ? RX?packets?1441? bytes?121057?(118.2?KiB) ? ? ? ? RX?errors?0? dropped?0? overruns?0? frame?0 ? ? ? ? TX?packets?928? bytes?98905?(96.5?KiB) ? ? ? ? TX?errors?0? dropped?0?overruns?0? carrier?0? collisions?0 ... 1.3 服务端初始环境准备封闭SELinux和防火墙: #?为了后续配置便利,首先关闭系统SELinux和防火墙 #?关闭SELinux,修改文件使SELINUX=disabled [root@pxe1?~]#?vim?/etc/selinux/config? #?This?file?controls?the?state?of?SELinux?on?the?system. #?SELINUX=?can?take?one?of?these?three?values: #? ? ?enforcing?-?SELinux?security?policy?is?enforced. #? ? ?permissive?-?SELinux?prints?warnings?instead?of?enforcing. #? ? ?disabled?-?No?SELinux?policy?is?loaded. SELINUX=disabled #?SELINUXTYPE=?can?take?one?of?three?two?values: #? ? ?targeted?-?Targeted?processes?are?protected,#? ? ?minimum?-?Modification?of?targeted?policy.?Only?selected?processes?are?protected.? #? ? ?mls?-?Multi?Level?Security?protection. SELINUXTYPE=targeted #重启系统后配置生效,查看SELinux的状态. [root@pxe1?~]#?sestatus? SELinux?status:? ? ? ? ? ? ? ? ?disabled #关闭防火墙 [root@pxe1?~]#?systemctl?stop?firewalld [root@pxe1?~]#?systemctl?disable?firewalld [root@pxe1?~]#?systemctl?status?firewalld ●?firewalld.service?-?firewalld?-?dynamic?firewall?daemon ? ?Loaded:?loaded?(/usr/lib/systemd/system/firewalld.service;?disabled;?vendor?preset:?enabled) ? ?Active:?inactive?(dead) ? ? ?Docs:?man:firewalld(1) 1.4 客户端环境准备在VirtualBox中新建linux虚拟机:
2. 配置yum源这里主要介绍使用系统光盘配置本地yum源的办法. 起首挂载系统光盘: 在虚拟机右下角单击光盘图标,选择必要挂载的系统镜像文件. 创立yum源配置文件: #?首先将光盘挂载到/mnt目录下 [root@pxe1?~]#?umount?/dev/cdrom?-l? [root@pxe1?~]#?mount?/dev/cdrom?/mnt/ mount:?/dev/sr0?is?write-protected,?mounting?read-only #创建yum配置文件 [root@pxe1?~]#?cd?/etc/yum.repos.d/ [root@pxe1?yum.repos.d]#?ls CentOS-Base.repo? CentOS-Debuginfo.repo? CentOS-Sources.repo? CentOS-fasttrack.repo CentOS-CR.repo? ? CentOS-Media.repo? ? ? CentOS-Vault.repo #避免系统中的repo文件影响,首先将其备份 [root@pxe1?yum.repos.d]#?mkdir?bak [root@pxe1?yum.repos.d]#?mv?*.repo?bak/ [root@pxe1?yum.repos.d]#?ls bak [root@pxe1?yum.repos.d]#?vim?my.repo [development]? ? ? ? ? <--注意:这里必定要写development name=my-centos7-dvd baseurl=file:///mnt enabled=1 gpgcheck=0 注意:my.repo文件中第一行[development],中括号中建议填写 由于下载软件包信息失败,软件包选择被制止 创立yum缓存: [root@pxe1?yum.repos.d]#?yum?clean?all Failed?to?set?locale,?defaulting?to?C Loaded?plugins:?fastestmirror,?langpacks Cleaning?repos:?development Cleaning?up?everything [root@pxe1?yum.repos.d]#?yum?makecache Failed?to?set?locale,?langpacks development? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |?3.6?kB? 00:00:00? ? ? (1/4):?development/filelists_db? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |?3.0?MB? 00:00:00? ? ? (2/4):?development/group_gz? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |?155?kB? 00:00:00? ? ? (3/4):?development/other_db? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |?1.3?MB? 00:00:00? ? ? (4/4):?development/primary_db? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |?3.0?MB? 00:00:00? ? ? Determining?fastest?mirrors Metadata?Cache?Created 3. DHCP服务器配置dhcp为客户端提供需要的网络信息,并向客户端提供引导文件(pxelinux.0)的位置及TFTP服务器地址等. 3.1 安装dhcp软件包[root@pxe1?yum.repos.d]#?yum?install?-y?dhcp ... Installed: ? dhcp.x86_64?12:4.2.5-47.el7.centos? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Complete! 3.2 修改dhcp配置文件dhcp配置文件地位: [root@pxe1?yum.repos.d]#?cat?/etc/dhcp/dhcpd.conf? # #?DHCP?Server?Configuration?file. #? ?see?/usr/share/doc/dhcp*/dhcpd.conf.example #? ?see?dhcpd.conf(5)?man?page subnet?192.168.56.0?netmask?255.255.255.0?{ ? range?192.168.56.10?192.168.56.20; ? default-lease-time?600; ? max-lease-time?7200; ? filename?"pxelinux.0"; ? next-server?192.168.56.14; } #?subnet?192.168.56.0?netmask?255.255.255.0?服务端IP网段及掩码 #?range?192.168.56.10?192.168.56.20;?dhcp分发的地址范围,最好将本机IP包括在内. #?default-lease-time?600;max-lease-time?7200;?IP地址租约时间. #?filename?"pxelinux.0";?指定引导文件位置,这里是TFTP根目录下的pxelinux.0. #? next-server?192.168.56.14;?TFTP服务器地址. 3.3 启动dhcp服务[root@pxe1?yum.repos.d]#?systemctl?restart?dhcpd [root@pxe1?yum.repos.d]#?systemctl?enable?dhcpd Created?symlink?from?/etc/systemd/system/multi-user.target.wants/dhcpd.service?to?/usr/lib/systemd/system/dhcpd.service. [root@pxe1?yum.repos.d]#?systemctl?status?dhcpd ●?dhcpd.service?-?DHCPv4?Server?Daemon ? ?Loaded:?loaded?(/usr/lib/systemd/system/dhcpd.service;?enabled;?vendor?preset:?disabled) ? ?Active:?active?(running)?since?Thu?2017-05-25?11:00:26?CST;?26s?ago ? ? ?Docs:?man:dhcpd(8) ? ? ? ? ? ?man:dhcpd.conf(5) ?Main?PID:?11849?(dhcpd) ? ?Status:?"Dispatching?packets..." ? ?CGroup:?/system.slice/dhcpd.service ? ? ? ? ? ?└─11849?/usr/sbin/dhcpd?-f?-cf?/etc/dhcp/dhcpd.conf?-user?dhcpd?-group?dhcpd?--no-pid May?25?11:00:26?pxe1?dhcpd[11849]:?No?subnet?declaration?for?virbr0?(192.168.122.1). May?25?11:00:26?pxe1?dhcpd[11849]:?**?Ignoring?requests?on?virbr0.? If?this?is?not?what May?25?11:00:26?pxe1?dhcpd[11849]:? ? you?want,?please?write?a?subnet?declaration May?25?11:00:26?pxe1?dhcpd[11849]:? ? in?your?dhcpd.conf?file?for?the?network?segment May?25?11:00:26?pxe1?dhcpd[11849]:? ? to?which?interface?virbr0?is?attached.?** May?25?11:00:26?pxe1?dhcpd[11849]:? May?25?11:00:26?pxe1?dhcpd[11849]:?Listening?on?LPF/enp0s3/08:00:27:43:c1:1d/192.168.56.0/24 May?25?11:00:26?pxe1?dhcpd[11849]:?Sending?on? ?LPF/enp0s3/08:00:27:43:c1:1d/192.168.56.0/24 May?25?11:00:26?pxe1?dhcpd[11849]:?Sending?on? ?Socket/fallback/fallback-net May?25?11:00:26?pxe1?systemd[1]:?Started?DHCPv4?Server?Daemon. [root@pxe1?yum.repos.d]#?netstat?-nulp?|?grep?dhcp udp? ? ? ? 0? ? ? 0?0.0.0.0:67? ? ? ? ? ? ? 0.0.0.0:*? ? ? ? ? ? ? ? ? ? ? ? ? ?11849/dhcpd? ? ? udp? ? ? ? 0? ? ? 0?0.0.0.0:16465? ? ? ? ? ?0.0.0.0:*? ? ? ? ? ? ? ? ? ? ? ? ? ?11849/dhcpd? ? ? udp6? ? ? ?0? ? ? 0?:::31651? ? ? ? ? ? ? ? :::*? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 11849/dhcpd
3.4 验证DHCP服务配置dhcp服务器配置完成后,便可启动之前准备的客户端虚拟机查看是否可以获取到IP地址,能正常获取IP则阐明配置正常,如下: 至此,dhcp服务器设置装备摆设完成. 4. TFTP服务器配置TFTP服务器主要为客户端提供内核文件和领导文件. 4.1 安装TFTP服务器安装办法: [root@pxe1?/]#?yum?install?-y?tftp-server ... Installed: ? tftp-server.x86_64?0:5.2-13.el7? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Complete! #?安装tftp命令,可用来测试TFTP服务能否正常运行 [root@pxe1?/]#?yum?install?-y?tftp 4.2 启动TFTP服务器#?编纂配置文件/etc/xinetd.d/tftp? [root@pxe1?/]#?vim?/etc/xinetd.d/tftp? disable =?no? ?<--将yes修改为no 启动tftp服务: #?首先确保tftp.socket正常 [root@pxe1?/]#?systemctl?start?tftp.socket [root@pxe1?/]#?systemctl?enable?tftp.socket Created?symlink?from?/etc/systemd/system/sockets.target.wants/tftp.socket?to?/usr/lib/systemd/system/tftp.socket. [root@pxe1?/]#?systemctl?status?tftp.socket ●?tftp.socket?-?Tftp?Server?Activation?Socket ? ?Loaded:?loaded?(/usr/lib/systemd/system/tftp.socket;?enabled;?vendor?preset:?disabled) ? ?Active:?active?(listening)?since?四?2017-05-25?14:57:33?CST;?1h?0min?ago ? ?Listen:?[::]:69?(Datagram) 5月?25?14:57:33?pxe1?systemd[1]:?Listening?on?Tftp?Server?Activation?Socket. 5月?25?14:57:33?pxe1?systemd[1]:?Starting?Tftp?Server?Activation?Socket. #?然后启动tftp.service [root@pxe1?~]#?systemctl?restart?tftp.service [root@pxe1?~]#?systemctl?enable?tftp.service Created?symlink?from?/etc/systemd/system/sockets.target.wants/tftp.socket?to?/usr/lib/systemd/system/tftp.socket. [root@pxe1?~]#?systemctl?status?tftp.service ●?tftp.service?-?Tftp?Server ? ?Loaded:?loaded?(/usr/lib/systemd/system/tftp.service;?indirect;?vendor?preset:?disabled) ? ?Active:?active?(running)?since?四?2017-05-25?14:57:33?CST;?20s?ago ? ? ?Docs:?man:in.tftpd ?Main?PID:?14621?(in.tftpd) ? ?CGroup:?/system.slice/tftp.service ? ? ? ? ? ?└─14621?/usr/sbin/in.tftpd?-s?/var/lib/tftpboot 5月?25?14:57:33?pxe1?systemd[1]:?Started?Tftp?Server. 5月?25?14:57:33?pxe1?systemd[1]:?Starting?Tftp?Server... 4.3 导入需要文件需要导入TFTP服务器的主要文件有:
4.3.1 导入领导文件领导文件pxelinux.0由软件包syslinux生成,首先要安装syslinux软件包: [root@pxe1?~]#?yum?install?-y?syslinux #?将pxelinux.0拷贝至TFTP根目次下 [root@pxe1?~]#?cp?/usr/share/syslinux/pxelinux.0?/var/lib/tftpboot/ 4.3.2 导入内核及菜单文件内核文件:vmlinuz initrd.img,一般存在于系统光盘的pxeboot目次下: [root@pxe1?syslinux]#?cd?/mnt/images/pxeboot/ [root@pxe1?pxeboot]#?ls initrd.img? TRANS.TBL? vmlinuz 但是我们可以发现,在isolinux目录下也有相同的内容,同时,还包含引导菜单(isolinux.cfg)及其启动时用到的文件: isolinux.cfg - 领导菜单配置文件 vesamenu.c32 - 体系自带的两种窗口模块之一 boot.msg - 窗口提示信息文件,提示信息在菜单呈现前呈现,显示时间较短,可以添加些艺术字之类的信息. splash.png - 窗口配景图片 因此,我们可以从系统光盘的images/pxeboot/目录下复制内核文件,也可以从isolinux下复制,为了方便起见,这里从isolinux目录下复制,可以只复制我们必要的文件,如:
也可以将isolinux目次下的文件全部复制到TFTP根目次 [root@pxe1?/]#?cp?-rf?/mnt/isolinux/*?/var/lib/tftpboot/ 然后准备pxe领导菜单: [root@pxe1?/]#?mkdir?/var/lib/tftpboot/pxelinux.cfg [root@pxe1?/]#?mv?/var/lib/tftpboot/isolinux.cfg?/var/lib/tftpboot/pxelinux.cfg/default [root@pxe1?/]#?cd?/var/lib/tftpboot/pxelinux.cfg [root@pxe1?pxelinux.cfg]#?ls default 改动引导菜单选项: [root@pxe1?pxelinux.cfg]#?vim?/var/lib/tftpboot/pxelinux.cfg/default? #?首先修改菜单等待时间 timeout?600?<--菜单显示等待时间,单位为1/10秒,默认等待60秒. #修改菜单等待时间为60,即等待6秒,若无操作则进入默认菜单; timeout?600 #?然后修改显示菜单 #?----------------------------------------------------------------- #?找到文件中的以下部分 label?linux ? menu?label?^Install?CentOS?Linux?7 ? kernel?vmlinuz ? append?initrd=initrd.img?inst.stage2=hd:LABEL=CentOSx207x20x86_64?quiet label?check ? menu?label?Test?this?^media?&?install?CentOS?Linux?7 ? menu?default ? kernel?vmlinuz ? append?initrd=initrd.img?inst.stage2=hd:LABEL=CentOSx207x20x86_64?rd.live.check?quiet #?将其修改为 label?linux ? menu?label?^Install?CentOS?Linux?7?by?kickstart ? menu?default ? kernel?vmlinuz ? append?initrd=initrd.img?inst.repo=ftp://192.168.56.14/pub?inst.ks=ftp://192.168.56.14/ks.cfg label?linux?2 ? menu?label?^Install?CentOS?Linux?7?by?vnc ? kernel?vmlinuz ? append?initrd=initrd.img?inst.repo=ftp://192.168.56.14/pub?inst.vnc?inst.vncpassword=password label?linux?3 ? menu?label?^Install?CentOS?Linux?7?by?vnc?-listen ? kernel?vmlinuz ? append?initrd=initrd.img?inst.repo=ftp://192.168.56.14/pub?inst.vnc?inst.vncconnect=192.168.56.1 ? #?本文中其他内容无需进行修改,有兴趣可本身尝试修改其他选项进行测试. 4.4 验证TFTP服务4.4.1 验证TFTP服务配置下面来验证TFTP服务配置是否正确: [root@pxe1?kk]#?ls?/var/lib/tftpboot/ boot.cat? grub.conf? ?isolinux.bin? pxelinux.0? ? splash.png? vesamenu.c32 boot.msg? initrd.img? memtest? ? ? ?pxelinux.cfg? TRANS.TBL? ?vmlinuz [root@pxe1?kk]#? [root@pxe1?kk]#?tftp?192.168.56.14 tftp>?get?boot.msg tftp>?quit [root@pxe1?kk]#? [root@pxe1?kk]#?ls boot.msg #?成功get到boot.msg文件,阐明TFTP服务正常. 4.4.2 验证菜单及引导文件配置启动之前准备的客户端虚拟机查看是否可以正常显示引导菜单,是否可以正常获取initrd.img和vmlinuz内核文件. ? 若配置正常,会看到之前配置的引导菜单呈现: 在对应的领导菜单上按 按 末了系统提示获取ks文件失败,原因是尚未进行ftp服务器的配置: 更多详情见请继续阅读下一页的出色内容: _baidu_page_break_tag_5. kickstart文件准备[root@pxe1?mnt]#?yum?install?-y?system-config-kickstart #?安装完成后,图形界面执行system-config-kickstart敕令配置ks文件 kickstart文件配置注意事项如下: 下图中光盘挂载地位为FTP根目录下的pub目录,即 ? ? 软件包选择界面,可以直接在这里选择,也可以拷贝服务端 ? 其他选项请按需选择,配置完成后,保留文件,待FTP服务器配置完成后,需要将其拷贝至FTP根目录 然后修改生成的ks.cfg文件,在文件末尾(不要删除文件末尾的%end),添加以下内容,表现关闭kdump功能: %addon?com_RedHat_kdump?--disable?--reserve-mb='auto' %end 至此,kickstart文件设置装备摆设完成. 6. FTP服务器配置6.1 安装FTP服务器[root@pxe1?mnt]#?yum?install?-y?vsftpd [root@pxe1?mnt]#?systemctl?restart?vsftpd [root@pxe1?mnt]#?systemctl?enable?vsftpd Created?symlink?from?/etc/systemd/system/multi-user.target.wants/vsftpd.service?to?/usr/lib/systemd/system/vsftpd.service. [root@pxe1?mnt]#?systemctl?status?vsftpd ●?vsftpd.service?-?Vsftpd?ftp?daemon ? ?Loaded:?loaded?(/usr/lib/systemd/system/vsftpd.service;?enabled;?vendor?preset:?disabled) ? ?Active:?active?(running)?since?2017-05-25?16:59:12?CST;?11s?ago ?Main?PID:?16466?(vsftpd) ? ?CGroup:?/system.slice/vsftpd.service ? ? ? ? ? ?└─16466?/usr/sbin/vsftpd?/etc/vsftpd/vsftpd.conf 5月?25?16:59:12?pxe1?systemd[1]:?Starting?Vsftpd?ftp?daemon... 5月?25?16:59:12?pxe1?systemd[1]:?Started?Vsftpd?ftp?daemon. #?安装ftp命令,用于ftp服务器验证. [root@pxe1?mnt]#?yum?install?-y?ftp 6.2 启动FTP服务器[root@pxe1?/]#?systemctl?restart?vsftpd [root@pxe1?/]#?systemctl?enable?vsftpd [root@pxe1?/]#?systemctl?status?vsftpd ●?vsftpd.service?-?Vsftpd?ftp?daemon ? ?Loaded:?loaded?(/usr/lib/systemd/system/vsftpd.service;?enabled;?vendor?preset:?disabled) ? ?Active:?active?(running)?since?五?2017-05-26?08:28:29?CST;?15s?ago ?Main?PID:?2682?(vsftpd) ? ?CGroup:?/system.slice/vsftpd.service ? ? ? ? ? ?└─2682?/usr/sbin/vsftpd?/etc/vsftpd/vsftpd.conf 5月?26?08:28:28?pxe1?systemd[1]:?Starting?Vsftpd?ftp?daemon... 5月?26?08:28:29?pxe1?systemd[1]:?Started?Vsftpd?ftp?daemon. 6.3 导入ks文件并挂载光盘首先将适才生成的kickstart文件复制到FTP跟目录下: [root@pxe1?/]#?cd?/var/ftp/ [root@pxe1?ftp]#?ls ks.cfg? pub 然后将关盘挂载至 #?因为配置yum源时已经将光盘挂载至/mntt目录下了,现在有两种办法进行光盘挂载: #?1.将/mnt目录绑定到/var/ftp/pub目录下 [root@pxe1?~]#?mount?--bind?/mnt/?/var/ftp/pub/ [root@pxe1?~]#?ls?/var/ftp/pub/ CentOS_BuildTag? EULA? images? ? LiveOS? ? repodata? ? ? ? ? ? ? RPM-GPG-KEY-CentOS-Testing-7 EFI? ? ? ? ? ? ? GPL? ?isolinux? Packages? RPM-GPG-KEY-CentOS-7? TRANS.TBL #?2.?先将光盘从/mnt目录卸载,然后挂载到/var/ftp/pub目录下 [root@pxe1?~]#?umount?/dev/cdrom [root@pxe1?~]#?mount?/dev/cdrom?/var/ftp/pub/ 6.4 验证FTP服务器本次配置在生成kickstart文件时,登陆用户为匿名用户anonumous,下面测试匿名用户能否正常从FTP服务器下载文件: [root@pxe1?kk]#?ls?/var/ftp/ ks.cfg? pub [root@pxe1?kk]#?ftp?192.168.56.14 Connected?to?192.168.56.14?(192.168.56.14). 220?(vsFTPd?3.0.2) Name?(192.168.56.14:root):?anonymous 331?Please?specify?the?password. Password: 230?Login?successful. Remote?system?type?is?UNIX. Using?binary?mode?to?transfer?files. ftp>?ls 227?Entering?Passive?Mode?(192,168,56,14,217,98). 150?Here?comes?the?directory?listing. -rw-r--r--? ? 1?0? ? ? ? 0? ? ? ? ? ? 1459?May?25?09:36?ks.cfg drwxr-xr-x? ? 8?0? ? ? ? 0? ? ? ? ? ? 2048?Dec?05?13:20?pub 226?Directory?send?OK. ftp>?get?ks.cfg local:?ks.cfg?remote:?ks.cfg 227?Entering?Passive?Mode?(192,152,101). 150?Opening?BINARY?mode?data?connection?for?ks.cfg?(1459?bytes). 226?Transfer?complete. 1459?bytes?received?in?0.0433?secs?(33.68?Kbytes/sec) ftp>?bye 221?Goodbye. [root@pxe1?kk]#?ls ks.cfg 成功get到ks.cfg文件,表现配置正常,现在可以重启客户端虚拟机测试是否可以进行自动化系统安装. 7. 自动化系统安装测试重启客户端虚拟机,可以看到系统开端自动安装,至此,pxe+kickstart自动系统安装配置完成. ? ? 8. 领导菜单介绍本文中配置的领导菜单default主要内容如下: label?linux ? menu?label?^Install?CentOS?Linux?7?by?kickstart ? menu?default ? kernel?vmlinuz ? append?initrd=initrd.img?inst.repo=ftp://192.168.56.14/pub?inst.ks=ftp://192.168.56.14/ks.cfg label?linux?2 ? menu?label?^Install?CentOS?Linux?7?by?vnc ? kernel?vmlinuz ? append?initrd=initrd.img?inst.repo=ftp://192.168.56.14/pub?inst.vnc?inst.vncpassword=password label?linux?3 ? menu?label?^Install?CentOS?Linux?7?by?vnc?-listen ? kernel?vmlinuz ? append?initrd=initrd.img?inst.repo=ftp://192.168.56.14/pub?inst.vnc?inst.vncconnect=192.168.56.1 在系统启动进程中,菜单依次对应如下内容: 8.1 kickstart菜单先容菜单一先容: label?linux ? menu?label?^Install?CentOS?Linux?7?by?kickstart ? menu?default ? kernel?vmlinuz ? append?initrd=initrd.img?inst.repo=ftp://192.168.56.14/pub?inst.ks=ftp://192.168.56.14/ks.cfg #?使用kickstart自动安装 #?这项菜单表现镜像文件在FTP根目录/var/ftp/pub下,kickstart文件在FTP根目录/var/ftp下. 菜单二介绍: label?linux?2 ? menu?label?^Install?CentOS?Linux?7?by?vnc ? kernel?vmlinuz ? append?initrd=initrd.img?inst.repo=ftp://192.168.56.14/pub?inst.vnc?inst.vncpassword=password ? #?使用vnc手动安装 #?该菜单表示镜像文件在FTP根目录/var/ftp/pub下,vnc暗码为password,选中该菜单后,系统启动后会提示vnc登录的IP及端口,vnc连接后,便可进行手动系统安装,也可以在菜单最后指定kickstart文件位置,自动安装. 如图: 菜单三先容: label?linux?3 ? menu?label?^Install?CentOS?Linux?7?by?vnc?-listen ? kernel?vmlinuz ? append?initrd=initrd.img?inst.repo=ftp://192.168.56.14/pub?inst.vnc?inst.vncconnect=192.168.56.1 ? #?该菜单项表示使用vnc监听模式进行系统安装 #?该菜单表示镜像文件在FTP根目录/var/ftp/pub下,vnc监听进程在计算机192.168.56.1上,无登录暗码; #?注意:inst.vncconnect=192.168.56.1?指的是将要运行vnc客户端的计算机IP地址. 这里的192.168.56.1为我的笔记本IP,所以在启动客户端虚拟机后,只需要在笔记本上打开vnc客户端监听模式,即可自动显示安装界面. 在笔记本上打开vnc监听模式后,稍作期待,会自动连接到系统安装界面: 9. 引导菜单的其他创建办法9.1 menu.c32菜单模块
安装了syslinux命令包后,两种菜单模块都会在目录 [root@pxe1?tftpboot]#?ls?/var/lib/tftpboot/ initrd.img? menu.c32? pxelinux.0? pxelinux.cfg? vmlinuz 菜单文件内容为: [root@pxe1?tftpboot]#?cat?/var/lib/tftpboot/pxelinux.cfg/default default?menu.c32 ?timeout?60 ?menu?title?CentOS?7?Pxe?Menu ? label?linux ? menu?label?^Install?CentOS?Linux?7?by?kickstart ? menu?default ? kernel?vmlinuz ? append?initrd=initrd.img?inst.repo=ftp://192.168.56.14/pub?inst.ks=ftp://192.168.56.14/ks.cfg label?linux?2 ? menu?label?^Install?CentOS?Linux?7?by?vnc ? kernel?vmlinuz ? append?initrd=initrd.img?inst.repo=ftp://192.168.56.14/pub?inst.vnc?inst.vncpassword=password label?linux?3 ? menu?label?^Install?CentOS?Linux?7?by?vnc?-listen ? kernel?vmlinuz ? append?initrd=initrd.img?inst.repo=ftp://192.168.56.14/pub?inst.vnc?inst.vncconnect=192.168.56.1 菜单显示样式为: 本文永远更新链接地址: 更多LINUX教程,尽在编程之家PHP学院专栏。欢迎交流《LINUX教程:RHEL7/CentOS7 PXE+Kickstart自动化系统安装》! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |