ITPub博客

首页 > Linux操作系统 > Linux操作系统 > RHCE7学习之PXE+kickstart完全无人值守安装RHEL7操作系统

RHCE7学习之PXE+kickstart完全无人值守安装RHEL7操作系统

原创 Linux操作系统 作者:ilsyx 时间:2017-11-22 16:56:35 0 删除 编辑
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等。
kickstart是红帽提供的自动安装系统功能,红帽系统安装程序Anaconda需要知道如何安装系统,如磁盘如何分区,如何配置网络接口,如何选择要安装的软件包等,这是一个交互过程。而kickstart提供的文本文件中有Anaconda系统安装程序运行时所需要知道的所有答案,因此省去了安装系统时的交互。
pxe + kickstart组合可以实现完全无人值守安装系统,客户端加电由NIC启动后,从dhcpd服务器(dhcpd服务配置文件/etc/dhcpd/dhcpd.conf中相关三项配置)获取
IP,
引导文件pxelinux.0(默认引导文件名pxelinux.0默认在tftp根目录/var/lib/tftpboot/下寻找,pxelinux.0文件在syslinux安装包中,安装syslinux后pxelinux.0生成在/usr/share/syslinux/目录下),
tftp地址。
客户端获取三项相关信息后,通过TFTP地址(默认tftp引导配置文件/var/lib/tftpboot/pxelinux.cfg/default)下载vmlinuz(微系统内核基本进程文件)和initrd.img(驱动文件),引导红帽安装程序Anaconda启动,Anaconda读取kickstart响应文件中设置安装系统时的基本设置信息及安装系统时需要寻找的安装包发布服务器地址(nfs,httpd,ftp,cdrom),完成无人值守安装操作系统。

本文将运行pxe + kickstart服务的机器定义为服务端,要安装操作系统的机器定义为客户端。详细步骤如下:
1. PXE服务配置
PXE服务由DHCPD服务器与TFTP服务器组成,dpchd服务与tftp服务可运行在一台或拆分两台服务器运行。

1.1 DHCPD 服务

为客户端提供必要的网络信息,如IP、netmask、gateway、dns等,并向客户端提供引导文件(pxelinux.0)的位置及TFTP服务器地址等。本文服务器IP为192.168.56.14/24
1.1.1 安装dhcp服务包
yum install -y dhcp

1.1.2 修改dhcpd.conf配置文件
[root@localhost ~]# 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.15 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.15 192.168.56.20; dhcp分发的地址范围
# default-lease-time 600;max-lease-time 7200; IP地址租约时间。
# filename "pxelinux.0"; 指定引导文件位置,这里是TFTP根目录下的pxelinux.0
#  next-server 192.168.56.14; TFTP服务器地址。


1.2 TFTP 服务器

主要为客户端提供引导文件pxelinux.0,vmlinuz(微系统内核基本进程文件)和initrd.img(驱动文件)。

1.2.1 安装tftp-server服务包
yum install -y tftp-server
cd /etc/xinetd.d/
vim tftp   ---> disable = no
systemctl restart xinetd
systemctl status xinetd
systemctl enable xinetd
systemctl start tftp.socket
systemctl status tftp.socket
systemctl enable tftp.socket

1.2.2 导入pxelinux.0引导文件
yum install -y syslinux
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

1.2.3 导入tftp引导配置文件,可参考光盘文件isolinux.cfg修改,本文RHEL7.2系统安装光盘挂载位置/mnt/cdrom
cp /mnt/cdrom/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

编辑tftp引导配置文件/var/lib/tftpboot/pxelinux.cfg/default,本文kickstart响应文件使用httpd方式发布,如下
default linux
label linux
  menu label ^Install Oracle Linux 7.2
  kernel vmlinuz
  append initrd=initrd.img quiet ks=http://192.168.56.14/ks.cfg

1.2.4 导入vmlinuz(微系统内核基本进程文件)和initrd.img(驱动文件)到tftp根目录/var/lib/tftpboot/下,vmlinuz和initrd.img两文件在光盘/isolinux 和 /images/pxeboot/目录都有。
cp /mnt/cdrom/isolinux/vmlinuz /mnt/cdrom/isolinux/initrd.img /var/lib/tftpboot/

2 kickstart配置,本文系统安装光盘安装包使用httpd方式发布
2.1 利用采用光盘安装系统的服务器现有/root/anaconda-ks.cfg响应文件
cp /root/anaconda-ks.cfg /root/ks.cfg
编辑ks.cfg  installation部分由
# Use CDROM installation media
cdrom
修改为
# Use CDROM installation media
#cdrom
url --url=http://192.168.56.14/cdrom

