溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

PXE+kickstart如何安裝RHEL7操作系統(tǒng)

發(fā)布時(shí)間:2021-12-04 10:30:09 來源:億速云 閱讀:246 作者:小新 欄目:建站服務(wù)器

小編給大家分享一下PXE+kickstart如何安裝RHEL7操作系統(tǒng),相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

PXE(preboot execute environment,預(yù)啟動(dòng)執(zhí)行環(huán)境)是由Intel公司開發(fā)的最新技術(shù),工作于Client/Server的網(wǎng)絡(luò)模式,支持工作站通過網(wǎng)絡(luò)從遠(yuǎn)端服務(wù)器下載映像,并由此支持通過網(wǎng)絡(luò)啟動(dòng)操作系統(tǒng),在啟動(dòng)過程中,終端要求服務(wù)器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)協(xié)議下載一個(gè)啟動(dòng)軟件包到本機(jī)內(nèi)存中執(zhí)行,由這個(gè)啟動(dòng)軟件包完成終端基本軟件設(shè)置,從而引導(dǎo)預(yù)先安裝在服務(wù)器中的終端操作系統(tǒng)。PXE可以引導(dǎo)多種操作系統(tǒng),如:Windows95/98/2000/windows2003/windows2008/win7/win8,linux等。
kickstart是紅帽提供的自動(dòng)安裝系統(tǒng)功能,紅帽系統(tǒng)安裝程序Anaconda需要知道如何安裝系統(tǒng),如磁盤如何分區(qū),如何配置網(wǎng)絡(luò)接口,如何選擇要安裝的軟件包等,這是一個(gè)交互過程。而kickstart提供的文本文件中有Anaconda系統(tǒng)安裝程序運(yùn)行時(shí)所需要知道的所有答案,因此省去了安裝系統(tǒng)時(shí)的交互。
pxe + kickstart組合可以實(shí)現(xiàn)完全無人值守安裝系統(tǒng),客戶端加電由NIC啟動(dòng)后,從dhcpd服務(wù)器(dhcpd服務(wù)配置文件/etc/dhcpd/dhcpd.conf中相關(guān)三項(xiàng)配置)獲取
IP,
引導(dǎo)文件pxelinux.0(默認(rèn)引導(dǎo)文件名pxelinux.0默認(rèn)在tftp根目錄/var/lib/tftpboot/下尋找,pxelinux.0文件在syslinux安裝包中,安裝syslinux后pxelinux.0生成在/usr/share/syslinux/目錄下),
tftp地址。
客戶端獲取三項(xiàng)相關(guān)信息后,通過TFTP地址(默認(rèn)tftp引導(dǎo)配置文件/var/lib/tftpboot/pxelinux.cfg/default)下載vmlinuz(微系統(tǒng)內(nèi)核基本進(jìn)程文件)和initrd.img(驅(qū)動(dòng)文件),引導(dǎo)紅帽安裝程序Anaconda啟動(dòng),Anaconda讀取kickstart響應(yīng)文件中設(shè)置安裝系統(tǒng)時(shí)的基本設(shè)置信息及安裝系統(tǒng)時(shí)需要尋找的安裝包發(fā)布服務(wù)器地址(nfs,httpd,ftp,cdrom),完成無人值守安裝操作系統(tǒng)。

本文將運(yùn)行pxe + kickstart服務(wù)的機(jī)器定義為服務(wù)端,要安裝操作系統(tǒng)的機(jī)器定義為客戶端。詳細(xì)步驟如下:
1. PXE服務(wù)配置
PXE服務(wù)由DHCPD服務(wù)器與TFTP服務(wù)器組成,dpchd服務(wù)與tftp服務(wù)可運(yùn)行在一臺(tái)或拆分兩臺(tái)服務(wù)器運(yùn)行。

1.1 DHCPD 服務(wù)

為客戶端提供必要的網(wǎng)絡(luò)信息,如IP、netmask、gateway、dns等,并向客戶端提供引導(dǎo)文件(pxelinux.0)的位置及TFTP服務(wù)器地址等。本文服務(wù)器IP為192.168.56.14/24
1.1.1 安裝dhcp服務(wù)包
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 服務(wù)端IP網(wǎng)段及掩碼
# range 192.168.56.15 192.168.56.20; dhcp分發(fā)的地址范圍
# default-lease-time 600;max-lease-time 7200; IP地址租約時(shí)間。
# filename "pxelinux.0"; 指定引導(dǎo)文件位置,這里是TFTP根目錄下的pxelinux.0
#  next-server 192.168.56.14; TFTP服務(wù)器地址。


1.2 TFTP 服務(wù)器

主要為客戶端提供引導(dǎo)文件pxelinux.0,vmlinuz(微系統(tǒng)內(nèi)核基本進(jìn)程文件)和initrd.img(驅(qū)動(dòng)文件)。

1.2.1 安裝tftp-server服務(wù)包
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 導(dǎo)入pxelinux.0引導(dǎo)文件
yum install -y syslinux
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

1.2.3 導(dǎo)入tftp引導(dǎo)配置文件,可參考光盤文件isolinux.cfg修改,本文RHEL7.2系統(tǒng)安裝光盤掛載位置/mnt/cdrom
cp /mnt/cdrom/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

編輯tftp引導(dǎo)配置文件/var/lib/tftpboot/pxelinux.cfg/default,本文kickstart響應(yīng)文件使用httpd方式發(fā)布,如下
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 導(dǎo)入vmlinuz(微系統(tǒng)內(nèi)核基本進(jìn)程文件)和initrd.img(驅(qū)動(dòng)文件)到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配置,本文系統(tǒng)安裝光盤安裝包使用httpd方式發(fā)布
2.1 利用采用光盤安裝系統(tǒng)的服務(wù)器現(xiàn)有/root/anaconda-ks.cfg響應(yīng)文件
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服務(wù)包
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

測(cè)試是否發(fā)布成功
curl /root/anaconda-ks.cfg /root/ks.cfg

附1
本文使用的ks.cfg內(nèi)容
#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系統(tǒng)的密碼shadow一樣,生成方法如下:
perl -e 'print crypt ("jeffery",q($1$VSmile07)),"\n"'

# 其中Jeffery 是為要給用戶設(shè)置的密碼,$1$VSmile07字符串是自定義字符串,shadow里一般用$1$后面跟8個(gè)字符這種格式。
生成的密碼串樣式如下:
$1$VSmile07$KXKn1fJznUJeTRLQx7duB/


中間有個(gè)$,前面算salt,后面的加密值,合在一起叫hash
crypt 本身默認(rèn)用des算法
如果salt以$1$開頭就使用md5算法

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

綜上,如果你想設(shè)置自定義密碼為"jefferypass-007"
則這樣可以得到:
perl -e 'print crypt("jefferypass-007",q($1$BYJeffery)),"\n"'
你的密碼為: $1$BYJeffer$lwi40dGdfhoenhqrSxwNG/
這里的$1$BYJeffer 是自定義字符串。

以上是“PXE+kickstart如何安裝RHEL7操作系統(tǒng)”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI