PXE之Centos系統安裝

PXE

PXE介紹
Preboot Excution Environment 預啟動執行環境
Intel 公司研發
基于Client/Server的網絡模式,支持遠程主機通過網絡從遠端服務器下載映像,并由此支持通過網絡啟動操作系統
PXE可以引導和安裝Windows,linux等多種操作系統
PXE工作原理
PXE之Centos系統安裝
Client向PXE Server上的DHCP發送IP地址請求消息,DHCP檢測Client是否合法(主要是檢測Client的網卡MAC地址),如果合法則返回Client的IP地址,同時將啟動文件pxelinux.0的位置信息一并傳送給Client
Client向PXE Server上的TFTP發送獲取pxelinux.0請求消息,TFTP接收到消息之后再向Client發送pxelinux.0大小信息,試探Client是否滿意,當TFTP收到Client發回的同意大小信息之后,正式向Client發送pxelinux.0
Client執行接收到的pxelinux.0文件
Client向TFTP Server發送針對本機的配置信息文件(在TFTP 服務的pxelinux.cfg目錄下),TFTP將配置文件發回Client,繼而Client根據配置文件執行后續操作。
Client向TFTP發送Linux內核請求信息,TFTP接收到消息之后將內核文件發送給Client
Client向TFTP發送根文件請求信息,TFTP接收到消息之后返回Linux根文件系統
Client啟動Linux內核
Client下載安裝源文件,讀取自動化安裝腳本
PXE自動化安裝CentOS 7
1.關閉防火墻和SElinux
# systemctl stop firewalld.service
# setenforce 0
SELinux 配置文件:
vim /etc/sysconfig/selinux
SELINUX=disabled
2.安裝程序包(tftp-server,http,dhcp,syslinux),啟動服務并設置為開機自啟動
# yum install dhcp tftp-server syslinux http
# systemctl enable dhcpd tftp httpd
# systemctl start httpd tftp.socket
# rpm -ql dhcp 查看配置文件: /etc/dhcp/dhcpd.conf
# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
# vim /etc/dhcp/dhcpd.conf
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.100;
option routers 192.168.1.254; #指定網關
option domain-name-servers 223.5.5.5, 114.114.114.114; #指定域名服務器
next-server 192.168.1.5; #指定獲取系統引導文件的服務器IP(tftp)
filename “pxelinux.0”; #引導文件名稱
}
補充:dhcpd服務需要修改配置文件才可啟動
# systemctl start dhcpd
# ss -tunlp 來查看對應的服務端口是否打開(dhcpd:67(dhclient: 68) tftp:69 httpd:80)
3.創建光盤掛載點和ks文件目錄
# mkdir /var/www/html/centos/{6,7} -pv
# mkdir /var/www/html/ksdir/{6,7} -pv
# vim /etc/fstab
/dev/sr0 /var/www/html/centos/6/ iso9660 defaults 0 0 (Centos7光盤)
/dev/sr1 /var/www/html/centos/7/ iso9660 defaults 0 0 (Centos6光盤)
# mount -a
# df -h 查看是否掛載成功
# cat /var/www/html/ksdir/6/ks_centos6.cfg(chmod +r ks_centos6.cfg)
ks_centos6.cfg(Mini)
*****************************************************************************************************
# Kickstart file automatically generated by anaconda.
#version=DEVEL
install
url –url=http://192.168.1.5/centos/6
lang en_US.UTF-8
keyboard us
network –onboot yes –device eth0 –bootproto dhcp –noipv6 –nameserver 8.8.8.8 –hostname centos6.localdomain
rootpw –iscrypted $6$NjFYm33MgYv/N9I6$wqynBfE5UfImxskNKNSII0jdo/1pp8BxMrO2cwZJxfJUbheSNdvAqgOpaJegzO.SRvACIswIHsWw4FAzD92RY0
firewall –disabled
authconfig –enableshadow –passalgo=sha512
selinux –disabled
timezone Asia/Shanghai
bootloader –location=mbr –driveorder=sda –append=”crashkernel=auto rhgb quiet”
# The following is the partition information you requested
# Note that any partitions you deleted are not expressed
# here so unless you clear all partitions first, this is
# not guaranteed to work
zerombr
clearpart –all
part /boot –fstype=ext4 –size=500
part / –fstype=ext4 –size=20000
part /data –fstype=ext4 –size=20000
part swap –size=2048
reboot
%packages
@core
@server-policy
@workstation-policy
%end
******************************************************************************************************
# cat /var/www/html/ksdir/7/ks_centos7.cfg(chmod +r ks_centos7.cfg)
ks_centos7.cfg(Mini)
******************************************************************************************************
#version=DEVEL
# System authorization information
auth –enableshadow –passalgo=sha512
# Use CDROM installation media
url –url=http://192.168.1.5:/centos/7
# Use graphical install
text
# Run the Setup Agent on first boot
firstboot –enable
ignoredisk –only-use=sda
# Keyboard layouts
keyboard –vckeymap=us –xlayouts=’us’
# System language
lang en_US.UTF-8
selinux –disabled
firewall –disabled
# Network information
network –bootproto=dhcp –device=ens33 –onboot=on –ipv6=auto –activate
network –hostname=centos7.localdomain
# Root password
rootpw –iscrypted $6$gBxf9D1qFAeD4TiK$rAZGNzOE3TFWE7x.dPk6zmwGT4QzGko9QdIK4cofzhTvAIAeqxcJYCL7d8JAHWQYkUQ57R/iiJoTIXHugOZYy0
# System services
services –disabled=”chronyd”
# System timezone
timezone Asia/Shanghai –isUtc –nontp
# System bootloader configuration
bootloader –append=” crashkernel=auto” –location=mbr –boot-drive=sda
autopart –type=lvm
# Partition clearing information
zerombr
clearpart –all
reboot
%packages
@^minimal
@core
kexec-tools
%end
%addon com_redhat_kdump –enable –reserve-mb=’auto’
%end
%anaconda
pwpolicy root –minlen=6 –minquality=1 –notstrict –nochanges –notempty
pwpolicy user –minlen=6 –minquality=1 –notstrict –nochanges –emptyok
pwpolicy luks –minlen=6 –minquality=1 –notstrict –nochanges –notempty
%end
******************************************************************************************************
4.tftp服務器分別創建centos6和centos7文件夾,并復制系統引導文件至tftp服務器
# mkdir /var/lib/tftpboot/centos{6,7}
# cp /var/www/html/centos/7/isolinux/{initrd.img,vmlinuz} /var/lib/tftpboot/centos7
# cp /var/www/html/centos/6/isolinux/{initrd.img,vmlinuz} /var/lib/tftpboot/centos6
5.創建pxelinux.cfg文件夾,復制syslinux 軟件包中的pxelinux.0 引導文件和菜單背景圖片
# mkdir /var/lib/tftpboot/pxelinux.cfg
# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
# cp /usr/share/syslinux/menu.c32 /var/lib/tftpboot/
# cp /var/www/html/centos/6/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
# cat /var/lib/tftpboot/pxelinux.cfg/default
*************************************************************************************
default menu.c32
#prompt 1
timeout 600
menu title Welcome to Install CentOS System!
label Centos6_mini
menu label ^Install Centos ^6 Mini System
kernel centos6/vmlinuz 注意此處與下處的路徑(相對于pxelinux.cfg文件夾所在的路徑)
append initrd=centos6/initrd.img ks=http://192.168.1.5/ksdir/6/ks_centos6.cfg
label Centos7_mini
menu label Install Centos ^7 Mini System
kernel centos7/vmlinuz
append initrd=centos7/initrd.img ks=http://192.168.1.5/ksdir/7/ks_centos7.cfg
label local
menu label Boot from ^local drive
localboot 0xffff
menu end
**************************************************************************************
6.創建新的虛擬機并通過網卡來引導系統

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/99599