2.2 安装httpd服务包
yum install httpd -y

systemctl start httpd.service
systemctl enable httpd.service

ln -s /root/ks.cfg /var/www/html/ks.cfg
ln -s /mnt/cdrom /var/www/html/cdrom

测试是否发布成功
curl /root/anaconda-ks.cfg /root/ks.cfg

附1
本文使用的ks.cfg内容
#version=DEVEL
# System authorization information
auth --enableshadow --passalgo=sha512
repo --name="Server-HighAvailability" --baseurl=file:///run/install/repo/addons/HighAvailability
repo --name="Server-ResilientStorage" --baseurl=file:///run/install/repo/addons/ResilientStorage
repo --name="Server-Mysql" --baseurl=file:///run/install/repo/addons/Mysql
# Use CDROM installation media
#cdrom
url --url=http://192.168.56.14/cdrom
# Use graphical install
graphical
# Run the Setup Agent on first boot
#firstboot --enable
firstboot --disable
ignoredisk --only-use=sda
# Keyboard layouts
keyboard --vckeymap=us --xlayouts='us'
reboot
# System language
lang en_US.UTF-8

# Network information
network  --bootproto=dhcp --device=eno16777736 --onboot=off --ipv6=auto
network  --bootproto=dhcp --device=eno33554960 --onboot=off --ipv6=auto
network  --bootproto=dhcp --device=eno50332184 --onboot=off --ipv6=auto
network  --bootproto=dhcp --device=eno67109408 --onboot=off --ipv6=auto
network  --hostname=localhost.localdomain

# Root password
rootpw --iscrypted $6$HRay0x3FtyDeuJAp$FlglnmnqJVL.Q0o/L574ZXEAanEtcfbak15.yUMFxHmVZxAYA9bglWMMI/YdLDnSYIxUS5HzF8BrVQqcP9n8h/
# System timezone
timezone America/New_York --isUtc
# System bootloader configuration
bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda
autopart --type=lvm
# Partition clearing information
clearpart --all --initlabel --drives=sda
#clearpart --none --initlabel --drives=sda

%packages
@^minimal
@core
kexec-tools

%end

%addon com_redhat_kdump --enable --reserve-mb='auto'

%end

附2
本地光盘yum源
[root@localhost html]# cat /etc/yum.repos.d/public-yum-ol7.repo 
[rhel_7_iso]
name=local iso
baseurl=file:///mnt/cdrom/
enable=1
gpgcheck=0

附3
Kickstart为root自定义密码
kickstart之中root的密码可以使用明文,也可以使用加密过的值。
使用明文密码的方式: 
rootpw --plaintext redhat
使用加密的方式:
rootpw --iscrypted $6$HRay0x3FtyDeuJAp$FlglnmnqJVL.Q0o/L574ZXEAanEtcfbak15.yUMFxHmVZxAYA9bglWMMI/YdLDnSYIxUS5HzF8BrVQqcP9n8h/

与linux系统的密码shadow一样,生成方法如下:
perl -e 'print crypt ("jeffery",q($1$VSmile07)),"\n"'

# 其中Jeffery 是为要给用户设置的密码,$1$VSmile07字符串是自定义字符串,shadow里一般用$1$后面跟8个字符这种格式。
生成的密码串样式如下:
$1$VSmile07$KXKn1fJznUJeTRLQx7duB/


中间有个$,前面算salt,后面的加密值,合在一起叫hash
crypt 本身默认用des算法
如果salt以$1$开头就使用md5算法

des算法命令如下:
perl -e 'print crypt ("jeffery","/g"),"\n"'
生成的密码串样式如下:
/gtivxtepbAM6

综上,如果你想设置自定义密码为"jefferypass-007"
则这样可以得到:
perl -e 'print crypt("jefferypass-007",q($1$BYJeffery)),"\n"'
你的密码为: $1$BYJeffer$lwi40dGdfhoenhqrSxwNG/
这里的$1$BYJeffer 是自定义字符串。

参考文档
http://blog.51cto.com/oceanszf/1536842

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/11780477/viewspace-2147625/,如需转载,请注明出处,否则将追究法律责任。

上一篇: Cloudera CDH简介
请登录后发表评论 登录
全部评论

注册时间:2009-06-12

  • 博文量
    195
  • 访问量
    598614