Linux中的自動安裝指令碼
自動化安裝系統
kickstart 批量自動化安裝系統工具
1、編寫自動安裝虛擬化的指令碼,使在virt-manager中的選擇自動化
eg:vim virtinstall.sh #將該指令碼放在/usr/sbin/目錄下時,在任何位置都可以直接tab補全執行,而在其他目錄下時,必須進入目錄中
#!/bin/bash
virt-install \
--name $1 \ #輸入名稱自己設定
--ram 1024 \ #記憶體大小為1024
--file /var/lib/libvirt/images/$1.qcow2 \ #映象位置
--file-size 8 \ #大小
--cdrom /iso/rhel-server-7.2-x86_64-dvd.iso \ #讀取的映象位置
--vcpus 1 & #cpu的大小
2、安裝kickstart 使安裝過程中的選擇自動化
yum install system-config-kickstart -y
system-config-kickstart #執行,生成ks.cfg檔案
因為設定ks.cfg檔案時,設定的網路設定是dhcp自動獲取,所以需要安裝配置dhcp服務安裝配置dhcp服務如下:
1、安裝yum install dhcp -y
2、進行配置
1)[
/etc/dhcp/dhcpd.conf
/etc/dhcp/dhcpd6.conf
/etc/openldap/schema/dhcp.schema
/etc/sysconfig/dhcpd
/var/lib/dhcpd/dhcpd.leases
/var/lib/dhcpd/dhcpd6.leases
[[email protected] html]# cat /etc/dhcp/dhcpd.conf
DHCP Server Configuration file.
see /usr/share/doc/dhcp*/dhcpd.conf.example
see dhcpd.conf(5) man page
[[email protected] html]# cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp: overwrite ‘/etc/dhcp/dhcpd.conf’? y
[[email protected] html]# vim /etc/dhcp/dhcpd.conf
需要修改的地方以及各配置內容的意義為:
7 option domain-name “lcl.com”; #修改域名
8 option domain-name-servers 172.25.254.78; #設定安裝後的客戶端配置到的域名伺服器
10 default-lease-time 600; #預設獲取到的ip有效時間
11 max-lease-time 7200; #最大有效時間
29 subnet 172.25.254.0 netmask 255.255.255.0 {
子網 子網掩碼
30 range 172.25.254.100 172.25.254.110; #ip池,客戶端會在這一部分裡面獲取到ip
31 option routers 172.25.254.178; #閘道器
32 }
配置完成,此時關閉防火牆,開啟dhcpd伺服器
想要完成批量自動化安裝,還需要把ks.cfg檔案寫入前面的自動化安裝指令碼中
修改自動化安裝指令碼
[[email protected] mnt]# vim virtinstall.sh
1 #!/bin/bash
2 virt-install \
3 --name $1 \
4 --ram 1024 \
5 --file /var/lib/libvirt/images/$1.qcow2 \
6 --file-size 8 \
7 --network source=br0,model=virtio \
8 --location http://172.25.254.78/rhel7.2 \
9 --extra-args "ks=http://172.25.254.78/ks.cfg" \ #ks.xfg檔案的位置
10 --vcpus 1 &
此時,執行指令碼,完成自動化安裝