kvm純命令建立虛擬機器
配置檔案
<domain type='kvm'>
<name>centos7.0</name> #虛擬機器的名字
<uuid>dd0d199e-1da7-486e-962c-f2899f64ece1</uuid> #每臺虛擬機器的uuid不能相同
<memory unit='KiB'>1048576</memory> #虛擬機器現有記憶體
<currentMemory unit='KiB'>1048576</currentMemory> #虛擬機器可用最大記憶體
<vcpu placement='static'>1</vcpu> #cpu的個數
<devices>
<emulator>/usr/libexec/qemu-kvm</emulator>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/var/lib/libvirt/images/centos7.0.qcow2'/> #此處為虛擬機器磁碟路徑
<target dev='vda' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
</disk>
<interface type='network'>
<mac address='52:54:00:af:57:14'/> #虛擬機器的mac地址也不能相同
<source network='default'/>
<model type='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
下面為建立虛擬機器的指令碼
read -p "請輸入新建虛擬機器的名字" name
read -p "請輸入新建虛擬機器的記憶體大小(M)" mem
read -p "請輸入新建虛擬機器的cpu個數" cpu
mem=${mem:-1024} #如果mem未定義則預設值為1024
mem=$((${mem}*1024)) #下方記憶體的單位為kib我們輸入時按照mib輸入所以此處需乘以1024(kb與kib還是有點區別的同理mb與mib也是有區別的,奇怪的知識又增加了,有興趣的可以去看看)
cpu=${cpu:-1} #設定cpu的個數未定義則預設為1
num=`openssl rand -hex 1`:`openssl rand -hex 1`:`openssl rand -hex 1` #建立16進位制隨機數,下面會用到
newvirtual=/etc/libvirt/qemu/${name}.xml #需要建立的虛擬機器的名字
cp /var/lib/libvirt/images/centos7.0.qcow2 /var/lib/libvirt/images/${name}.qcow2 #以此虛擬機器為模板建立虛擬機器
cp /etc/libvirt/qemu/centos7.0.xml ${newvirtual} #模板虛擬機器的配置檔案
sed -ri "/<name>/c \ <name>${name}</name>" ${newvirtual} #找到配置檔名字所在行進行整行替換以下同理(\空格 是為了讓修改後的格式與原來相同)
sed -ri "/<uuid>/c \ <uuid>`uuidgen`</uuid>" ${newvirtual}
sed -ri "/<memory unit='KiB'>/c \ <memory unit='KiB'>${mem}</memory>" ${newvirtual}
sed -ri "/<currentMemory unit='KiB'>/c \ <currentMemory unit='KiB'>${mem}</currentMemory>" ${newvirtual}
sed -ri "/<vcpu placement='static'>/c \ <vcpu placement='static'>${cpu}</vcpu>" ${newvirtual}
sed -ri "/source file/c \ <source file='/var/lib/libvirt/images/${name}.qcow2'/>" ${newvirtual}
systemctl restart libvirtd
sed -ri "/mac address/c \ <mac address='52:54:00:${num}'/>" ${newvirtual}
cat << eof
虛擬機器${name}建立成功
記憶體$(($mem/1024))M
cpu${cpu}個
eof
建立新的uuid
[root@kvm script]# uuidgen
091ac687-a9ce-40c7-aed3-6866d8a97da6
建立新的mac
方法一
echo `openssl rand -hex 1`:`openssl rand -hex 1`:`openssl rand -hex 1`
ab:68:23
方法二
openssl rand -hex 3 | sed -r 's/(..)(..)(..)/\1:\2:\3/g'
04:d7:31
方法三
openssl rand -hex 3 | sed -r 's/..\B/&:/g'
9e:84:dc
注意
建立的新的虛擬機器與你所選的模板虛擬機器裡的內容一樣
相關文章
- 虛擬化技術之kvm虛擬機器建立工具qemu-kvm虛擬機
- 虛擬化技術之kvm虛擬機器建立工具virt-install虛擬機
- KVM虛擬機器的管理虛擬機
- KVM [ 4 ] --- KVM虛擬機器管理:儲存池,虛擬機器快照,網路網橋虛擬機
- kvm 修改虛擬機器名稱虛擬機
- kvm 安裝 windows 虛擬機器Windows虛擬機
- Linux 安裝 KVM 虛擬機器Linux虛擬機
- KVM 一鍵批量建立虛擬機器 自動設定IP虛擬機
- KVM虛擬機器的冷遷移虛擬機
- KVM虛擬機器遷移(靜態)虛擬機
- KVM虛擬機器新增物理網路卡虛擬機
- 讓KVM虛擬機器支援console功能虛擬機
- 使用 Cockpit 建立虛擬機器KPI虛擬機
- 建立新的虛擬機器虛擬機
- kvm虛擬機器ping 不通閘道器和外網虛擬機
- 抽空學學KVM(七):虛擬機器快照和克隆虛擬機
- VMware Workstation Pro建立虛擬機器虛擬機
- 在 fnOS上安裝 KVM 虛擬化,並使用 Cockpit 網頁管理虛擬機器KPI網頁虛擬機
- Linux伺服器下誤刪除了kvm虛擬機器如何找回Linux伺服器虛擬機
- 玩玩虛擬化-KVM
- Hyper-V批次建立虛擬機器虛擬機
- 在vmare中建立centos虛擬機器CentOS虛擬機
- Dalvik虛擬機器、Java虛擬機器與ART虛擬機器虛擬機Java
- 【虛擬化資料恢復】KVM虛擬機器誤刪除資料恢復案例資料恢復虛擬機
- Ubuntu 20.04.2 KVM虛擬機器動態遷移實現(下)Ubuntu虛擬機
- Ubuntu 20.04.2 KVM虛擬機器動態遷移實現(上)Ubuntu虛擬機
- 虛擬機器之linux系統命令虛擬機Linux
- 虛擬化四、KVM虛擬化技術
- 主流虛擬化平臺 QEMU-KVM 被曝存在漏洞,可完全控制宿主機及其虛擬機器虛擬機
- 【虛擬機器資料恢復】Linux系統下誤刪除KVM虛擬機器的資料恢復案例虛擬機資料恢復Linux
- 在 Fedora 中使用 Cockpit 建立虛擬機器KPI虛擬機
- 在CentOS上建立虛擬機器以及RedisCentOS虛擬機Redis
- 效率工具 | 快速建立虛擬機器,Vagrant真香!虛擬機
- xshell怎麼連線linux虛擬機器 xshell連結linux虛擬機器ssh命令Linux虛擬機
- linux系統下kvm虛擬機器資料恢復成功案例Linux虛擬機資料恢復
- KVM虛擬機器處於暫停狀態怎麼處理虛擬機
- 測試開發之系統篇-安裝KVM虛擬機器虛擬機
- java虛擬機器和Dalvik虛擬機器Java虛擬機