在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

KVM虛擬機管理和基本使用

網絡技術干貨圈 ? 來源:網絡技術干貨圈 ? 2023-02-07 09:20 ? 次閱讀

ID:wljsghq

KVM 虛擬化環境部署和管理方法

KVM 簡介
KVM — 全稱是基于內核的虛擬機(Kernel-based Virtual Machine)是一個開源軟件,基于內核的虛擬化技術,實際是嵌入系統的一個虛擬化模塊,通過優化內核來使用虛擬技術,該內核模塊使得Linux 變成了一個Hypervisor,虛擬機使用Linux自身的調度器進行管理。

KVM 是基于虛擬化擴展(Intel VT 或者AMD-V)的X86 硬件的開源的Linux 原生的全虛擬化解決方案。KVM 中,虛擬機被實現為常規的Linux 進程,由標準Linux 調度程序進行調度;虛機的每個虛擬CPU 被實現為一個常規的Linux 進程。這使得KVM 能
夠使用Linux 內核的已有功能。但是,KVM 本身不執行任何硬件模擬,需要客戶空間程序通過/dev/kvm 接口設置一個客戶機虛擬服務器的地址空間,向它提供模擬的I/O,并將它的視頻顯示映射回宿主的顯示屏。目前這個應用程序是QEMU。

QEMU 是一套由Fabrice Bellard 所編寫的模擬處理器的自由軟件。它與Bochs,PearPC 近似,但其具有某些后兩者所不具備的特性,如高速度及跨平臺的特性。經由kqemu 這個開源的加速器,QEMU 能模擬至接近真實電腦的速度。

libvirt 是管理虛擬機和其他虛擬化功能的軟件,比如存儲管理,網絡管理的軟件集合。它包括一個API 庫,一個守護程序(libvirtd)和一個命令行工具(virsh);libvirt 本身構建于一種抽象的概念之上。它為受支持的虛擬機監控程序實現的常用功能提供通用的API。libvirt的主要目標是為各種虛擬化工具提供一套方便、可靠的編程接口,用一種單一的方式管理多種不同的虛擬化提供方式。

注意:我們通常所說和使用的KVM 虛擬機,實際上是這三個軟件的結合

安裝kvm、qemu、libvirtd:
查看和打開CPU 虛擬化支持:

egrep"(svm|vmx)"/proc/cpuinfo#查看cpu是否支持虛擬化
注:
?vmx對應inter的cpu
?svm對應amd的cpu
?需在主板bios打開虛擬化選項,多數計算機默認處于打開狀態

查看內核kvm 支持

lsmod|grepkvm

安裝所需軟件包

apt-getinstalllibvirt0libvirt-daemonqemuvirt-managerbridge-utilslibvirt-clients
python-libvirtqemu-efiuml-utilitiesvirtinstqemu-system

#安裝KVM 和相關虛擬化工具
啟動libvirtd

systemctlrestartlibvirtd.service#啟動libvirtd
systemctlstatuslibvirtd.service#查看啟動狀態

兩種管理虛擬機的方法:
?virt-manager 是圖形化方式,相對直觀。
?virsh 是命令行方式

KVM 配置與應用

virsh 命令行管理工具詳解

virsh(虛擬shell),基于命令行的管理工具,可以實現簡單的資源管理。支持交互模式
virshshutdowndeepin1#正常關閉vm虛擬機
virshstartdeepin1#啟動kvm虛擬機
virshdestroydeepin1#強制關閉kvm虛擬機
virshlist#顯示本地活動虛擬機
virshlist--all#查看所有虛擬機
virshsuspenddeepin1#掛起kvm虛擬機
virshresumedeepin1#恢復被掛起虛擬機
virshdominfodeepin1#查看指定虛擬機的配置摘要信息
virshundefinedeepin1#刪除kvm虛擬機(如果虛擬機處于runing,一旦關閉就會消失)
virshdumpxmldeepin1#顯示虛擬機的當前配置文件
virshdefinedeepin2.xml#通過配置文件定義一個虛擬機(這個虛擬機還不是活動的)
virshautostartdeepin1#虛擬機設為自動啟動(成/etc/libvirt/qemu/autostart/)
virshautostart--disabledeepin1#取消自動啟動
virsheditdeepin1#編輯配置文件(一般是在剛定義完虛擬機之后)
virshsetmemdeepin1512000#給虛擬機設置內存大小
virshsetvcpusdeepin14#給虛擬機設置cpu個數

