日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Virtualization基础

發(fā)布時(shí)間:2025/3/14 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Virtualization基础 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

官方文檔學(xué)習(xí)

  https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/pdf/Virtualization_Getting_Started_Guide/Red_Hat_Enterprise_Linux-7-Virtualization_Getting_Started_Guide-en-US.pdf

?

CPU虛擬化

模擬 emulation

  對于CPU來說,需要模擬ring 0、1、2、3

  虛擬機(jī)內(nèi)核運(yùn)行在ring 1上

  

虛擬 virtualization

  完全虛擬化 full-virtualization

    對于CPU來說,需要虛擬ring 0

    虛擬機(jī)內(nèi)核運(yùn)行在ring -1 上

    Guest認(rèn)為自己直接運(yùn)行在物理主機(jī)上,沒有意識(shí)到自己是虛擬機(jī)

    BT 二進(jìn)制翻譯,基于軟件的方式

    HVM 硬件輔助的虛擬化,基于底層硬件支持虛擬化指令集

  半虛擬化 para-virtualization

    Guest清楚的知道自己是虛擬機(jī)

    如果虛擬機(jī)要運(yùn)行特權(quán)指令,但這條特權(quán)指令不會(huì)影響到其它的虛擬機(jī)和物理機(jī),則由虛擬機(jī)的內(nèi)核直接調(diào)用硬件資源,減少了中間的指令轉(zhuǎn)換層

    如果虛擬機(jī)要運(yùn)行的特權(quán)指令,會(huì)影響虛擬機(jī)和物理機(jī),則發(fā)出hyper call,交由hypervisor調(diào)用硬件資源

?

Memory虛擬化

在虛擬機(jī)中

  Shadow Page Table 實(shí)現(xiàn)虛擬機(jī)中邏輯地址到虛擬機(jī)物理地址的轉(zhuǎn)換

    MMU 將虛擬機(jī)的物理地址轉(zhuǎn)換為物理主機(jī)的物理地址

    GVA ---> GPA ---> HPA

  MMU Virtualization 硬件實(shí)現(xiàn),能使得虛擬機(jī)中的邏輯地址直接轉(zhuǎn)換成為物理主機(jī)的物理地址

    Intel EPT Extended Page Table

    AMD NTP Nested Page Table

    GVA ---> HPA

  TLB Virtualization

    Translation Lookaside Buffer 轉(zhuǎn)換檢測緩沖區(qū)是一個(gè)內(nèi)存管理單元

    tagged TLB

      存儲(chǔ)虛擬機(jī)中邏輯地址到物理機(jī)的物理地址的轉(zhuǎn)化

?

I/O虛擬化

  存儲(chǔ)設(shè)備

    硬盤、光盤、U盤、軟盤

  網(wǎng)絡(luò)設(shè)備

    網(wǎng)卡

  顯示設(shè)備

    VGA

      frame buffer機(jī)制

      給每個(gè)驅(qū)動(dòng)一個(gè)緩沖窗口,一般使用完全虛擬化

  字符設(shè)備

    鍵盤

      ps/2、usb

    鼠標(biāo)

      ps/2、usb

    使用焦點(diǎn)捕獲方式,將字符設(shè)備和虛擬機(jī)建立臨時(shí)關(guān)聯(lián),一般使用完全虛擬化

  I/O虛擬化方式

    完全虛擬化

      完全使用軟件來模擬真實(shí)硬件

      適用于所有的設(shè)備

    半虛擬化

      移除了虛擬機(jī)中不必要的模擬驅(qū)動(dòng)使用,而是調(diào)用I/O前端驅(qū)動(dòng),I/O前端驅(qū)動(dòng)和物理主機(jī)上的I/O后端驅(qū)動(dòng)交互,從而直接調(diào)用物理驅(qū)動(dòng)

      通常僅適用于

        磁盤、網(wǎng)卡

      IO-through IO透傳

        讓虛擬機(jī)直接使用物理設(shè)備,仍然需要hypervisor協(xié)調(diào)

        需要硬件支持透傳技術(shù)

          Intel VT-d

            在IO MMU層隔離各虛擬機(jī)的IO數(shù)據(jù),避免因?yàn)榧械腄MA設(shè)備管理,導(dǎo)致多虛擬機(jī)的IO數(shù)據(jù)混淆

            并且還能完成中斷映射的對應(yīng)關(guān)系,明確各IO中斷對應(yīng)的處理虛擬機(jī)

            基于北橋的硬件輔助的虛擬化技術(shù),主要提升I/O設(shè)備可靠性、靈活性以及性能

