實現自動安裝 centos 6 和 centos 7
實現自動安裝 Linux 系統需要在虛擬機上安裝三個服務:apache 、tftp、dhcp
三個服務放在一台虛擬機上即可
一、DHCP 服務器的相關配置
一台干凈的機器安裝操作系統,需要基於廣播機制向 DHCP 服務器獲取 IP 地址,所以新的機器的網段需要和 DHCP 服務器在同一個網段;
1、yum install dhcp -y
安裝 DHCP 服務
2、rpm -ql dhcp
列出包里面的列表
用划紅線的文件當做配置文件的模板,覆蓋當前的 dhcp 的配置文件
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
3、vim /etc/dhcp/dhcpd.conf
修改配置文件
1 表示 DHCP 服務器分配的 IP 地址范圍
2 表示網關
3 表示 DNS
4 表示域名
5 表示 TFTP 服務器的 IP 地址
6 表示去 TFTP 服務器需要下載的文件
安裝操作系統的時候,需要向 DHCP 獲取 IP,同時獲取的還有 TFTP 服務器的地址和需要去 TFTP 服務器下載的文件;因為系統不知道需要去 TFTP 服務器下載什么,所以指定需要下載的文件
4、systemctl restart dhcpd
重啟服務
二、 HTTP 服務器相關配置
1、yum install httpd -y
安裝 HTTP 服務
2、cd /var/www/html
3、mkdir centos/{6,7}/os/x86_64 -pv
創建需要掛載光盤的相關目錄
4、虛擬機上准備兩個光驅
5、vim /etc/fstab
添加兩個掛載點
6、mount -a
掛載生效
7、mkdir ksdir
創建存放 centos 6 和 centos 7 應答文件的目錄
8、vim ksdir/ks6_desktop.cfg
編輯 centos 6 的應答文件
9、vim ksdir/ks7_mini.cfg
編輯 centos 7 的應答文件,可以加一些自己想設置的一些安裝后腳本
10、systemctl start httpd
啟動 http 服務
三、TFTP 服務器的相關配置
1、yum install tftp-server -y
安裝 TFTP 服務
2、 cd /var/lib/tftpboot
3、mkdir centos{6,7}
創建存放 centos 6 和 centos 7 內核和 initrd 的目錄
4、mkdir pxelinux.cfg
創建存放安裝菜單的目錄
目錄名字必須是 pxelinux.cfg,安裝的時候,會自動到 /var/lib/tftpboot/pxelinux.cfg 目錄下找菜單文件;並且菜單文件名必須是 default
5、cp /var/www/html/centos/7/os/x86_64/isolinux/isolinux.cfg pxelinux.cfg/default
復制一份菜單並且改名字叫 default
6、vim pxelinux.cfg/default
修改菜單
7、yum search pxelinux
安裝畫紅圈的包
yum install syslinux -y
pxelinux 相當於 bootloader ,linux 里表現為 grub ;安裝的時候,從 DHCP 服務器獲取到 IP 地址后,並且也獲取到了 TFTP 服務器的地址和需要下載的 pxelinux.0 文件名;下載 pxeliunx (grub)之后,才可以加載內核,加載小型的 linux 系統,從而掛載操作系統根,然后才能運行安裝向導,從而進行安裝
找到 grub 后,系統會自動在 TFTP 目錄下(/var/lib/tftpboot)尋找安裝菜單里面所指定的路徑去下載內核和 initrd
8、rpm -ql syslinux | grep menu.c32
這個就是安裝菜單文件里面指定的安裝菜單的背景圖片
9、cp /usr/share/syslinux/menu.c32 ./
把圖片拷貝過來
10、拷貝 centos 6 和 centos 7 的內核和 initrd
cp /var/www/html/centos/7/os/x86_64/isolinux/{vmlinuz,initrd.img} centos7/
cp /var/www/html/centos/6/os/x86_64/isolinux/{vmlinuz,initrd.img} centos6/
11、rpm -ql syslinux | grep pxelinux.0
12、cp /usr/share/syslinux/pxelinux.0 ./
把 bootloader 拷貝過來
13、systemctl start tftp
啟動 TFTP 服務
准備一台新的虛擬機,新虛擬機的網段必須和 DHCP 服務器在同一個網段
最好自己自定義一個網段,虛擬機自帶 DHCP 服務,所以分配 IP 有可能是 虛擬機分配的,為了可以看出 DHCP 服務器的效果,所以主機自定義一個網段
新建的虛擬機也必須是 VMnet10 網段才行,不然無法從 DHCP 服務器獲取 IP 地址
因為是干凈的系統,所以無法使用硬盤引導,會自動使用網絡安裝
選擇想要安裝的 centos 版本