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虛擬機器日常操作命令梳理虛擬機
- kvm虛擬機器快照虛擬機
- KVM虛擬機器的管理虛擬機
- 虛擬化技術之kvm虛擬機器建立工具virt-install虛擬機
- KVM [ 4 ] --- KVM虛擬機器管理:儲存池,虛擬機器快照,網路網橋虛擬機
- kvm 安裝 windows 虛擬機器Windows虛擬機
- KVM虛擬機器遷移概述虛擬機
- kvm 修改虛擬機器名稱虛擬機
- KVM 一鍵批量建立虛擬機器 自動設定IP虛擬機
- Linux 安裝 KVM 虛擬機器Linux虛擬機
- kvm之十二:虛擬機器遷移虛擬機
- KVM虛擬機器的效能優化虛擬機優化
- KVM虛擬機器新增物理網路卡虛擬機
- KVM虛擬機器遷移(靜態)虛擬機
- KVM虛擬機器的冷遷移虛擬機
- 《轉》QEMU-KVM建立虛擬機器自動指定IP的配置虛擬機
- KVM宿主機上檢視虛擬機器ip虛擬機
- kvm之三:本地安裝虛擬機器虛擬機
- kvm之六:配置kvm虛擬機器通過VNC訪問虛擬機VNC
- KVM之十:虛擬機器線上新增網路卡虛擬機
- 建立新的虛擬機器虛擬機
- 抽空學學KVM(七):虛擬機器快照和克隆虛擬機
- 讓KVM虛擬機器支援console功能虛擬機
- KVM 虛擬機器安裝配置在CentOS6.2虛擬機CentOS
- kvm虛擬機器ping 不通閘道器和外網虛擬機
- RHCSA 系列(十五): 虛擬化基礎和使用 KVM 進行虛擬機器管理虛擬機
- 使用 Cockpit 建立虛擬機器KPI虛擬機
- VMware Workstation Pro建立虛擬機器虛擬機
- Azure xplate cli建立虛擬機器虛擬機
- webvirtmgr-重新命名kvm虛擬機器的名稱Web虛擬機
- Esxi下vm虛擬機器命令虛擬機
- 如何建立虛擬機器上建立 Cluster 共享磁碟虛擬機
- 玩玩虛擬化-KVM
- 使用Azure REST API建立虛擬機器RESTAPI虛擬機
- 在vmare中建立centos虛擬機器CentOS虛擬機
- Hyper-V批次建立虛擬機器虛擬機
- Dalvik虛擬機器、Java虛擬機器與ART虛擬機器虛擬機Java