1. 程式人生 > >通過kickstart實現全自動安裝虛擬機器

通過kickstart實現全自動安裝虛擬機器

kickstart實現全自動安裝虛擬機器

概述:

Kickstart是一種無人值守的安裝方式。它的工作原理是在安裝過程中記錄典型的需要人工干預填寫的各種引數,並生成一個名為ks.cfg的檔案。
如果在安裝過程中(不只侷限於生成Kickstart安裝檔案的機器)出現要填寫引數的情況,安裝程式首先會去查詢Kickstart生成的檔案,
如果找到合適的引數,就採用所找到的引數;如果沒有找到合適的引數,便需要安裝者手工干預了。所以,如果Kickstart檔案涵蓋了安裝過程中
可能出現的所有需要填寫的引數,那麼安裝者完全可以只告訴安裝程式從何處取ks.cfg檔案, 然後就去忙自己的事情。等安裝完畢,
安裝程式會根據ks.cfg中的設定重啟系統,並結束安裝。全自動安裝一般用於解決批量安裝虛擬機器
實現前提:找一個與真機版本(7.2)相同的虛擬機器做此實驗,並且真機yum源和yum源的共享已經搭建完成

配置虛擬機器:

(1)檢查實驗環境

##檢視虛擬機器的版本
[[email protected] ~]# hostnamectl

在這裡插入圖片描述

##檢測虛擬機器是否可以安裝軟體
[[email protected] ~]# yum clean all

在這裡插入圖片描述

[[email protected] ~]# yum repolist

在這裡插入圖片描述
(2).安裝apache並開啟服務

[[email protected] ~]# yum install -y httpd
[ro[
[email protected]
~]# systemctl start httpd [ro[[email protected] ~]# systemctl enable httpd

(3).關閉防火牆

[[email protected] ~]# systemctl stop firewalld
[[email protected] ~]# systemctl disable firewall

(4).安裝kickstart

[[email protected] ~]# yum install -y system-config-kickstart.noarch

在這裡插入圖片描述
(5). 開啟設定問題答案介面,並設定虛擬機器的安裝資訊

[[email protected] ~]# system-config-kickstart 

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

[[email protected] ~]# cd /var/www/html
##生成了ks.cfg檔案
[[email protected] html]# ls
ks.cfg  

(6)更改時區,選擇安裝包(手動設定圖形介面無法選擇安裝虛擬機器的必要資訊)

[[email protected] html]# vim ks.cfg 
#####################
10 timezone Asia/Shanghai    #設定時區

50 %packages    #新增安裝包資訊
51 @base        #基本的系統套件;以@開頭的表示軟體組
52 lftp         #單個lftp軟體
53 %end     

在這裡插入圖片描述
在這裡插入圖片描述

##檢測語法,但不能檢測合理性
[[email protected] html]# ksvalidator ks.cfg 

測試:

在真機中輸入172.25.254.134/ks.cfg

在這裡插入圖片描述

配置真機:

(1).搭建dhcp服務;因為kickstart自動安裝虛擬機器設定的獲取ip的方式為DHCP

[[email protected] dhclient.d]# cd /etc/dhcp
[[email protected] dhcp]# ls
dhclient.d  dhcpd6.conf  dhcpd.conf
[[email protected] dhcp]# cp /usr/share/doc/dhcp*/dhcpd.conf.example dhcpd.conf
cp: overwrite ‘dhcpd.conf’? y
[[email protected] dhcp]# vim dhcpd.conf

在這裡插入圖片描述
在這裡插入圖片描述

[[email protected] dhcp]# systemctl start dhcpd

(2).編寫指令碼

[[email protected] ~]# cd /mnt
[[email protected] mnt]# vim vm_create.sh
##################### 
#!/bin/bash
virt-install \
--name $1 \          #虛擬機器名字
--ram=1024 \         #記憶體
--vcpus=1 \          #cpu個數
--disk /var/lib/libvirt/images/$1.qcow2,size=9,bus=virtio \    #硬碟資訊
--network source=br0,model=virtio \            #網路設定

--location http://172.25.254.66/source7.2 \                   ##安裝源
--extra-args "ks=http://172.25.25.134/ks.cfg" &>/dev/null &   ##kickstart自動安裝指令碼

在這裡插入圖片描述
測試:

#執行指令碼
[[email protected] mnt]# chmod +x vm_create.sh
[[email protected] mnt]# sh vm_create.sh nodes
此過程較慢需耐心等待..........

在這裡插入圖片描述
排錯:

1.如果安裝虛擬機器的黑色介面出不來,說明是指令碼寫的有問題
2.如果安裝虛擬機器的黑色介面出來了但並沒有完成安裝,說明可能是yum源指向或者是dhcp服務搭建的有問題