qemu-img 是一個功能強制磁盤鏡像管理工具

qemu-img--help包括以下功能
?check檢查完整性
?create創建鏡像
?commit提交更改
?compare比較
?convert轉換
?info獲得信息
?map映射
?snapshot快照管理
?rebase在已有的鏡像的基礎上創建新的鏡像
?resize調整大小
?amend修訂鏡像格式選

KVM 虛擬機的xml 配置文件說明

xml 配置文件也就是通常所說的虛擬機的描述文件,主要用來定義一個虛擬機的名稱、UUID、CPU、內存、虛擬磁盤、網卡等各種參數設置
/etc/libvirt/qemu/ #配置文件默認路徑

deepin.xml 配置文件說明:


deepin#虛擬機的名字
16e9cb49-8b05-4b34-9325-3bcf169dd32e#uuid值
4194304#虛擬機的最大內存
4194304#虛擬機當前的內存
4#該虛擬機的cpu數

hvm#hvm表示全虛擬化
#hd表示從硬盤啟動

。。。。。。。。。。
/usr/bin/qemu-system-x86_64#二進制模擬器設備的完整路徑
#disk是用來描述磁盤的主要容器

#指定磁盤上文件的絕對路徑


#MAC地址






KVM 虛擬機重命名技術

生成新的UUID 字串,并復制備用
uuidgen

76d5dc2c-5eef-4e30-8b6c-e58851814f84

virsh edit deepin #編輯虛擬機配置


deepin2#新名稱
76d5dc2c-5eef-4e30-8b6c-e58851814f84#新UUID值

virsh list --all #確認導入的新配置

IdNameState
-----------------------
-deepin1shutoff
-deepin2shutoff#新名稱的虛擬機

virsh undefine deepin1 #刪除舊名稱的虛擬機
virsh list --all #確認結果

IdNameState
-----------------------
-deepin2shutoff

KVM 虛擬機的復制技術

生成新UUID,并復制備用
uuidgen

7b292992-a86e-4386-951f-a577365cc721

導出配置

virshdumpxmldeepin2>/etc/libvirt/qemu/deepin3.xml

修改導出后的配置
vim /etc/libvirt/qemu/deepin3.xml

vim/etc/libvirt/qemu/deepin3.xml

deepin3#新名稱
3d7f2197-8dad-473c-99af-0570cd02ae5c#新UUID值
4194304#內存大小,單位KB
4194304#虛擬機分配的內存大
小,單位KB
2#虛擬CPU核數
.......


#新磁盤路徑



.......
#虛擬機網絡連接方式
#修改MAC地址
#當前主機網橋的名稱


.......

確認結果
virsh list --all

定義新虛擬機
virsh define deepin3.xml

IdNameState
-----------------------
-deepin2shutoff
-deepin3shutoff#新虛擬機

虛擬機快照建立的方式

快照(raw 格式的磁盤無法創建快照)

#qemu-imgsnapshot-l/kvm/img/test12.qcow2#查看磁盤快照
virshsnapshot-listtest12#查看快照
virshsnapshot-createtest12#生成快照
virshsnapshot-create-astest12snap1#自定義快照名
virshsnapshot-reverttest12snap1#快照恢復虛擬機
virshsnapshot-deletetest12snapname#刪除指定快照
virshsnapshot-currenttest12

項目實戰

1. 使用命令行工具創建虛擬機
用法: virt-install --name NAME --memory MB STORAGE INSTALL [options]
用途:從指定安裝源創建新虛擬機。
示例
創建鏡像文件

