1. #!/bin/bash ##命令運行環境的指定
virt-install \ ##安裝虛擬機
--name $1 \ ##虛擬機名稱指定,$1表示腳本後的第一串字符
--ram 1000 \ ##內存
--file /var/lib/libvirt/images/$1.img \ ##硬盤文件
--file-size 8 \ ##硬盤文件大小
--cdrom /var/ftp/pub/iso/rhel-server-7.1-x86_64-dvd.iso & ##安裝源指定
2.管理
virt-manager ##開啓圖形管理工具virt-viewer vmname ##顯示虛擬機,vmname表示虛擬機名稱
virsh list ##列出正在運行的vm
virsh list --all ##列出所有vm
virsh start vmname ##運行指定vm
virsh shutdown vmname ##正常關閉指定vm
virsh destroy vmname ##強行結束指定vm
virsh create vmname.xml ##臨時恢復指定vm,vmname表示前端管理文件
virsh define vmname.xml ##永久恢復vm
virsh undefine vmname ##刪除vm的前端管理,不會刪除存儲
文件快照
讀快照文件是讀源文件,對快照文件修改不會影響源文件。
(一)手動方式進行快照
1.文件快照
下面進行舉例,假定已存在虛擬機westos,該虛擬機不能進行重置否則會被刪除,可以通過,命令將其從前端隱藏。
virsh undefine westos ##將虛擬機westos從前端隱藏
(A)以相對路徑進行快照
cd/var/lib/libvirt/images/
ls ##查看是虛擬機westos
qemu-img create -f qcow2 -b westos.qcow2 first.qcow2
其中create #創建文件
-f qcow2 #指定文件類型qcow2
-b westos.qcow2 first.qcow2 #對westos.qcow2生成first.qcow2
(B)以絕對路徑進行快照,root下
qemu-img create -f qcow2 -b /var/lib/libvirt/westos.qcow2 /var/lib/libvirt/first.qcow2
3.在前端中進行添加快照生成虛擬機:cd文件選擇westos.qcow2,然後進行安裝
運行虛擬機first,其內容的修改不會影響westos.若破壞了first虛擬機,刪除後再重次新快照,即相當於重置了westos
(二)命令方式進行快照
若是剛操作完上面的實驗,需要還原鏡像,選擇image
virsh destory westos #強行關閉虛擬機
1.vim /mnt/vm_westos.sh #寫腳本,此時只能在/mnt/目錄下運行運行該目錄下文件
* #!/bin/bash
virsh destory $1 #強行關閉虛擬機$1
virsh undefine $1 #將已存在的虛擬機$1 從前端刪除
qemu-img create -f qcow2 -b /var/lib/libvirt/images/$1.qcow2/var/lib/libvirt/images/$2.qcow2 #腳本中必須用絕對路徑,快照
*virt-install \ # 創建虛擬機,但需要手動安裝
--name $2 \ #
--ram 1024 \ #
--file /var/lib/libvirt/$2.qcow2 \ 不用重新定義大小,因爲是已經存在的文件快照
--import & 導入已存在
wq
2.chmod +x /mnt/vm_westos.sh #添加執行權限
3./mnt/vm_westos.sh 已存在的文件名稱 快照文件名稱 只能在/mnt/下調用該命令
4.mv /mnt/vm_westos.sh /bin/ #移動至/bin/下,則在任何情形下均可調用
5.vm_westos.sh westos linux #刪除快照文件或虛擬機westos,再對linux進行快照,重新生成westos
(三)若破壞了快照文件,可以直接刪除快照文件再重新快照,可以編寫重啓腳本。
1.vim /bin/vm_reset.sh
#!/bin/bash
virsh destory $1
rm-fr /var/lib/libvirt/images/$1.qcow2 ##刪除損壞的快照文件
qemu create -f /var/lib/libvirt/images/$2.qcow2/var/lib/libvirt/images/$1.qcow2 ##原始光盤文件進行快照,用$2 來恢復$1
virsh start $1
wq
2.vm_reset.sh 文件名 ##重啓
四、自動安裝
在root下,安裝軟件kickstart
1.df ##查看yum源是否掛載
2.yum search kickstart ##查找是否有kickstart軟件,找其軟件包
yuminstall system-config-kickstart.noarch -y #下載軟件
3.system-kickstart.noarch #運行
進行設置,再進行保存,保存路徑/var/www/html/文件名.cfg #可以進行共享
4.vim /var/www/html/文件名.cfg
添加以下指令: %packages
@base #表示是一個文件的組,必須是已存在的組.若無@,則爲字符串
gcc
%end
wq
yumgroups list #查看存在的組
5.kickstart ?查錯
自動安裝軟件/虛擬機
6.vim /bin/文件名.sh
#!/bin/bash
virt-install \
--name $1 \
--ram 1024 \
--file /var/lib/libvirt/images/$1.qcow2 \
--file-size 8 \
--extra-args "ks=http://172.25.254.20/文件名.cfg" #安裝源指向172.25.254.20/文件名.cfg
wq
7.chmod +x /bin/文件名.sh
8.文件名.sh 名稱 ##自動安裝系統,不需手動設置
五、dhcp動態獲取
1.yum search dhcp #找出dhcp的軟件包software
2.yum install dhcp -y #下載軟件
3.vim /etc/dhcp/dhcpd.conf #編寫dhcp的配置文件
A.根據其內容提示:see /.../,在終端進行查看,操作如下:
cp/.../ /etc/dhcp/dhcpd.conf
overwrite y #選擇覆蓋文件
B.36行以下及27與28行刪除,30-33行進行修改:提供的IP地址範圍,客戶網關,及子網掩碼。7、8 行表示公司的名稱及提供的IP地址廣播號
4.systemctl start dhcpd #開啓dhcp服務
文件名.sh 名稱 #進行測試,可以完成安裝
systenmctl stop dhcpd #關閉服務
文件名.sh 名稱 #不能完成安裝,因爲無法獲得ip
5.cat /var/lib/dhcpd.lease #可以查看ip分配情況
在前端的NIC處可以查看ip來源