導航:首頁 > 程序命令 > kvm命令創建虛擬機

kvm命令創建虛擬機

發布時間:2024-01-17 18:11:48

㈠ 如何在kvm伺服器上創建虛擬機

創建虛擬機鏡像
要在一台host上跑起一個虛擬機一般需要兩個步驟:
第一步:創建虛擬機鏡像
qemu-img
create
-f
raw
/images/vm1.raw
8G
qmeu-img創建的鏡像是一個稀疏文件,也就是說剛創建出來的文件並沒有8G,它會隨著數據的增多慢慢增加,直到8G
第二步:啟動虛擬機
kvm
/imges/vm1.raw
運行結果:
因為鏡像裡面沒有任何內容,所以提示找不到可引導設備。
使用qemu-img管理鏡像
qemu-img基本命令
上節介紹了使用qemu-img創建鏡像,這一節將會介紹qemu-img在鏡像管理上的強大功能。
qemu-img有很多命令,包括下面常用的,當然qemu-img
-h你懂得。
info
查看鏡像的信息
create
創建鏡像
check
檢查鏡像
convert
轉化鏡像的格式,(raw,qcow
……)
snapshot
管理鏡像的快照
rebase
在已有的鏡像的基礎上創建新的鏡像
resize
增加或減小鏡像大小
創建鏡像
qemu-img
create
-f
<fmt>
-o
<options>
<fname>
<size>
舉例:
qemu-img
create
-f
raw
-o
size=4G
/images/vm2.raw
hzgatt@hzgatt:~/images$
ll
total
0-rw-r--r--
1
hzgatt
hzgatt
4.0G
6月
29
14:11
vm2.raw
hzgatt@hzgatt:~/images$
ll
-s
total
00
-rw-r--r--
1
hzgatt
hzgatt
4.0G
6月
29
14:11
vm2.raw
hzgatt@hzgatt:~/images$
qemu-img
info
vm2.raw
image:
vm2.raw
file
format:
raw
virtual
size:
4.0G
(4294967296
bytes)
disk
size:
0
雖然ls中看到文件的大小是4G,但是實際上磁碟大小是0。這就是稀疏文件
轉化
將一個鏡像文件轉化為另外一種格式,qemu-img支持的格式可以看qemu-img
-h最後一行。
Supported
formats:
vvfat
vpc
vmdk
vdi
sheepdog
rbd
raw
host_cdrom
host_floppy
host_device
file
qed
qcow2
qcow
parallels
nbd
dmg
tftp
ftps
ftp
https
http
cow
cloop
bochs
blkverify
blkdebug
轉化命令:
qemu-img
convert
-c
-f
fmt
-O
out_fmt
-o
options
fname
out_fname
-c:採用壓縮,只有qcow和qcow2才支持
-f:源鏡像的格式,它會自動檢測,所以省略之
-O
目標鏡像的格式
-o
其他選先
fname:源文件
out_fname:轉化後的文件
看例子:
hzgatt@hzgatt:~/images$
qemu-img
convert
-c
-O
qcow2
vm2.raw
vm2.qcow2
hzgatt@hzgatt:~/images$
ll
-s
total
136K
0
-rw-r--r--
1
hzgatt
hzgatt
5.0G
6月
29
13:55
vm1.raw
136K
-rw-r--r--
1
hzgatt
hzgatt
193K
6月
29
14:22
vm2.qcow2
0
-rw-r--r--
1
hzgatt
hzgatt
4.0G
6月
29
14:11
vm2.raw
hzgatt@hzgatt:~/images$
qemu-img
info
vm2.qcow2
image:
vm2.qcow2
file
format:
qcow2
virtual
size:
4.0G
(4294967296
bytes)
disk
size:
136K
cluster_size:
65536
如果想看要轉化的格式支持的-o選項有哪些,可以在命令末尾加上
-o

hzgatt@hzgatt:~/images$
qemu-img
convert
-c
-O
qcow2
vm2.raw
vm2.qcow2
-o
?
Supported
options:
size
Virtual
disk
size
backing_file
File
name
of
a
base
image
backing_fmt
Image
format
of
the
base
image
encryption
Encrypt
the
image
cluster_size
qcow2
cluster
size
preallocation
Preallocation
mode
(allowed
values:
off,
metadata)
增加減少鏡像大小
注意:只有raw格式的鏡像才可以改變大小
hzgatt@hzgatt:~/images$
qemu-img
resize
vm2.raw
+2GB
hzgatt@hzgatt:~/images$
ll
-s
total
136K
0
-rw-r--r--
1
hzgatt
hzgatt
5.0G
6月
29
13:55
vm1.raw
136K
-rw-r--r--
1
hzgatt
hzgatt
193K
6月
29
14:22
vm2.qcow2
0
-rw-r--r--
1
hzgatt
hzgatt
6.0G
6月
29
14:28
vm2.raw
hzgatt@hzgatt:~/images$
qemu-img
info
vm2.raw
image:
vm2.raw
file
format:
raw
virtual
size:
6.0G
(6442450944
bytes)
disk
size:
0

