亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

KVM有什么用

發布時間:2022-03-21 09:11:59 來源:億速云 閱讀:215 作者:小新 欄目:開發技術

小編給大家分享一下KVM有什么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

一、虛擬化

1、背景

美國環境保護EPA報告中曾經統計過一組統計數據:EPA研究服務器和數據中心得能源效率時發現,實際上服務器只有5%得時間時在工作的,其他時間一直處于休眠狀態,這樣服務器的利用率就會很低,而且這些服務器一直處于開機狀態,消耗的能源自然就很多

2、虛擬化技術介紹

通過虛擬化技術將一臺計算機虛擬為多臺邏輯計算機,在一臺計算機上同時運行多個邏輯計算機,同時每個邏輯計算機可運行不同的操作系統,應用程序都可以在相互獨立的空間內運行而互相不影響,從而提高計算機的工作效率

3、虛擬化技術發展

雛形:
1961年,IBM709機器實現了分時系統,將CPU占用切分為多個極短的時間片(1/100sec)每一個時間片執行不同的工作,通過對這些時間片進行輪詢
從而將一個CPU偽裝成多個CPU
1972年, IBM正式將system370機的分時系統命名為虛擬機
1990年, IBM推出的system390機支持邏輯分區(將一個CPU分為多份,相互獨立,也就是邏輯分割)
Xen 2003年問世,是一個外部的hypervisor程序(虛擬機管理程序),能夠控制虛擬機和給多個客戶機分配資源
KVM:2007年問世,現已內置在kernel內核中的
Xen 支持的虛擬化技術:全虛擬化,半虛擬化
KVM:支持的虛擬化技術:全虛擬化

4、虛擬化類型

1)全虛擬化:將物理硬件資源全部通過軟件的方式抽象化,最后進行調用
使用的方法:使用hypervisor(VMM)軟件,其原理是在底層硬件和服務器之間建立一個抽象層,而基于核心的虛擬機是面向Linux系統的開源產品hypervisor(VMM)可以捕捉CPU的指令,為指令訪問硬件控制器和外設充當中介。

2)半虛擬化:需要修改操作系統

3)直通:直接使用物理硬件資源(需要支持,還不完善)

5、虛擬化的特性特性:

優勢:

  • 集中化管理(遠程管理、維護)

  • 提高硬件利用率(物理資源利用 率低-例如峰值,虛擬化解決了“空閑”容量)

  • 動態調整機器/資源配置(虛擬化把系統的應用程序和服務硬件分離、提高了靈活性)

  • 高可靠(可部署額外的功能和方案,可提高透明負載均衡、遷移、恢復復制等應用環境)

劣勢:

  • 前期高額費用( 初期的硬件支持)

  • 降低硬件利用率(特定場景-例如極度吃資源的應用不一定適合虛擬化)

  • 更大的錯誤影響面(本地物理機down機會導致虛擬機均不可用,同時可能虛擬機中文件全部損壞)

  • 實施配置復雜、管理復雜(管理人員運維、排障困難)

  • 一定的限制性(虛擬化技術涉及各種限制,必須與支持/兼容虛擬化的服務器、應用程序及供應商結合使用)

  • 安全性(虛擬化技術自身的安全隱患)

二、KVM概述

1、KVM簡介

KVM 是基于虛擬化擴展(Intel VT 或者 AMD-V)的 X86 硬件的開源的 Linux 原生的全虛擬化解決方案。KVM 中,虛擬機被實現為常規的 Linux 進程,由標準 Linux 調度程序進行調度;虛機的每個虛擬 CPU 被實現為一個常規的 Linux 線程。這使得 KMV 能夠使用 Linux 內核的已有功能。

Kernel-based Virtual Machine的簡稱,是一個開源的系統虛擬化模塊,是RHEL 5.4推出的最新虛擬化技術,目前紅帽只支持在64位的RHEL l5.4以上運行KVM,同時硬件需要支持VT技術,必須在64位bit環境中使用KVM。自Linux 2.6.20之后集成在Linux的各個主要發行版本中。它使用Linux自身的調度器進行管理,所以相對于Xen,其核心源碼很少。KVM已成為學術界的主流VMM之一。

KVM的虛擬化需要硬件支持(如Intel VT技術或者AMD V技術)。是基于硬件的完全虛擬化。而Xen早期則是基于軟件模擬的Para-Virtualization,新版本則是基于硬件支持的完全虛擬化。但Xen本身有自己的進程調度器,存儲管理模塊等,所以代碼較為龐大。廣為流傳的商業系統虛擬化軟件VMware ESX系列是基于軟件模擬的Full-Virtualization。

通過一下命令可以查看系統是否支持VT

cat /proc/cpuinfo | grep ‘vmx'

KVM的前身是QEMU,08年被紅帽收購并獲得一項技術hypervisor,不過RedHat的KVM被認為是將成為未來Linux hypervisor的主流。