?

虛擬化技術(shù)兩種實(shí)現(xiàn)

  Type-I

    hypervisor ---> vm

    Xen、RHEV、ESXi

  Type-II

    host vmm ---> vms

    KVM、VMware Workstation、Virtual Box

    依賴底層操作系統(tǒng)

?

KVM、Xen缺陷

  它們都不能完整意義上的實(shí)現(xiàn)IO,必須通過qemu、virtio實(shí)現(xiàn)IO傳輸

?

虛擬化技術(shù)分類

  模擬

    PearPC

    Bochs

    QEMU

    (模擬器)

  完全虛擬化

    native virtualization

    底層硬件架構(gòu)必須和虛擬機(jī)架構(gòu)一致

    VMware Workstation、VMware Server、Parallels Desktop、KVM、Xen(HVM)

  半虛擬化

    para-virtualization

    底層硬件架構(gòu)必須和虛擬機(jī)架構(gòu)一致

    xen、uml(user-mode linux)

  OS級(jí)別虛擬化

    OpenVZ

    lxc

    Solaris Containers

    FreeBSD jails

    (性能好)

  庫虛擬化

    wine

    在Linux上模擬Windows庫,可以玩Windows上的游戲、軟件

  應(yīng)用程序虛擬化

    jvm

?

TUN與TAP

  在計(jì)算機(jī)網(wǎng)絡(luò)中,TUN與TAP是操作系統(tǒng)內(nèi)核中的虛擬網(wǎng)絡(luò)設(shè)備。不同于普通靠硬件網(wǎng)卡實(shí)現(xiàn)的設(shè)備,這些虛擬的網(wǎng)絡(luò)全部用軟件實(shí)現(xiàn),并向運(yùn)行于操作系統(tǒng)上的軟件提供與硬件網(wǎng)絡(luò)設(shè)備相同的功能

  TAP等同于一個(gè)以太網(wǎng)設(shè)備,它操作第二層數(shù)據(jù)包如以太網(wǎng)數(shù)據(jù)幀

  TUN模擬了網(wǎng)絡(luò)層設(shè)備,操作第三層數(shù)據(jù)包比如IP數(shù)據(jù)包

  操作系統(tǒng)通過TUN/TAP設(shè)備向綁定該設(shè)備的用戶空間的程序發(fā)送數(shù)據(jù)。反之,用戶空間的程序也可以像操作硬件網(wǎng)絡(luò)設(shè)備那樣,通過TUN/TAP設(shè)備發(fā)送數(shù)據(jù),數(shù)據(jù)包投遞至操作系統(tǒng)的網(wǎng)絡(luò)棧,從而模擬外部接受數(shù)據(jù)的過程

?

虛擬化網(wǎng)絡(luò)

  nat

  bridge

  route

  isolation

?

網(wǎng)橋設(shè)備管理

NetworkManager不支持橋設(shè)備管理

1 chkconfig NetworkManager off 2 chkconfig networ on

?

橋設(shè)備管理軟件包安裝

1 yum install -y bridge-utils

?

編輯橋配置文件

cp ifcfg-eth0 ifcfg-br0vim ifcfg-br0DEVICE=br0NM_CONTROLLED=noTYPE=Bridge# 下面IP、掩碼、DNS直接使用原網(wǎng)卡的# 如果有mac地址最好刪除掉 vim ifcfg-eth0# 將 IP、掩碼、DNS等刪除BRIDGE=br0service network restart

?

使用brctl配置橋設(shè)備(不持久)

brctl addbr br0brctl stp br0 on ifconfig eth0 0 upbrctl addif br0 eth0ifconfig br0 IP/NETMASK uproute add default gw GW_IP

?

轉(zhuǎn)載于:https://www.cnblogs.com/cq146637/p/8893627.html

總結(jié)

以上是生活随笔為你收集整理的Virtualization基础的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。