(0)
滌生滌生
上一篇 2018-05-27 16:52
下一篇 2018-05-27 18:48

相關推薦

  • 數組,字符串切片,高級變量

    數組 變量:存儲單個元素的內存空間 數組:存儲多個元素的連續的內存空間,相當于多個變量的集合 數組名和索引 索引:編號從0開始,屬于數值索引 注意:索引可支持使用自定義的格式,而不僅是數值格式,即為關聯索引 bash4.0版本之后開始支持 bash –version?? 查看bash版本 bash的數組支持稀疏格式(索引不連續) 聲明數組: de…

    Linux筆記 2018-05-13
  • Tomcat介紹及相關實驗(一)

    Tomcat是Apache 軟件基金會(Apache Software Foundation)的Jakarta 項目中的一個核心項目,由Apache、Sun 和其他一些公司及個人共同開發而成。因為Tomcat 技術先進、性能穩定,而且免費,因而深受Java 愛好者的喜愛并得到了部分軟件開發商的認可,成為目前比較流行的Web 應用服務器。

    2018-07-24
  • Linux-正則表達式

    REGEXP:Regular Expression 由一類特殊字符及文本字符所編寫的模式,其中有些字符(元字符)不表示字符字面意義,而表示控制或通配的功能 程序支持:grep,sed,awk,vim, less,nginx,varnish等 分兩類: 基本正則表達式:BRE 擴展正則表達式:ERE grep -E, egrep 正則表達式引擎: 采用不同算法…

    2018-04-08
  • 第一周總結

    存儲網絡: DAS—–直接連接存儲(Direct attached storage) NAS—–網絡連接存儲(Network attached storage) SAN—–存儲區域網絡(storage area network) DAS優缺點: 直接存儲(Direct Attached Storage)。存儲設備與主機的緊密相連 1.管理成…

    Linux筆記 2018-04-01
  • 文本處理工具

    本文主要介紹:1、文本查看工具 2、文本統計工具 3、文本比較工具

    2018-04-16
  • 震驚?。。≡瓉鞢entOS-7裝起來這么容易

    震驚?。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。?/p>

    2018-07-22
欧美性久久久久