使用 kickstart 半自动化安装CentOS系统 利用PXE实现自动化安装centos系统
生活随笔
收集整理的這篇文章主要介紹了
使用 kickstart 半自动化安装CentOS系统 利用PXE实现自动化安装centos系统
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
使用 kickstart 半自動化安裝CentOS7系統
1、創建kickstart文件
創建kickstart文件的方式
- 可使用創建工具:system-config-kickstart ,注意:此方法 CentOS 8 不再支持
- 依據某模板修改并生成新配置,CentOS安裝完后,會自動參考當前系統的安裝過程,生成一個kickstart文件 /root/anaconda-ks.cfg
使用system-config-kickstart生成kickstart配置文件
? —(centos8保護支持,可在centos7生成,經過修改給centos8使用)
- 創建yum倉庫
- 安裝system-config-kickstart工具
- 此工具是一個圖形化工具,在Windows運行一個Xmanager程序
- 依次配置上圖中左側菜單:
上圖中http://10.0.0.104/centos/7/os/x86_64為自建的yum倉庫
出現上圖不顯示可選的包信息,需要修改yum倉庫配置文件:
[root@centos7 ~]#vim /etc/yum.repos.d/***.repo [development] #把原來"[]"內的內容改成development,其它不變安裝前腳本,可不寫
安裝后腳本,可以寫入希望執行操作,例如配置yum源
- 保存并命名為ks7.cfg
- 查看生成的kickstart文件ks7.cfg
將kickstart文件拷貝到10.0.0.104 http服務器
[root@centos7 ~]#scp ks7.cfg 10.0.0.104:/var/www/html/kickstart/ root@10.0.0.104's password: ks7.cfg 100% 1722 784.2KB/s 00:00- 找一個新機器,利用光盤和自定義kick start文件啟動
輸入linux ks=http://10.0.0.104/kickstart/ks7.cfg ip=dhcp
Enter之后即可開始安裝(ks后的地址為存放kick start文件的地址)
制作光盤并結合kickstart實現基于光盤啟動的半自動化安裝引導
- 創建一個文件夾,將光盤里的相關啟動文件拷貝到此文件夾中
- 修改isolinux.cfg文件,設置啟動菜單
-
利用mkisofs創建光盤文件
[root@centos7 isolinux]#mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "CentOS 7.8 x86_64 boot" -b isolinux/isolinux.bin -c isolinux/boot.cat -o /root/boot.iso /data/iso/會生成一個/root/boot.iso光盤文件, 就可以利用這個關盤文件啟動系統,或是刻錄光盤
centos7上實現pxe安裝系統centos6、centos7、centos8
1、安裝前準備
- 關閉防火墻和SELINUX,DHCP服務器靜態IP
- 網絡要求:關閉Vmware軟件中的DHCP服務,基于NAT模式或者僅主機模式
2、安裝相關軟件包并啟動
[root@centos7 ~]#yum -y install httpd tftp-server dhcp syslinux system-config-kickstart[root@centos7 ~]#systemctl enable --now httpd tftp dhcpd由于dhcp還沒有配置,此時還無法立即啟動3、配置DHCP服務并啟動DHCP服務
一般在/usr/share/doc/dhcp* 目錄下會有一個dhcpd.conf.example的文件范例,可根據此文件編輯/etc/dhcp/dhcd.conf[root@centos7 ~]#cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf[root@centos7 ~]#vim /etc/dhcp/dhcpd.conf # option definitions common to all supported networks... option domain-name "magedu.org"; option domain-name-servers 180.76.76.76, 223.5.5.5 ;default-lease-time 86400; max-lease-time 172800;log-facility local7;# No service will be given on this subnet, but declaring it helps the # DHCP server to understand the network topology.subnet 10.0.0.0 netmask 255.255.255.0 {range 10.0.0.1 10.0.0.100;range 10.0.0.150 10.0.0.254;option routers 10.0.0.2;next-server 10.0.0.104;filename "pxelinux.0";}[root@centos7 ~]#systemctl enable --now dhcpd4、創建yum源
[root@centos7 ~]#mkdir -p /var/www/html/centos/{6,7,8}/os/x86_64/ [root@centos7 ~]#cd /var/www/html [root@centos7 html]#tree -L 4 . └── centos├── 6│ └── os│ └── x86_64├── 7│ └── os│ └── x86_64└── 8└── os└── x86_6410 directories, 0 files[root@centos8 ~]#mount /dev/sr0 /var/www/html/centos/7/os/x86_64/ [root@centos8 ~]#mount /dev/sr1 /var/www/html/centos/6/os/x86_64/ [root@centos8 ~]#mount /dev/sr2 /var/www/html/centos/8/os/x86_64/yum源配置好了之后最好能夠在瀏覽器中測試一下,是否能夠訪問5、準備kickstart文件
[root@centos7 ~]#cd /var/www/html [root@centos7 html]#mkdir kickstart- centos6 的kickstart文件
- cnetos7 的kickstart 文件
- centos8的kickstart文件
6、準備pxe啟動相關文件
[root@centos7 ~]#cd /var/lib/tftpboot/ [root@centos7 tftpboot]#mkdir centos{6..8} [root@centos7 tftpboot]#tree . ├── centos6 ├── centos7 └── centos83 directories, 0 files準備CentOS6,7,8各自的內核相關文件 [root@centos7 tftpboot]#cp /var/www/html/centos/6/os/x86_64/isolinux/{vmlinuz,initrd.img} centos6 [root@centos7 tftpboot]#cp /var/www/html/centos/7/os/x86_64/isolinux/{vmlinuz,initrd.img} centos7 [root@centos7 tftpboot]#cp /var/www/html/centos/8/os/x86_64/isolinux/{vmlinuz,initrd.img} centos8[root@centos7 tftpboot]#cp /usr/share/syslinux/{pxelinux.0,menu.c32} ./以下三個文件是CentOS8安裝所必須文件,CentOS6,7則不需要 [root@centos7 tftpboot]#cp /var/www/html/centos/8/os/x86_64/isolinux/{ldlinux.c32,libcom32.c32,libutil.c32} /var/lib/tftpboot/ [root@centos7 tftpboot]#tree . ├── centos6 │ ├── initrd.img │ └── vmlinuz ├── centos7 │ ├── initrd.img │ └── vmlinuz ├── centos8 │ ├── initrd.img │ └── vmlinuz ├── ldlinux.c32 ├── libcom32.c32 ├── libutil.c32 ├── menu.c32 └── pxelinux.03 directories, 11 files生成菜單文件default[root@centos7 tftpboot]#mkdir pxelinux.cfg [root@centos7 tftpboot]#cp /var/www/html/centos/8/os/x86_64/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default [root@centos7 tftpboot]#tree . ├── centos6 │ ├── initrd.img │ └── vmlinuz ├── centos7 │ ├── initrd.img │ └── vmlinuz ├── centos8 │ ├── initrd.img │ └── vmlinuz ├── ldlinux.c32 ├── libcom32.c32 ├── libutil.c32 ├── menu.c32 ├── pxelinux.0 └── pxelinux.cfg└── default4 directories, 12 files7、準備啟動菜單
[root@centos7 tftpboot]#vim pxelinux.cfg/default [root@centos7 tftpboot]#cat pxelinux.cfg/default default menu.c32 timeout 60label linuxmenu label Auto Install CentOS Linux ^8kernel centos8/vmlinuzappend initrd=centos8/initrd.img ks=http://10.0.0.104/kickstart/centos8.cfg quietlabel linuxmenu label Auto Install CentOS Linux ^7kernel centos7/vmlinuz append initrd=centos7/initrd.img ks=http://10.0.0.104/kickstart/centos7.cfg quietlabel linuxmenu label Auto Install CentOS Linux ^6kernel centos6/vmlinuz append initrd=centos6/initrd.img ks=http://10.0.0.104/kickstart/centos6.cfg quietlabel rescuemenu label ^Rescue a CentOS Linux system 8kernel centos8/vmlinuzappend initrd=centos8/initrd.img inst.repo=http://10.0.0.104/centos/8/os/x86_64 rescue quietlabel rescuemenu label Rescue ^a CentOS Linux system 7kernel centos7/vmlinuzappend initrd=centos7/initrd.img inst.repo=http://10.0.0.104/centos/7/os/x86_64 rescue quietlabel rescuemenu label ^Rescue a ^CentOS Linux system 6kernel centos6/vmlinuzappend initrd=centos6/initrd.img inst.repo=http://10.0.0.104/centos/6/os/x86_64 rescue quietlabel localmenu defaultmenu label Boot from ^local drivelocalboot 0xffff8、測試客戶端基于PXE實現自動安裝
新準備一臺主機,設置網卡引導,可看到看啟動菜單,并實現自動安裝
注意:VMware workstation 對于不同的CentOS 版本,生成的虛擬機的硬件并不兼容
總結
以上是生活随笔為你收集整理的使用 kickstart 半自动化安装CentOS系统 利用PXE实现自动化安装centos系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: untiy 重置动画
- 下一篇: Windows下搭建局域网内简易git服