2、KVM的作用

  • 提高物理服務器的資源利用率(較少的在硬件上的投入)

  • 可以批量部署

  • 實現實時快照技術

  • 支持克隆技術

  • 可以實現虛擬機的離線遷移和動態遷移(提高IT部署的靈活性)

  • 可以將資源動態調整(傳統的IT架構資源是固定的,無法動態分配)

3、KVM 虛擬化架構/三種模式

  • 客戶模式(guestOS):VM中的OS為GuestOS

客戶機在操作系統中運行的模式,客戶機分為用戶模式和Linux內核模式,作用如下:

  • 用戶模式:

為用戶提供虛擬機管理的用戶空間工具以及代表用戶執行I/O,Qemu工作在此模式下(Qemu的主要功能)

  • Linux內核模式:

模擬CPU、內存,實現客戶模式切換,處理從客戶模式的推出,KVM即運行在此模式下

4、KVM核心組件及作用

  • Guest:客戶機系統,包括CPU(vCPU)、內存、驅動(Console、網卡、I/O 設備驅動等),被 KVM 置于一種受限制的 CPU 模式下運行。

  • KVM:運行在內核空間,提供CPU 和內存的虛級化,以及客戶機的 I/O 攔截。Guest 的 I/O 被 KVM 攔截后,交給 QEMU 處理。

  • QEMU:修改過的為 KVM 虛機使用的 QEMU 代碼,運行在用戶空間,提供硬件 I/O 虛擬化,通過 IOCTL /dev/kvm 設備和 KVM 交互。

5、KVM工作流程

用戶模式的 Qemu 利用接口 libkvm 通過 ioctl 系統調用進入內核模式。 KVM驅動為虛擬機創建虛擬 CPU 和虛擬內存,然后執行 VMLAU·NCH 指令進入客戶模式,裝載 Guest OS 并運行。Guest OS 運行過程中如果發生異常,則暫停Guest OS的運行并保存當前狀態同時退出到內核模式來處理這些異常。

內核模式處理這些異常時如果不需要 I/O則處理完成后重新進入客戶模式。如果需要 I/O 則進入到用戶模式, 則由 Qemu 來處理 I/O,處理完成后進入內核模式,再進入客戶模式

6、KVM的優勢

1)KVM與VMware的優勢

ESX的底層是VMkernel + linux,VMkernel啟動后開始接管對硬件管理,然后啟動第一個linux虛擬機,協助VMkernel一起來管理和調度硬件資源。

KVM是直接將linux kernel變成hypervisor,只需要從標準linux內核啟動即可,linux kernel擁有的特性可以全部利用上。KVM架構上的優勢使得它非常簡潔,在開發出來僅三個多月就被合并到了標準內核。

2)KVM與Xen的優勢

Kvm和xen的最大區別就是架構,KVM是直接構建在linux kernel之上,把linux kernel變成hypervisor,是利用kernel已有的的功能基礎上開發KVM所不具備的功能。

Xen的hypervisor是自己從頭開始構建的,對硬件資源的調度管理,虛擬機的管理,還有很多接口與linux kernel不兼容,然后對于xen,hypervisor需要通過Domain0對虛擬機提供硬件訪問驅動支持。

雖然說現在3.0的kernel中結合了xen,但是大部分linux OS的內核還是2.6,即便是一些新的發行版OS,也還是2.6的內核,新內核要單獨去升級。

三、KVM虛擬化平臺部署

1、虛擬機資源

CPU:雙核雙線程-CPU虛擬化開啟

內存:8G

硬盤:300G

雙網卡:單網卡

操作系統:Centos 7.4(1708)

2、實驗環境

1)修改主機名

[root@kvm ~]# hostnamectl set-hostname kvm 
[root@kvm ~]# bash

2)將鏡像光盤設為自動/永久掛載

[root@kvm ~]# vim /etc/fstab
/dev/cdrom /mnt iso9660 defaults 0 0
[root@kvm ~]# mount -a 
[root@kvm ~]# df -hT
/dev/sr0    iso9660  4.3G 4.3G   0 100% /mnt

3)環境優化

#是否反解DNS,設置為NO可以讓客戶端連接服務器更快

[root@kvm ~]# vim /etc/ssh/sshd_config 
UseDNS no    #取消DNS注釋,改為NO

4)制作本地YUM倉庫

[root@kvm ~]# mkdir /abc
[root@kvm ~]# cd /etc/yum.repos.d/
[root@kvm yum.repos.d]# ls
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo  CentOS-Vault.repo
CentOS-CR.repo  CentOS-fasttrack.repo CentOS-Sources.repo
[root@kvm yum.repos.d]# mkdir bak
[root@kvm yum.repos.d]# mv CentOS-* bak
[root@kvm yum.repos.d]# ls
bak
[root@kvm yum.repos.d]# vim local.repo
[local]
name=kvm
baseurl=file:///abc
gpgcheck=0
enabled=1
[root@kvm yum.repos.d]# yum clean all 
[root@kvm yum.repos.d]# yum repolist

5)關閉防火墻、核心防護

[root@kvm yum.repos.d]# systemctl stop firewalld
[root@kvm yum.repos.d]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@kvm yum.repos.d]# setenforce 0

