KVM創建虛擬機的三種方式

一、概述

kvm創建虛擬機有三種方式:

1. 通過qemu-kvm創建
2. 通過virt-install創建
3. 通過virt-manager創建

在使用這三種創建虛擬機前提是 宿主機必須支持 cpu 的硬件虛擬化技術(Intel 是 vmx,AMD 是svm),通過下面方式進行查看是否支持:

egrep '(vmx|svm)' /proc/cpuinfo

結果顯示:

flags : fpu vme de pse tsc msr pae mce cx8 apic 
sep mtrr pge mca cmov pat pse36 clflush dts mmx 
fxsr sse sse2 ss syscall nx rdtscp lm constant_tsc 
arch_perfmon pebs bts nopl xtopology tsc_reliable 
nonstop_tsc aperfmperf pni pclmulqdq vmx ssse3 cx16 
pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer 
aes xsave avx f16c rdrand hypervisor lahf_lm epb 
tpr_shadow vnmi ept vpid fsgsbase tsc_adjust smep 
dtherm ida arat pln pts

輸出結果應有紅色的vmx。如果沒有開啓虛擬化請進入電腦bios開啓虛擬化支持。

創建網橋網絡:

yum install libvirt -y
mv /etc/libvirt/qemu/networks/default.xml /tmp/
systemctl stop NetworkManger 
systemctl start libvirtd

創建網橋設備:br0
virsh iface-bridge eth0 br0

二、通過qemu-kvm創建

在 qemu-kvm 創建虛擬機中,又分爲:

  • 直接啓動虛擬磁盤文件爲虛擬機

  • 通過iso鏡像文件安裝虛擬機

1、通過虛擬磁盤文件直接啓動的方式

yum install qemu-kvm -y
ln -vs /usr/libexec/qemu-kvm /usr/bin/
mkdir /images
cd /images/
wget http://download.cirros-cloud.net/0.3.5/cirros-0.3.5-i386-disk.img

編寫橋接使用的腳本,/etc/qemu-ifup

#!/bin/bash
#
BRIDGE=br0
if [-n $1];then
	ifconfig $1 up
	sleep 1
	brctl addif $BRIDGE $1
[ $? -eq 0 ] && exit 0 || exit 1
else
	echo "Error:no interface specified."
exit 1
fi

執行

qemu-kvm -cpu host -smp 1 -m 512m -drive file=/images/cirros-0.3.5-i386-disk.img,if=virtio,cache=writeback \
-net nic,model=virtio,macaddr=52:54:00:bb:d2:88 -net tap,ifname=vnet0.0,script=/etc/qemu-ifup -daemonize

說明:
-name 虛擬機名稱
-cpu 執行虛擬機cpu類型,可通過 -cpu ? 查看支持的cpu類型
-smp 虛擬機cpu數,支持多核心多線程設置 -smp n[,scores=scores][,threads=threads][,sockets=sockets]
-drive 指定虛擬磁盤文件屬性設置
    file: 指定具體虛擬磁盤文件目錄
    if: 設置虛擬磁盤文件類型,virtio 爲半虛擬化類型
    cache: 虛擬磁盤文件屬性,是回寫(writeback) 還是 透寫(writethrough)
  
-nographic 設置虛擬機工作方式
    不寫直接在前臺執行,Ctrl + C 會終止虛擬機運行
    -nographic 直接命令行顯示在控制端
    -daemonize 後臺執行虛擬機進程

2、通過iso文件安裝虛擬機

ls /mnt/iso/

顯示結果:

Centos-7-x86_64-DVD-1511.iso

安裝 vnc 客戶端 和 x11 需要的插件

yum install tigervnc xorg-x11-xauth -y
qemu-img create -f qcow2 -o size=20G,preallocation=metedata /images/Centos&.qcow2
qemu-kvm -name 'centos7' -cpu host -smp 1 -m 1024m -drive file=/images/Centos7.qcow2 -cdrom /mnt/iso/CentOS-7-x86_64-DVD-1511.iso -daemonize

如果這裏召喚不出界面,建議重新開啓一個終端執行
vncviewer :5900

三、virt-install 創建虛擬機

在使用 virt-install 創建虛擬機的時候,首先把一些要使用的程序包安裝:

yum install virt-viewer dejavu-sans-fonts.noarch xorg-x11-xauth -y

說明:
virt-viewer 用於通過vnc直接查看虛擬機控制檯
dejavu-sans-fonts.noarch xorg-x11-xauth 用於通過 xmanager直接界面訪問

在 virt-install 中創建虛擬機的方式有以下幾種:

1、直接啓動虛擬磁盤文件爲虛擬機

virt-install --name test --memory 512 --disk /images/cirros-0.3.5-i386-disk.img --import --network bridge=br0 --graphics=vnc
--name 虛擬機名
--memory 內存(默認單位: MB)
--disk 指定虛擬磁盤文件
--import 導入虛擬磁盤文件
--network 執行網絡,不指定網絡是無法啓動的。bridge 執行網橋設備
--graphics 通過什麼方式訪問界面,這裏使用 vnc ,否則無法輸入。

2、通過 iso 文件安裝虛擬機

首先通過 qemu-img 創建虛擬磁盤文件

qemu-img create -f qcow2 -o size=20G,preallocation=metadata CentOS7.qcow2

virt-install --name centos --vcpus 2 --memory 2048 --disk /images/CentOS7.qcow2,format=qcow2,bus=virtio,cache=writeback \
--network bridge=br0,model=virtio --cdrom /usr/local/src/CentOS-7-x86_64-Minimal-1708.iso --graphics vnc --noautoconsole
 
--name 虛擬機名
--memory 內存(默認單位: MB)
--disk 指定虛擬磁盤文件,format指定虛擬磁盤格式,bus 指定半虛擬化(virtio) cache 指定磁盤緩存(回寫)
--network 執行網絡,不指定網絡是無法啓動的。bridge 執行網橋設備 model 指定虛擬網卡爲半虛擬化,優化性能
--graphics 通過什麼方式訪問界面,這裏使用 vnc ,否則無法輸入。
--noautoconsole 不用在界面直接彈出安裝界面,後面可以通過 virt-view centos 喚出圖形界面

四、virt-manager 創建虛擬機

virt-manager 是通過圖形界面直接鼠標選擇安裝,這個不再演示。注意以下幾個點:

  • 通過命令 virt-manager 無法喚出界面,需要安裝 xorg-x11-xauth , 然後重新開啓一個會話執行virt-manger
  • 如果 virt-manager 出現亂碼,需要安裝 dejavu-sans-mono-fonts
  • 注意防火牆和selinux

原文鏈接:https://www.cnblogs.com/hukey/p/11307129.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章