- 從網絡引導系統的做法可以不必從硬盤、軟盤或者CD-ROM光盤,而是完全通過網絡來引導一臺計算機。這對於安裝來說很方便,因爲它意味着你可以坐在桌子旁邊,不必走到機器那裏插入CD-ROM光盤或者軟盤,就可以從網絡上引導位於別處的一臺機器。
- pxe 預啓動安裝環境 是由inter公司開發的 可以讓計算機通過網絡來啓動操作系統(支持pxe技術)爲了啓動引導系統 從而啓動整個操作系統,主要用於無人值守安裝過程中引導客戶機安裝操作系統,爲了啓動引導系統, 從而啓動整個操作系統
- kickstart (ks)無人值守安裝的一種方式
工作原理:
- 就是預先將原來運維人員需要手動填寫的參數,保存成一個文件(ks.cfg),在安裝過程中自動執行裏面的步驟
需要的服務如下:
- DHCP: 分配ip 讓客戶端(要安裝操作系統的主機) 讓兩臺主機能夠連通,
- 客戶端:客戶端發送請求 服務端分配IP,ROM自啓動芯片 本地是否有iso 如果沒有 則通過網絡安裝
- TFTP:是簡單文件的傳輸協議,則端口號是69端口,它負責傳輸小文件 udp傳輸 不需要經過任何的驗證 可以直接進行傳輸 主要用來傳輸引導文件
- FTP:用來傳輸完整的操作系統 通過目錄共享的方式來傳遞,
進行無人值守安裝部署
- 服務分配主機如下:
服務 | IP |
---|---|
總服務器 | 192.168.20.10 |
- 進行安裝
1、安裝DHCP服務、
[root@lpj1 ~]# yum -y install dhcp
[root@lpj1 ~]# cd /etc/dhcp/
[root@localhost dhcp]# vim dhcpd.conf
subnet 192.168.20.0 netmask 255.255.255.0 { #聲明一個網段
range 192.168.20.50 192.168.20.100; #地址池
next-server 192.168.20.20; #tftp服務器的ip
filename "pxelinux.0"; #引導文件的第一個文件名稱 (isolinux.bin)
}
pxelinux.0是通過pxe來啓動引導文件 isolinux.bin是通過鏡像來啓動引導文件的
啓動服務:
[root@lpj1 dhcp]# systemctl start dhcpd
2、安裝tftp服務和引導文件
[root@lpj1 ~]# yum -y install tftp-server xinetd
#xinetd是tftp的管理程序
[root@lpj1 ~]# vim /etc/xinetd.d/tftp
14 disable = yes ##改爲no
14 disable = no
[root@lpj1 ~]# yum -y install syslinux ##裏面有引導文件
把需要的引導文件 放到tftp的傳輸目錄下
[root@lpj1 ~]# cd /var/lib/tftpboot/
[root@lpj1 tftpboot]# cp /usr/share/syslinux/pxelinux.0 ./
[root@lpj1 tftpboot]# mount /dev/sr0 /media/
mount: /dev/sr0 寫保護,將以只讀方式掛載
[roo@lpj1 tftpboot]# cp /media/images/pxeboot/vmlinuz ./ #虛擬的內核
[root@lpj2 tftpboot]# cp /media/images/pxeboot/initrd.img ./ #虛擬的根文件系統
[roo@lpj1 tftpboot]# cp /media/isolinux/vesamenu.c32 ./ #菜單
[root@lpj1 tftpboot]# cp /media/isolinux/splash.png ./ #背景圖片
[root@lpj1 tftpboot]# cp /media/isolinux/boot.* ./ #提示信息
[roo@lpj1 tftpboot]# mkdir pxelinux.cfg #創建引導程序的配置文件的目錄
[root@lpj1 tftpboot]# cp /media/isolinux/isolinux.cfg pxelinux.cfg/default #引導程序默認的配置文件
因爲要讓程序自動安裝 所以要選擇默認的安裝配置 只能創建一個目錄 讓其加載default的配置文件
[root@lpj2 tftpboot]# vim pxelinux.cfg/default
1 default vesamenu.c32 改爲default linux #把菜單選擇成默認安裝linux的選項
64 append initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 quiet
改爲:append initrd=initrd.img inst.stage2=ftp://192.168.20.30/centos ks=ftp://192.168.20.30/centos/ks.cfg quiet #指定ftp服務器的地址和kickstart配置文件的地址
啓動服務
[root@lpj1 tftpboot]# systemctl start xinetd
[root@lpj1 tftpboot]# systemctl start tftp
3、安裝ftp
[root@lpj3 ~]# yum -y install vsftpd
[root@lpj1 tftpboot]# cd /var/ftp
[root@lpj1 ftp]# mkdir centos
[root@lpj1 ftp]# cp -r /media/* ./ #把整個鏡像文件 複製到共享目錄下 有可能會出現空間分配不足的問題 新添加一塊硬盤 重啓虛擬機 將添加的硬盤分成一個分區 掛載到 /var/ftp就可以了
1.複製本身主機上面的文件
2.可以通過圖形化界面來生成
1.直接複製
[root@lpj1 centos]# cp /root/anaconda-ks.cfg ./ks.cfg #複製本機的kickstart文件
[root@localhost centos]# chmod +r ks.cfg
[root@lpj1 centos]# vim ks.cfg
5 url --url=ftp://192.168.2.10/centos #從ftp中獲取完整的操作系統
25 timezone Asia/Shanghai --isUtc #時間同步
最後一行進行添加添加:
68 reboot #重啓
69 eula --agreed #自動同意協議文件
啓動服務
[root@localhost centos]# systemctl start vsftpd
驗證:
客戶端:
新建一臺虛擬機 網絡適配器 兩邊必須一致 vnet5
主機內存必須是2G以上
不用指定鏡像
開啓虛擬機
出現的框 直接關掉
接着根據自己所需進行安裝
安裝完成之後
完成後掛載磁盤進行使用
2. 可以通過圖形化界面生產
前面和之前的操作一致 不過是ks.cfg是通過圖形化界面生成的
圖形化界面工具 圖形化界面生成ks.cfg的文件
使用system-config-kickstart來配置ks.cfg文件,但是在軟件包選擇這裏,卻顯示"由於下載軟件包信息失敗,軟件包選擇被禁止"
重新修改yum名字
[root@lpJ10 pengjie]# cd /etc/yum.repos.d/
[root@lpJ10 yum.repos.d]# mkdir yincang
[root@lpJ10 yum.repos.d]# mv C* yincang/
[root@lpJ10 yum.repos.d]# ls
yincang
[root@lpJ10 yum.repos.d]# vim a.repo
[root@lpJ10 yum.repos.d]# ls
a.repo yincang
[root@lpJ10 yum.repos.d]# cat a.repo
[a]
name=a
baseurl=file:///cdrom
enabled=1
gpgcheck=0
[root@lpJ10 yum.repos.d]# mv a.repo development.repo
[root@lpJ10 yum.repos.d]# vim development.repo
[root@lpJ10 yum.repos.d]# ls
development.repo yincang
[root@lpJ10 yum.repos.d]# cat development.repo
[development]
name=a
baseurl=file:///cdrom
enabled=1
gpgcheck=0
[root@lpJ10 ~]# yum -y install system-config-kickstart
開始進行配置
[root@lpJ10 ~]# system-config-kickstart
基礎配置
在這裏插入圖片描述
安裝方法
引導程序需要pxe的引導文件
重新制定分區
也可以保留現在的分區
添加分區
添加/boot
添加/
防火牆
安裝的圖形界面
保存 可以出現路徑 選擇文件系統 —找到 var --找到ftp—找到centos–保存的名字 ks.cfg
root@lpJ10 ~]# cd /var/ftp/centos
[root@lpJ10 centos]# vim ks.cfg
[root@lpJ10 centos]# cat ks.cfg
%packages
@gnome-desktop
@x11
initial-setup
initial-setup-gui
%end
user --name=test --password=123.com #創建普通用戶
eula --agreed #同意協議
完事後重啓服務 之後的操作就一致了