您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關如何進行pxe自動化安裝系統,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
pxe自動化安裝,所需要的服務有:dhcp服務器,tftp服務器,http服務器
pxe自動化安裝,所需要的包組及相關安裝文件有:syslinux以及自動化安裝系統所需的應答文件selinux
本次實驗以一臺CentOS7作為dhcp服務器,tftp服務器,以及http服務器向本網段內的主機提供自動化安裝
主機 | 系統 | IP |
---|---|---|
CentOS7 | CentOS7 | 192.168.73.120 |
[root@centos7 ~]# yum install dhcp tftp-server httpd syslinux -y
1.使用system-config-kickstart生成ks6.cfg
[root@centos7 ~]# system-config-kickstart [root@centos7 ~]# vim ks6.cfg #platform=x86, AMD64, or Intel EM64T #version=DEVEL # Firewall configuration firewall --disabled # Install OS instead of upgrade install # Use network installation url --url="http://192.168.73.120/centos/6/os/x86_64" # Root password rootpw --iscrypted $1$6oVXZR1R$QOASc6inirmHCZmQ.W9Hg0 # System authorization information auth --useshadow --passalgo=sha512 # Use text mode install text # System keyboard keyboard us # System language lang en_US # SELinux configuration selinux --disabled # Do not configure the X Window System skipx # Installation logging level logging --level=info # Reboot after installation reboot # System timezone timezone Asia/Shanghai # Network information network --bootproto=dhcp --device=eth0 --onboot=on # System bootloader configuration bootloader --location=mbr # Clear the Master Boot Record zerombr # Partition clearing information clearpart --all --initlabel # Disk partitioning information part /boot --fstype="ext4" --size=200 part / --fstype="ext4" --size=20000 part swap --fstype="swap" --size=1024 %packages @core %end
2.復制ks6.cfg為ks7.cfg,并修改部分參數
[root@centos7 ~]# cp ks6.cfg ks7.cfg [root@centos7 ~]# vim ks7.cfg #platform=x86, AMD64, or Intel EM64T #version=DEVEL # Firewall configuration firewall --disabled # Install OS instead of upgrade install # Use network installation url --url="http://192.168.73.120/centos/7/os/x86_64" #將url改為7的url # Root password rootpw --iscrypted $1$6oVXZR1R$QOASc6inirmHCZmQ.W9Hg0 # System authorization information auth --useshadow --passalgo=sha512 # Use text mode install text # System keyboard keyboard us # System language lang en_US # SELinux configuration selinux --disabled # Do not configure the X Window System skipx # Installation logging level logging --level=info # Reboot after installation reboot # System timezone timezone Asia/Shanghai # Network information network --bootproto=dhcp --device=ens33 --onboot=on #將網卡名修改為ens33 # System bootloader configuration bootloader --location=mbr # Clear the Master Boot Record zerombr # Partition clearing information clearpart --all --initlabel # Disk partitioning information part /boot --fstype="ext4" --size=200 part / --fstype="ext4" --size=20000 part swap --fstype="swap" --size=1024 %packages @core %end
1.創建http目錄
[root@centos7 ~]# mkdir -pv /var/www/html/{centos/{6,7}/os/x86_64,ksdir} mkdir: created directory ‘/var/www/html/centos’ mkdir: created directory ‘/var/www/html/centos/6’ mkdir: created directory ‘/var/www/html/centos/6/os’ mkdir: created directory ‘/var/www/html/centos/6/os/x86_64’ mkdir: created directory ‘/var/www/html/centos/7’ mkdir: created directory ‘/var/www/html/centos/7/os’ mkdir: created directory ‘/var/www/html/centos/7/os/x86_64’ mkdir: created directory ‘/var/www/html/ksdir’
2.將CentOS6及7的光盤文件掛在至相關的目錄下(工作中可以直接將光盤鏡像復制至目錄下)
[root@centos7 ~]# lsblk | grep sr sr0 11:0 1 10G 0 rom /mnt sr1 11:1 1 3.7G 0 rom [root@centos7 ~]# mount /dev/sr0 /var/www/html/centos/7/os/x86_64/ mount: /dev/sr0 is write-protected, mounting read-only [root@centos7 ~]# mount /dev/sr1 /var/www/html/centos/6/os/x86_64/ mount: /dev/sr1 is write-protected, mounting read-only [root@centos7 ~]# lsblk | grep sr sr0 11:0 1 10G 0 rom /var/www/html/centos/7/os/x86_64 sr1 11:1 1 3.7G 0 rom /var/www/html/centos/6/os/x86_64
3.將準備好的應答文件復制至目錄下
[root@centos7 ~]# cp ks6.cfg /var/www/html/ksdir [root@centos7 ~]# cp ks7.cfg /var/www/html/ksdir
4.啟動httpd服務,并設置為開機自動啟動
[root@centos7 ~]# systemctl start httpd [root@centos7 ~]# systemctl enable httpd
1.在tftp工作目錄下創建出相關的文件目錄
[root@centos7 ~]# mkdir -pv /var/lib/tftpboot/{kernel{6,7},pxelinux.cfg} mkdir: created directory ‘/var/lib/tftpboot/kernel6’ mkdir: created directory ‘/var/lib/tftpboot/kernel7’ mkdir: created directory ‘/var/lib/tftpboot/pxelinux.cfg’
2.將centos6和centos7的內核及虛擬文件系統復制至tftp工作目錄下的相對應kernel目錄中
[root@centos7 tftpboot]# cd /var/lib/tftpboot/kernel6 [root@centos7 kernel6]# cp /var/www/html/centos/6/os/x86_64/isolinux/vmlinuz . [root@centos7 kernel6]# cp /var/www/html/centos/6/os/x86_64/isolinux/initrd.img . [root@centos7 kernel6]# cd /var/lib/tftpboot/kernel7 [root@centos7 kernel7]# cp /var/www/html/centos/7/os/x86_64/isolinux/vmlinuz . [root@centos7 kernel7]# cp /var/www/html/centos/7/os/x86_64/isolinux/initrd.img .
3.復制啟動相關的文件至tftp工作目錄
[root@centos7 kernel7]# cd /var/lib/tftpboot/ [root@centos7 tftpboot]# cp /usr/share/syslinux/menu.c32 . [root@centos7 tftpboot]# cp /usr/share/syslinux/pxelinux.0 .
4.復制光盤上的菜單文件至/var/lib/tftpboot/pxelinux.cfg目錄下改名為default,修改此文件
[root@centos7 tftpboot]# cp /var/www/html/centos/7/os/x86_64/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default [root@centos7 tftpboot]# vim /var/lib/tftpboot/pxelinux.cfg/default default menu.c32 #將此行改為menu.c32 timeout 600 menu title CentOS install label linux 6 menu label Install CentOS ^6 kernel kernel6/vmlinuz #此處為centos6內核所在的路徑 append initrd=kernel6/initrd.img ks=http://192.168.73.120/ksdir/ks6.cfg #指定KS文件在網絡中的位置 label linux 7 menu label Install CentOS ^7 kernel kernel7/vmlinuz #此處為centos7內核所在的路徑 append initrd=kernel7/initrd.img ks=http://192.168.73.120/ksdir/ks7.cfg #指定KS文件在網路中的位置 label local menu label Boot from ^local drive localboot 0xffff
5.查看下目錄結構
[root@centos7 tftpboot]#tree . ├── centos6 │ ├── initrd.img │ └── vmlinuz ├── centos7 │ ├── initrd.img │ └── vmlinuz ├── menu.c32 ├── pxelinux.0 └── pxelinux.cfg └── default
6.啟動tftp服務,并設置為開機啟動
[root@centos7 ~]# systemctl start tftp [root@centos7 ~]# systemctl enable tftp
1.由于dhcpd默認的配置文件為空,此處將dhcpd的樣板配置文件復制后加以修改
[root@centos7 ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf cp: overwrite ‘/etc/dhcp/dhcpd.conf’? y
2.配置dhcp服務
[root@centos7 ~]# vim /etc/dhcp/dhcpd.conf # option definitions common to all supported networks... option domain-name "mylinuxops.com"; #指定預添加域名 option domain-name-servers 114.114.114.114; #指定DNS服務器 default-lease-time 6000; max-lease-time 72000; ...中間省略... # No service will be given on this subnet, but declaring it helps the # DHCP server to understand the network topology. #subnet 10.152.187.0 netmask 255.255.255.0 { #注釋 #} #注釋 # This is a very basic subnet declaration. subnet 192.168.73.0 netmask 255.255.255.224 { range 192.168.73.1 192.168.73.100; #指定dhcp地址池 option routers 192.168.73.254; #指定網關 filename "pxelinux.0"; #指定啟動文件 next-server 192.168.73.120; #指定tftp服務器路徑 }
3.啟動dhcp服務器,并設置為開機自動啟動
[root@centos7 ~]# systemctl start dhcpd [root@centos7 ~]# systemctl enable dhcpd Created symlink from /etc/systemd/system/multi-user.target.wants/dhcpd.service to /usr/lib/systemd/system/dhcpd.service.
1.所有服務部署完畢,進行測試之前,確保網絡中沒有其他的DHCP服務,避免產生干擾。
2.centos7在自動化安裝時需要1G以上的內存空間。
3.安裝時注意物理磁盤的大小以及ks文件中的磁盤大小 ,確保有足夠的空間進行安裝。
上述就是小編為大家分享的如何進行pxe自動化安裝系統了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。