㈡ KVM:virt-install創建虛擬機

grep -E 'vmx|svm' /proc/cpuinfo

#-E grep的擴展模式

#當前cpu是否支持硬體虛擬化

lsmod | grep kvm

#檢查是否載入kvm模塊,kvm只是一個linux模塊,在kvm安裝完成後整個linux系統會變成一個hypervisor(虛擬機管理層)。而qemu和virt、virsh相當於是兩個家族,qemu只支持命令行模式(創建、刪除、管理等操作),virt-install創建虛擬機,virsh只能管理虛擬機(無法創建),virt-manager提供web界面。

總結來說,libvirt家族和qemu家族都可以實現對虛擬機的生命周期管理,同一個目的不一樣的工具而已。

mkdir /home/vm

將CentOS-7-x86_64-Minimal-1810.iso上傳到此目錄下

virt-install -n centos3 -r 256 --disk /home/vm/ccc.img,format=qcow2,size=2 --network bridge=br0 --os-variant=rhel7.6 --cdrom /home/vm/CentOS-7-x86_64-Minimal-1810.iso --vnc --vncport=6666 --vnclisten=0.0.0.0

-n    虛擬機名字

-r    內存(默認單位MB)

--disk    制定磁碟(可以提前使用qemu-img創建,也可以在此處創建)

    *使用qemu-img創建磁碟    qemu-img create -f qcow2 aaa.img 10G

--network    指定虛擬機使用的網路,這里使用br0,需要提前准備好此橋設備

--cdrom    指定鏡像文件

--vnc    設置vnc,指定vnc監聽埠和監聽地址

#上述命令輸入完成後直接回車即可

彈出上述告警框不用理會

此時查看宿主機打開埠,出現我們監聽的6666埠

使用vnc客戶端新建連接,ip地址填宿主機地址,埠6666,名稱就是虛擬機名稱

顏色級別設置成rgb222,然後點擊OK

雙擊連接圖標,進入安裝界面

注意:

1、在執行virt-install時一定要仔細,別漏了任何一個參數。我就是少了--vnc這個參數導致vnc怎麼也連不上

2、宿主機要跑虛擬機,確保cpu、內存資源足夠,否則安裝會出問題

㈢ 創建基於SRIOV的KVM虛擬機

本文來自微信公眾號「ICT大融合」。

一、利用 iso 創建虛機

1.       安裝環境:

適用於centos/redhat.

2.       安裝准備:

yum -y install kvm

yum -y install qemu-kvmpython-virtinst libvirt libvirt-python virt-manager libguestfs-toolsbridge-utils virt-install

systemctl startlibvirtd.service

systemctl enablelibvirtd.service

3.       構建虛擬網路:

brctl addbr br0

brctl addif br0 ens6np0

註:ens6np0是netreonome CX-25G智能網卡,

[root@test4 vms]# ethtool -i ens6np0

driver: nfp

