虛擬機玩什麼腳本
1、准備鏡像(輸入cat /etc/redhat-release可以查看redhat版本) #輸入uname -r可以查看linux系統版本
根據查看的版本去網上下載相關資源。例如本機是7.2.
2、輸入virt-manager進入虛擬機控制平台
點擊小電腦圖標
我們選擇第一個選項(通過iso image或者光碟進行安裝)
然後找到剛剛下載好的鏡像。
名字和內存都隨自己更改。
3、更改時區,語言,安裝方式(真機須選3個關於虛擬化的選項)。
時區選擇上海即可
加入中文簡體
一般選擇最後一個,安裝一些必要的程序即可。
4、分區(建議自動分區,然後修改分配容量)
(1)/boot ---啟動分區,200M即可,太大沒有什麼作用
(2)/swap ---交換分區,當內存容量大於內存80%時,把多餘的放進硬碟,待內存降下來之後,又放回內存,建議分區大小為物理內存1.5~2倍,8G可設12G。
(3)/ ---其餘分區皆為即可。
接下來等待安裝即可。
二 創建腳本安裝虛擬機
在 /usr/sbin/建立一個Create_Vm.sh
chmod +x Create_Vm.sh ---加可執行許可權
加&在後台運行,不加在前台(創建虛擬機)
#!/bin/bash
virt-install \
--name $1 \
--ram 1024 \
--file /var/lib/libvirt/images/$1.qcow2 \
--file-size 8 \
--cdrom /home/kiosk/Desktop/rhel-server-7.2-x86_64-dvd.iso \
--vcpus 1 &
寫入如下腳本:
如果是無圖形界面則依次輸入12cc即可
xml ---可擴展標記語言 ,封裝數據
模擬拷貝虛擬機
1 cd /etc/libvirt/qemu/ ---進入虛擬機目錄
2 ls ---顯示該目錄文件項
3 cp node1.xml /mnt/ ---復制(發送)前端文件(硬體相關信息)到目標主機
4 cd var/lib/libvirt/images/ ---進入到虛擬機硬碟所在目錄
5 ls
6 mv node1.qcow2 /mnt/ ---復制硬碟到目標主機
7 virsh undefine node1 ---刪除原有虛擬機(在復制到其他機器上忽略此步驟)
8 mv /mnt/node1.qcow2 /var/lib/libvirt/images/ ---復制硬碟到虛擬機默認硬碟所在目錄
9 virsh define node1.xml ---創建復制虛擬機
9 virsh create node1.xml ---打開復制過來的虛擬機,關閉之後在manager會消失
打開虛擬機相關命令:
virsh list ---顯示當前正在運行的虛擬機
virsh list --all ---顯示所有虛擬機
virsh start node1 ---打開虛擬機
virt-viewer node1 ---顯示圖形界面
virsh shutdown node1 ---正常關機
virsh destroy node1 ---強制關機
剩下就不一一列舉了
三 虛擬機快照:(以安裝node1為例)
1、 cd /var/lib/libvirt/images/ ---進入新安裝的虛擬機的硬碟目錄
2、 在虛擬機管理界面delete 新安裝的虛擬機node1,記得不要刪除其硬碟文件,留下其硬碟文件,可以母盤,下面是為了防止以後手殘更改了母盤文件導致其他虛擬機不能用。
3、 mv node1.qcow2 vm_storage.qcow2 ---更改源硬碟文件名,名字可以自行確定
4、 qemu-img create -f qcow2 -b vm_storage.qcow2 newname.qcow2 ---創建新快照。
5、虛擬機管理界面添加新機即可。
選擇第四個,然後改名字即可。
新機就建立完成。
四 腳本:
1)只添加虛擬機其餘自己操作的腳本:Create_Vm.sh
#!/bin/bash
virt-install \
--name $1 \
--ram 1024 \
--file /var/lib/libvirt/images/$1.wcow2 \
--file-size 8 \
--cdrom /home/kiosk/Desktop/rhel-server-7.2-x86_64-dvd.iso \
--vcpus 1 &
這個腳本上邊已經有詳細過程。
2)添加帶磁碟的虛擬機腳本:創建快照,添加快照,安裝 Createvm.sh
#!/bin/bash
qemu-img create -f qcow2 -b /var/lib/libvirt/images/vm_storage.qcow2 \
/var/lib/libvirt/images/$1.qcow2 &> /dev/null
virt-install \
--name $1 \
--ram 1024 \
--file /var/lib/libvirt/images/$1.qcow2,bus=virtio \
--file-size 8 \
--network source=br0,model=virtio \
--import &> /dev/null &
3)重置虛擬機腳本:Resetvm.sh
#!/bin/bash
virsh destory $1 &> /dev/null
rm -rf /var/lib/libvirt/images/$1.qcow2
qemu-img create -f qcow2 -b /var/lib/libvirt/images/vm_storage.qcow2 \
/var/lib/libvirt/images/$1.qcow2 &> /dev/null
echo Successfully!!!
virsh start $1 &> /dev/null
virt-viewer $1 &> /dev/null &
sh -x 命令 ---一步一步安裝,若出錯,報告出錯過程
⑵ shell腳本編程是什麼,它的性質 怎麼在虛擬機上運行呢
就是把一連串的shell命令編成腳本,自動執行這些命令。只要在虛機上安裝linux、windows等操作系統,各系統都有自己的shell命令
⑶ 在虛擬機下 編寫三個shell腳本
1
#!/bin/bash
[$#-ne1]&&echo"usage:$0filename"&&exit-1
read-p"entercount:"count
i=1
while[$i-le$count]
do
date=`date-d"$idays"+"%Y%m%d"`
>$1_${date}
i=$(($i+1))
done
2
#!/bin/bash
if[$#-ne1];then
echo"usage:$0file1"
exit-1
fi
if[-e$1];then
now=`date+"%Y%m%d%H%M%S"`
mv$1$1_${now}
fi
awk-F':''{print$1}'/etc/passwd|grept>$1
3. 確保user.txt和pass.txt格式正確嗎?
user.txt :
user:passwd:UID:GID::/home/user:/bin/bash
pass.txt:
user:newpasswd
#!/bin/bash
if[$#-ne2];then
echo"usage:$0user_filepasswd_file"
exit-1
fi
read-p"inputaction[add/del]:"act
case$actin
"add")
newusers$1
cat$2|chpasswd
;;
"del")
forusrin`awk-F':''{print$1}'$1`
do
userdel$usr
done
;;
*)echo"ERRORFLAG";;
esac