3、安裝KVM

1) 安裝KVM基本組件

# 安裝 GNOME 桌面環境 如果裝了圖形界面可以不需要裝
yum groupinstall -y "GNOME Desktop"
# KVM 模塊
yum -y install qemu-kvm
# 安裝KVM 調試工具,可不安裝
yum -y install qemu-kvm-tools
# 構建虛擬機的命令行工具
yum -y install virt-install
# qemu 組件,創建磁盤、啟動虛擬機等
yum -y install qemu-img
# 網絡支持工具
yum -y install bridge-utils
# 虛擬機管理工具
yum -y install libvirt
# 圖形界面管理虛擬機 
yum -y install virt-manager

2)檢測CPU是否支持虛擬化

[root@kvm ~]# cat /proc/cpuinfo | grep vmx     
flags    : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch ssbd ibrs ibpb stibp tpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid mpx rdseed adx smap clflushopt xsaveopt xsavec arat spec_ctrl intel_stibp flush_l1d arch_capabilitie

3)查看KVM模塊是否已安裝

Lsmod:顯示已載入的系統模塊

[root@kvm ~]# lsmod | grep kvm
kvm_intel       183621 0 
kvm          586948 1 kvm_intel
irqbypass       13503 1 kvm

4) 設置開啟啟動界面的顯示模式

[root@kvm ~]# ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target

4、設置KVM網絡

1)KVM網絡的兩種模式:

① NAT: 默認設置,數據包由 NAT 方式通過主機的接口進行

傳送,可以訪問外網,但是無法從外部訪問虛擬機網絡

**② 網橋:**這種模式允許虛擬機像一臺獨立的主機一樣擁有網絡,外部的機器可以直接訪問到虛擬機內部,但需要網卡支持(一般有線網卡都支持)

使用Bridge網橋模式進行部署

[root@bdqn ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=noneDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=noIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=ens33UUID=aac61931-47a6-40e5-9511-68adf20e97c5DEVICE=ens33ONBOOT=yes#IPADDR=192.168.100.46#PREFIX=24#GATEWAY=192.168.100.1BRIDGE=br0     #刪除原先地址,設置為網橋模式,關聯br0網卡

2)創建、編輯橋接網卡

[root@bdqn ~]# vim /etc/sysconfig/network-scripts/ifcfg-br0TYPE=BridgeBOOTPROTO=staticDEFROUTE=yesPEERDNS=yesPEERROUTES=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_PEERDNS=yesIPV6_PEERROUTES=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=br0DEVICE=br0ONBOOT=yesIPADDR=192.168.226.200NETMASK=255.255.255.0GATEWAY=192.168.226.2

5、KVM部署與管理

1)創建KVM存儲和鏡像數據的目錄、上傳centos7鏡像

[root@kvm network-scripts]# mkdir -p /data_kvm/iso[root@kvm network-scripts]# mkdir -p /data/_kvm/store[root@kvm network-scripts]# mkdir /abc[root@kvm network-scripts]# mount.cifs //192.168.226.1/LAMP-C7 /mntPassword for root@//192.168.226.1/LAMP-C7: [root@kvm network-scripts]# cd /abc[root@kvm abc]# cp -p CentOS-7-x86_64-DVD-1806.iso /data_kvm/iso/#查看鏡像[root@kvm abc]# ll /data_kvm/iso/總用量 4481024-rwxr-xr-x. 1 root root 4588568576 2月 20 2019 CentOS-7-x86_64-DVD-1810.iso

2)使用虛擬系統管理器管理虛擬機

[root@kvm kvmdata]# virt-manager

KVM有什么用

3)操作步驟

① 第一步:創建存儲池

KVM有什么用

KVM有什么用

KVM有什么用

KVM有什么用

KVM有什么用

KVM有什么用

KVM有什么用

一樣的操作創建iso存儲池

KVM有什么用

② 在store存儲池中創建存儲卷

KVM有什么用

KVM有什么用

③ 創建虛擬機

KVM有什么用

KVM有什么用

KVM有什么用

KVM有什么用

KVM有什么用

KVM有什么用

KVM有什么用

KVM有什么用

KVM有什么用

KVM有什么用

啟用最小化安裝,節省空間

KVM有什么用

KVM有什么用

以上是“KVM有什么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

kvm
AI

绥棱县| 康平县| 新乡县| 旌德县| 普格县| 大渡口区| 宁蒗| 峨眉山市| 景谷| 静宁县| 鄂温| 山东省| 庆阳市| 五大连池市| 昌吉市| 高安市| 策勒县| 翁牛特旗| 桑植县| 龙里县| 西乡县| 富蕴县| 紫阳县| 绵阳市| 平顶山市| 贵州省| 通山县| 横峰县| 滁州市| 南开区| 金沙县| 平果县| 邢台市| 衡山县| 伊金霍洛旗| 白银市| 安多县| 鄂伦春自治旗| 乌审旗| 遂平县| 施秉县|