簡介:在學習Linux系統的時候,虛擬機的作用必不可少,很多操作都需要虛擬化的環境,不僅使你有多臺機子,同時可以避免你的不恰當操作導致真機系統的奔潰造成不必要的麻煩。同樣在運維工作人員的工作環境中虛擬機有助於進一步嘗試與學習。下面將詳細介紹虛擬機的安裝步驟。
1.安裝
在裝虛擬機的過程中我們會有很多的步驟需要去做,下面是安裝前的一些、步驟:
1.選擇下載的yum源文件是鏡像文件
2.選擇鏡像文件的絕對路徑
3.選擇CPU內存大小
4.選擇硬盤內存大小
上面四步可以用編輯一個腳本去完成
vim /bin/xnjan.sh
/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 &
:wq
chmod +x /bin/xnjan.sh
例子
[root@foundation27 ~]# vim /bin/xnj.sh
1 #!/bin/bash
2 virt-install \
3 --name $1 \
4 --ram 1000 \
5 --vcpus 1 \
6 --file /var/lib/libvirt/images/$1.ing \
7 --file-size 8 \
8 --cdrom /iso7.2/rhel-server-7.2-x86_64-dvd.iso &
[root@foundation27 ~]# chmod +x /bin/xnj.sh
[root@foundation27 ~]# /bin/xnj.sh hello
需要進行配置的相關內容步驟詳解:
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的前端管理,不會刪除存儲
3.虛擬機快照
虛擬機快照是用來做實驗分析結果的一個好工具,因爲不用可以直接刪除,而且還不用重新安裝步驟的繁瑣,也不用去重置。
qemu-img create -f qcow2 -b vm2.qcow2 node1.qcow2
1.選擇進行快照方式
2.選擇以rhel7.1爲模板
3.名字爲generic
4.快照結果
上述步驟同樣也可以用腳本來實現,具體如下
vim /bin/xnjkz.sh
!/bin/bash
virsh destroy $1 &> /dev/null
virsh undefine $1 &> /dev/null
qemu-img create -f qcow2 -b /var/lib/libvirt/images/$1.qcow2 /var/lib/libvirt/images/$2.qcow2 &> /dev/null
virt-install \
--name $2 \
--ram 1000 \
--disk /var/lib/libvirt/images/$2.qcow2 \
--import &> /dev/null &
:wq
chmod +x /bin/xnjkz.sh
例子:
[root@foundation27 ~]#vim /bin/xnjkz.sh
#!/bin/bash
2 qemu-img create -f qcow2 -b \
3 /var/lib/libvirt/images/$1.qcow2 \
4 /var/lib/libvirt/images/$2.qcow2 &> /dev/null
5
6 virt-install \
7 --name $2 \
8 --ram 1024 \
9 --file /var/lib/libvirt/images/$2.qcow2 \
10 --vcpus 1 \
11 --import &
~
[root@foundation27 mnt]# chmod +x /bin/xnjkz.sh #賦予/bin/xnj.sh可執行的權利
[root@foundation27 mnt]# /bin/xnjkz.sh rhel7.1 hello
照一個以rhel7.1爲模板的快照,取名爲hello