qemu-imgcreate-fqcow2-osize=20G/data/kvm/deepin-server3.qcow2

通過cdrom 鏡相引導安裝系統:

virt-install-ndeepin-server3--vcpus2-r4096-c
/home/yanght/ISO/uniontechos-desktop-20-professional-1021_amd64.iso--disk
/data/kvm/deepin-server3.qcow2,bus=virtio,size=20--graphicsvnc,listen=0.0.0.0--network
bridge=virbr0,model=virtio

2. 利用已有的虛擬機配置文件創建新的虛擬機
把deepin2 當做模板機,提取deepin2 的虛擬機磁盤、xml 配置文件

qemu-imginfo/var/lib/libvirt/images/deepin2.qcow2

輸出:

image:/var/lib/libvirt/images/deepin.qcow2
fileformat:qcow2
virtualsize:64G(68719476736bytes)#虛擬機磁盤容量
disksize:8.1G#在KVM服務器占用容量
cluster_size:65536
Formatspecificinformation:
compat:1.1
lazyrefcounts:true
refcountbits:16
corrupt:false

復用deepin2 模板機的磁盤數據

qemu-imgcreate-fqcow2-b/var/lib/libvirt/images/deepin2.qcow2
/var/lib/libvirt/images/deepin4.qcow2

復制配置

cd/etc/libvirt/qemu/
cpdeepin2.xmldeepin4.xml

修改配置文件
vim deepin4.xml

deepin4#新虛擬機名稱
da2478f0-abf0-11ea-a912-6f46e76df6b1#新UUID值
#文件類型
#磁盤類型
#新虛擬卷位置




#虛擬機的網絡接口類型
#刪除MAC地址
#虛擬機的網卡的源網絡名稱

根據配置文件定義虛擬機

virshdefine/etc/libvirt/qemu/deepin4.xml

查看所有虛擬主機
virsh list --all

IdNameState
-----------------------
-deepin2shutoff
-deepin4shutoff

開啟deepin 虛擬機

virshstartdeepin4

3. 使用命令行工具完成磁盤設備的熱插拔
virsh attach-disk (添加磁盤設備)
用法:

attach-disk[--targetbus][--driver]
[--subdriver][--iothread][--cache][--io][--type]
[--mode][--sourcetype][--serial][--wwn][--alias]
[--rawio][--address][--multifunction][--print-xml][--persistent][--config][--live]
[--current]

示例:
1、用qemu-img 創建一塊100G 的qcow2 硬盤

SOURCEFILE=/data/kvm/deepin-server1-disk1.qcow2
qemu-imgcreate-fqcow2$SOURCEFILE20G

2、附加磁盤到指定虛擬機

DOMAIN=deepin-server1
TARGET=sdb
virshattach-disk--domain$DOMAIN--source$SOURCEFILE--target$TARGET
--subdriverqcow2--config--live

TARGET:一般為vdb,vdc…
–subdriver:這一項是必須的,如果不加的話,虛擬機不知道鏡像文件的格式,掛載
就會失敗。
Virsh detach-disk (刪除磁盤設備)
用法:

detach-disk[--persistent][--config][--live][--current][--print-xml]

示例:

virshdetach-diskdeepinserver1sdb

輸出:

Diskdetachedsuccessfully

審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 開源軟件
    +關注

    關注

    0

    文章

    210

    瀏覽量

    15904
  • 內核
    +關注

    關注

    3

    文章

    1372

    瀏覽量

    40289
  • Linux
    +關注

    關注

    87

    文章

    11304

    瀏覽量

    209499
  • 虛擬機
    +關注

    關注

    1

    文章

    917

    瀏覽量

    28196
  • KVM
    KVM
    +關注

    關注

    0

    文章

    188

    瀏覽量

    12954

原文標題:KVM 虛擬機管理和基本使用