version: rev-2020.01.13.0820.a3cf8e9 (o-

firmware-version: 0.0.3.5 0.30 sriov-2.1.16.1nic

expansion-rom-version:

bus-info: 0000:02:00.0

4.       安裝虛擬機

mkdir  -p /home/vms/

virt-install --virt-type=kvm --name=centos88 --vcpus=2--memory=4096 --location=/home/CentOS-7-x86_64-DVD-1908.iso --diskpath=/home/vms/centos88.qcow2,size=40,format=qcow2 --network bridge=br0--graphics none --extra-args='console=ttyS0' –force

註:

安裝鏡像iso一定放在/home/或其他可訪問目錄,否則提示沒有操作許可權。

然後一路按照提示,設置相應參數,直到虛擬機構建完成。

安裝完成之後,用virshlish查看虛擬機狀態。

[root@test4 vms]# virsh list

 Id   Name                          State

----------------------------------------------------

 2     centos88                      running

以上是虛擬機的網卡是基於virtio並接入主機的bridge,用ps可以看到相應進程。

[root@test4 ~]# ps -e |grep kvm

15484 ?       00:00:38 qemu-kvm

15491 ?       00:00:00 kvm-pit/15484

18406 ?       00:00:14 qemu-kvm

18413 ?       00:00:00 kvm-pit/18406

[root@test4 ~]# ps -e |grep vhost

15486 ?       00:00:00 vhost-15484

18408 ?       00:00:00 vhost-18406

二、用通過鏡像創建基於 SRIOV 虛擬機。

1.       創建vf :

echo 2 > /sys/class/net/ens6np0/device/sriov_numvfs

可以用如下命令查看,

lspci -kd 19ee:

lspci | grep -i ethernet

注意:19ee是netreonome的PCI vendor ID號。

2.       創建虛擬機鏡像文件:

cp centos88.qcow2 centos7.200.qcow2

chown qemu:qemu centos7.200.qcow2

cp centos88.xml centos7.200.xml

3.       修改配置文件

vi centos7.200.xml

其中,uuid採用uuidgen 命令生成。

選項Interface進行修改,Mac地址隨便改一個,不重復就行。關鍵是修改vf的PCI地址,用lspci獲取。

virsh define centos7.200.xml

4.       創建磁碟:

qemu-img create /home/vms/centos200.img 40G

5.       啟動虛機:

virsh start centos200

三、常見命令

virsh基本命令:

virsh list                 # 查看在運行的虛擬機

virsh mpxml vm-name      # 查看kvm虛擬機配置文件

virsh start vm-name        # 啟動kvm虛擬機

virsh shutdown vm-name     # 正常關機

virsh destroy vm-name      # 非正常關機,強制關閉虛擬機(相當於物理機直接拔掉電源)

virsh undefine vm-name     # 刪除vm的配置文件

ls /etc/libvirt/qemu

# 查看刪除結果,Centos-6.6的配置文件被刪除,但磁碟文件不會被刪除

virsh define file-name.xml # 根據配置文件定義虛擬機

virsh suspend vm-name      # 掛起,終止

virsh resumed vm-name      # 恢復被掛起的虛擬機

virsh autostart vm-name    # 開機自啟動vm

virsh console <虛擬機名稱>   # 連接虛擬機

virt-install參數:

–name指定虛擬機名稱

–memory分配內存大小。

–vcpus分配CPU核心數,最大與實體機CPU核心數相同

–disk指定虛擬機鏡像,size指定分配大小單位為G。

–network網路類型,此處用的是默認,一般用的應該是bridge橋接。

–accelerate加速

–cdrom指定安裝鏡像iso

–vnc啟用VNC遠程管理,一般安裝系統都要啟用。

–vncport指定VNC監控埠,默認埠為5900,埠不能重復。

–vnclisten指定VNC綁定IP,默認綁定127.0.0.1,這里改為0.0.0.0。

–os-type=linux,windows

–os-variant=rhel6

--name 指定虛擬機名稱

--ram 虛擬機內存大小,以 MB 為單位

--vcpus 分配CPU核心數,最大與實體機CPU核心數相同

–-vnc 啟用VNC遠程管理,一般安裝系統都要啟用。

–-vncport 指定VNC監控埠,默認埠為5900,埠不能重復。

–-vnclisten 指定VNC綁定IP,默認綁定127.0.0.1,這里改為0.0.0.0。

--network 虛擬機網路配置

  #其中子選項,bridge=br0 指定橋接網卡的名稱。

–os-type=linux,windows

–os-variant=rhel7.2

--disk 指定虛擬機的磁碟存儲位置

  #size,初始磁碟大小,以 GB 為單位。

--location 指定安裝介質路徑,如光碟鏡像的文件路徑。

--graphics 圖形化顯示配置

  #全新安裝虛擬機過程中可能會有很多交互操作,比如設置語言,初始化 root 密碼等等。

--extra-args 根據不同的安裝方式設置不同的額外選項

㈣ 安卓開啟kvm

創建KVM虛擬機_安卓kvm虛擬機可以用兩種方法創建kvm虛擬機,一種是virt-manager管理工具創建,一種是命令行的方式。1.命令行方式創建kvm虛擬機。先創建qcow2格式的鏡像文件,大小為20G。qemu-imgcreate-fqcow2/data/kvm/images/centos7.6×86.qcow20G輸入命令進行虛擬機的安裝:virt-install–name=centos7.6×86–vcpus=2–ram=2048–diskpath=/data/kvm/imag

閱讀全文

與kvm命令創建虛擬機相關的資料

熱點內容
實況為什麼安卓看不了 瀏覽:129
Java多線程Queue 瀏覽:94
雲伺服器499元三年 瀏覽:980
nbd源碼 瀏覽:846
x86在arm上編譯 瀏覽:7
linux怎麼配置網路 瀏覽:307
程序員想要的小禮物 瀏覽:186
java獲取網頁url 瀏覽:624
怎麼做解壓神器泡泡版 瀏覽:966
自己動手做一個c編譯器 瀏覽:929
手機如何鏈接谷歌伺服器地址 瀏覽:137
廢掉一個程序員的武功 瀏覽:249
java樹形演算法 瀏覽:641
通達信加鎖指標源碼怎麼看 瀏覽:754
將同名文件移動到部分同名文件夾 瀏覽:403
擺盪指標加壓力線源碼 瀏覽:915
新一代單片機特徵 瀏覽:770
王者的伺服器什麼時候才修好 瀏覽:281
cad歷史命令 瀏覽:41
php博客源代碼 瀏覽:24