shell脚本编程《linux下kvm虚拟机的创建、开启、显示、停止、重置》
Shell腳本編程——案例一
編程要求:
1.創建vm-ctl腳本,在/bin/下
2.實現功能:創建虛擬機、創建虛擬機快照、開啟虛擬機、顯示虛擬機、停止虛擬機、重置虛擬機。
腳本實現預期結果:
sh vm-ctl create|nodecreate|start|view|stop|reset vmname
?
實現腳本如下:
#!/bin/bash
case "$1" in
? create)????????????##創建虛擬機? ? ??????????????????
????echo create vm $2 ...
????virt-install \
????--name $2 \
????--ram 1000 \
????--file /var/lib/libvirt/p_w_picpaths/$2.qcow2 \
????--file-size 8 \
????--cdrom /home/kiosk/Downloads/rhel-server-7.1-x86_64-dvd.iso &
????echo Create vm $2 successful! Please create vmnode by nodecreate after this!!!????##創建完虛擬機之后,請再創建虛擬機快照之后使用虛擬機快照來操作。
????;;
? nodecreate)????????????????????##創建虛擬機快照
????virsh destroy $2????
????virsh undefine $2
????qemu-img create -f qcow2 -b /var/lib/libvirt/p_w_picpaths/$2.qcow2 /var/lib/libvirt/p_w_picpaths/
????$2node.qcow2 &>/dev/null????
????virt-install \
????--name $2 \
????--ram 1000 \
????--disk /var/lib/libvirt/p_w_picpaths/$2node.qcow2 \
????--import &>/dev/null &
????echo Create vm $2node successfull!!!
????;;
? start)????????????##開啟虛擬機
????echo start vm $2 ...
????virsh start $2 &>/dev/null
????echo Start vm $2 successful!!!
????;;
? view)????????????##顯示虛擬機
????echo view vm $2 ...
????virt-viewer $2 &>/dev/null
????echo View vm $2 successful!!!
????;;
? stop)????????????##關閉/停止虛擬機
????echo stop vm $2 ...
????virsh destroy $2 &>/dev/null
????echo vm $2 is stopped!!!
????;;
? reset)????????????##重置虛擬機
????echo reset vm $2 ...
????virsh destroy $2 &>/dev/null
????virsh undefine $2 &>/dev/null
????rm -fr /var/lib/libvirt/p_w_picpaths/$2node.qcow2????????##刪除原磁盤快照文件
????qemu-img create -f qcow2 -b /var/lib/libvirt/p_w_picpaths/$2.qcow2 /var/lib/libvirt/p_w_picpaths/
????$2node.qcow2 &>/dev/null????????????????????????? ?##重新創建快照
????virt-install \?????????????????????????????????????##使用這個新快照創建虛擬機
????--name $2 \
????--ram 1000 \
????--disk /var/lib/libvirt/p_w_picpaths/$2node.qcow2 \
????--import &>/dev/null &
????echo Reset vm $2 successfule!!!
????;;
? *)????????????????##其他,顯示報錯信息
????echo"ERROR:please input create|nodecreate|start|view|stop|reset after vm-ctl"
esac
轉載于:https://blog.51cto.com/10664148/1863873
總結
以上是生活随笔為你收集整理的shell脚本编程《linux下kvm虚拟机的创建、开启、显示、停止、重置》的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【转】你所不知道的HTML head/
- 下一篇: jsp静态导入和动态导入