文章出處:【微信號:網絡技術干貨圈,微信公眾號:網絡技術干貨圈】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    如何在KVM上使用CCA RME虛擬機

    之前介紹了CCA設計的一個目的是讓hypervisor可以創建和調度RME虛擬機和vCPU,并且給它分配內存等資源,但是一旦這些資源分配給RME虛擬機之后,hypervisor就失去了訪問這些RME所有的內存內容的權限。
    的頭像 發表于 09-11 14:59 ?1696次閱讀
    如何在<b class='flag-5'>KVM</b>上使用CCA RME<b class='flag-5'>虛擬機</b>?

    什么是虛擬機虛擬機真的那么好用嗎?

    在日新月異的科技世界中,虛擬化技術如同一座橋梁,連接著現實與數字的鴻溝,為我們打開了全新的計算維度。虛擬機,這一概念,自其誕生以來,就以其獨特的魅力和強大的功能,深深地影響了軟件開發、系統測試和云
    的頭像 發表于 07-06 08:05 ?463次閱讀
    什么是<b class='flag-5'>虛擬機</b>?<b class='flag-5'>虛擬機</b>真的那么好用嗎?

    VM虛擬機管理程序上的NVIDIA GRID vGPU有適當的測試計劃來協助測試嗎?

    你好,我搜索了這些論壇,我發現了一些關于在基于KVM虛擬機管理程序(RHEL / CentOS)下使用NVIDIA GRID vGPU功能的問題。這仍在開發中嗎?如果是,是否有適當的測試計劃來協助
    發表于 09-18 16:14

    Java虛擬機向ARM平臺的移植

    介紹Java 虛擬機的概念,以常用的KVM 為例,講述了將Java 虛擬機移植到ARM 平臺的方法,重點介紹了移植過程中的編譯選項。
    發表于 09-23 11:54 ?38次下載

    Java虛擬機向ARM平臺的移植

    介紹Java 虛擬機的概念,以常用的KVM 為例,講述了將Java 虛擬機移植到ARM 平臺的方法,重點介紹了移植過程中的編譯選項。
    發表于 09-23 11:54 ?22次下載

    誤刪除KVM虛擬機的數據恢復案例

    服務器上的KVM虛擬機被誤操作刪除,每臺虛擬機包含一個qcow2格式的磁盤文件和一個raw格式的磁盤文件,需要恢復raw格式的磁盤文件,虛擬機里面存放的是數據庫和程序代碼。
    的頭像 發表于 04-12 13:56 ?722次閱讀
    誤刪除<b class='flag-5'>KVM</b><b class='flag-5'>虛擬機</b>的數據恢復案例

    【服務器數據恢復】服務器誤刪除KVM虛擬機數據恢復案例

    服務器中有3臺KVM虛擬機:一臺運行Mysql數據庫,一臺存放數據庫備份,一臺存放程序代碼文件。
    的頭像 發表于 05-09 14:39 ?599次閱讀
    【服務器數據恢復】服務器誤刪除<b class='flag-5'>KVM</b><b class='flag-5'>虛擬機</b>數據恢復案例

    Linux下誤刪除KVM虛擬機的數據恢復案例

    Linux操作系統服務器,EXT4文件系統。服務器上部署3臺KVM虛擬機
    的頭像 發表于 06-27 13:36 ?554次閱讀
    Linux下誤刪除<b class='flag-5'>KVM</b><b class='flag-5'>虛擬機</b>的數據恢復案例

    linux虛擬機系統基本指令

    Linux虛擬機系統是一種通過虛擬化技術在物理服務器上部署多個獨立的虛擬機實例的操作系統。它可以幫助用戶更有效地利用硬件資源,并方便地部署和管理多個操作系統環境。本文將介紹一些常用的L
    的頭像 發表于 11-17 10:04 ?1632次閱讀

    Docker與虛擬機的區別

    的操作系統實例來實現虛擬化的技術。其實現方式是通過Hypervisor來實現的。Hypervisor是一個運行在物理機上的軟件或硬件,負責管理和分配虛擬機的硬件資源。 1.2 Docker Docker是一種容器化技術,它利用L
    的頭像 發表于 11-23 09:37 ?9792次閱讀

    虛擬機ubuntu怎么聯網

    虛擬機ubuntu怎么聯網? 虛擬機(Virtual Machine)是運行在物理(Host Machine)上的虛擬操作系統環境。在虛擬機
    的頭像 發表于 12-27 16:51 ?982次閱讀

    虛擬機數據恢復—EXT4文件系統下KVM虛擬機數據恢復案例

    發行版本中。KVM使用Linux自身的調度器進行管理。 本案例中的服務器操作系統為Linux,文件系統為EXT4。操作系統上的部署的幾臺KVM虛擬機被刪除,每臺
    的頭像 發表于 04-17 14:22 ?380次閱讀
    <b class='flag-5'>虛擬機</b>數據恢復—EXT4文件系統下<b class='flag-5'>KVM</b><b class='flag-5'>虛擬機</b>數據恢復案例

    服務器數據恢復—KVM虛擬機raw格式磁盤文件數據恢復案例

    服務器數據恢復環境: 一臺服務器安裝Linux操作系統+EXT4文件系統。服務器上運行數臺KVM虛擬機,每臺虛擬機包含一個qcow2格式的磁盤文件和一個raw格式的磁盤文件。 服務器故障
    的頭像 發表于 05-17 13:33 ?448次閱讀
    服務器數據恢復—<b class='flag-5'>KVM</b><b class='flag-5'>虛擬機</b>raw格式磁盤文件數據恢復案例

    服務器數據恢復—誤刪除KVM虛擬機的數據恢復案例

    1臺服務器,Linux操作系統+EXT4文件系統,部署了數臺KVM虛擬機,每臺虛擬機包含一個qcow2格式的磁盤文件,和一個raw格式的磁盤文件。 工作人員操作失誤刪除了3臺服務器上的KVM
    的頭像 發表于 06-17 15:10 ?360次閱讀
    服務器數據恢復—誤刪除<b class='flag-5'>KVM</b><b class='flag-5'>虛擬機</b>的數據恢復案例

    虛擬機數據恢復—KVM虛擬機被誤刪除的數據恢復案例

    虛擬機數據恢復環境: Linux操作系統服務器,EXT4文件系統。服務器中有數臺KVM虛擬機虛擬機1:主數據庫服務器 虛擬磁盤
    的頭像 發表于 08-07 13:33 ?458次閱讀
    <b class='flag-5'>虛擬機</b>數據恢復—<b class='flag-5'>KVM</b><b class='flag-5'>虛擬機</b>被誤刪除的數據恢復案例
    主站蜘蛛池模板: 久久99热精品| 四虎影院在线免费观看| 午夜爽爽爽| 激情五月播播| 久久天天躁狠狠躁夜夜2020一 | 国产女同视频| 井野雏田小樱天天被调教| 欧美在线播放| 天天干夜夜夜| 三级aa久久| 久久这里精品青草免费| 欧美午夜精品一区二区三区| 年下系列高h文| 美女又黄又免费| 久久成人福利视频| 一卡二卡卡四卡无人区中文| 精品美女在线| 操欧洲美女| 色婷婷综合网| 天天舔天天插| 狠狠色噜噜狠狠狠狠999米奇| 噜噜噜噜影院| 国产精品视频久久久久久| 性欧美视频在线观看| ts国产| 中文字幕va一区二区三区| 欧美色操| 黑粗硬大欧美视频| 特级做a爰片毛片免费看| 亚洲午夜精品一区二区| 日本在线视频不卡| 激情6月丁香婷婷色综合| 最新在线视频| 亲女乱h文小兰第一次| 美女被草视频在线观看| 性欧美暴力猛交69hd| 亚洲天天做夜夜做天天欢人人| 人人澡人人人人夜夜爽| 黄色四虎影院| 91大神网址| 精品久久久久久中文字幕欧美|