自動安裝虛擬機
使用 kickstart, 系統管理員可以創建一個包含安裝期間所有常見問題的答案的文件,以自動安裝 Red Hat Enterprise Linux Kickstart 類似於 Oracle solaris 中的 Jumpstart 或 Microsoft Windows 的無人值守安裝。
system-config-kickstart是實現自動化安裝部署的軟件。
1.生成ks.cfg
先下載system-config-kickstart
system-config-kickstart ##調出生成ks.cfg的窗口
生成ks.cfg的步驟如下:
(1)Basic Configuration ##基礎配置
Root Password和Confirm Password爲root密碼,必須一致。
(2)Installation Method ##安裝方式
(3)Boot Loader Options ##引導加載程序選項
(4)Partition Information ##分區
(5)Network Configuration ##網絡配置
(6)Authentication ##認證
(7)Firewall Configuration ##防火牆配置
(8)Display Configuration ##顯示配置
(9)Package Selection ##安裝包選擇
(10)Pre-Installation Script ##編寫腳本,安裝虛擬機之前會啓動腳本
(11)Post-Installation Script ##編寫腳本,安裝虛擬機之後會啓動腳本
上述11個步驟逐項完成,點擊左上角的file–>save,保存ks.cfg。
然後將ks.cfg複製到/var/www/html/
vim /var/www/html/ks.cfg
%packages ##安裝包(由於system-config-kickstart的第九項無法選擇安裝包,在這裏需要額外設置)
lftp ##安裝包中添加lftp軟件
@base ##表示基本插件
%end ##目的結束
ksvalidator ks.cfg ##查看ks.cfg中內容的語法,不能檢查配置問題
注意:
編輯ks.cfg時可以根據需要添加內容,如:
%post
touch /mnt/file{1..10} ##安裝虛擬機後新建file1,..file10。
%end
kickstart文件腳本參數分析
%end 目的結束
%packages 安裝包
%pre 安裝前執行腳本
%post 安裝後執行腳本
url 安裝源路徑
repo yum 源地址
text 文本安裝
vnc 安裝是開啓vnc
Askmethod 交互模式
clearpart 刪除分區
part 分區策略
ignoredisk 跳過磁盤
bootloader 引導程序設定
volgroup lvm組設定
logvol lvm設定
zerombr 清空mbr
network 網絡設定
firewall 火牆設定
lang 語言設定
keyboard 鍵盤設定
timezone 時區設定
auth 認證方式選擇
rootpw root密碼
seliux selinux設定
services 開機啓動服務%packages
group 組建立
user 用戶建立
logging 安裝日誌設定
fireboot 首次啓動設定
reboot.poweroff.halt 安裝完成後自動執行動作
2.腳本編輯
vim CreateVm.sh
#!/bin/bash
virt-install \
--name $1 \
--ram 1024 \
--file /var/lib/libvirt/images/$1.qcow2,bus=virtio \
--file size 8 \
--network source=br0,model=virtio \
--location http://172.25.254.66/rhel7.2 \
--extra args "ks=http://172.25.254.66/rhel7.2/ks.cfg" \
--vcpus 1 &
安裝程序指向kickstart文件
ks=http://server/dir/file
ks=ftp://server/dir/file
ks=nfs:server:/dir/file
ks=hd:device:/dir/file
ks=cdrom:/dir/file
3.yum源搭建
[rhel7.0]
name=rhel7.2
baseurl http://172.25.254.66/rhel7.2
gpgcheck=0
enabled=1
4.測試
sh CreateVm.sh linux
dhcp
DHCP是Dynamic Host Configuration Protocol,動態主機配置協議,是用來在物理網絡給主機分配ip地址的一種工作方式。
區別與bootp,一次分配終身使用的缺點。DHCP提出租約的概念,使得可以根據需要動態確定主機需要的IP地址,並且IP可以循環使用。
工作原理:
Client:DHCP DISCOVER ##客戶端向相同網絡發送廣播包,尋找DHCP服務器
Server:DHCP OFFER ##如果DHCP服務段接收到DISCOVER包,則向客戶端回覆OFFER廣播包
Client:DHCP REQUEST ##客戶端受到DHCP服務器的OFFER廣播包後,則確定DHCP服務器,繼續向DHCP服務器發送REQUEST包,申請ip信息。
Server:DHCP ACK ##DHCP服務端向客戶端發送ACK包,攜帶ip和租約信息給客戶端,DHCP發現過程結束。
1.安裝
yum install dhcp -y
2.生成配置文件
cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
3.修改配置文件完成配置
vim /etc/dhcp/dhcpd.conf
1 # dhcpd.conf
2 #
3 # Sample configuration file for ISC dhcpd
4 #
5
6 # option definitions common to all supported networks...
7 option domain-name "westos.com"; ##指定域名
8 option domain-name-servers 192.168.43.1;
##指定客戶主機獲得到的dns
9
10 default-lease-time 600; ##最短租約期
11 max-lease-time 7200; ##最長租約期
. . . . . .
27 #subnet 10.152.187.0 netmask 255.255.255.0 {
28 #}
##刪除27與28行或者註釋掉
29
30 # This is a very basic subnet declaration.
31
32 subnet 172.25.254.0 netmask 255.255.255.0 { ##netmask 255.255.255.0爲子網掩碼
33 range 172.25.254.109 172.25.254.200;
##IP地址隨機從172.25.254.109與172.25.254.200之間獲取
34 option routers 172.25.254.9;
35 }
##36行以後的全部刪除
4.重啓服務
systemctl restart dhcpd
5.測試
拔掉網線,shell窗口輸入sh /mnt/CreateVm.sh node1