7.虛擬化(不全

概述

  • 大機器不靈活, 因此誕生在物理機上搭建虛擬機的方法.
    • 資源大小不靈活
    • 資源申請不靈活
    • 資源共享不靈活
  • 搭建虛擬機的問題是: 虛擬機軟件必定是運行在用戶態(tài), 虛擬機中的內(nèi)核無法運行內(nèi)核指令.
  • 在虛擬化層, 例如桌面應用 VritualBox 中有三種虛擬化方式:
    • 完全虛擬化
      由虛擬化軟件(例如 VirtualBox) 模擬假的 CPU, 內(nèi)存, 硬盤等待資源, 將虛擬機的內(nèi)核指令轉發(fā)給外部系統(tǒng)運行, 將結果返還給虛擬機.
      缺點: 執(zhí)行速度很慢.
    • 硬件虛擬化
      為了提高運行速率, 讓虛擬機大部分內(nèi)核指令都能直接在 CPU 上執(zhí)行, 部分敏感指令還是通過中轉的方式執(zhí)行. Intel VT-X 和 AMD AMD-V 提供硬件支持. 通過添加標志位來標識當前虛擬機的指令是否直接在 CPU 上執(zhí)行.
    • 半虛擬化
      網(wǎng)絡/硬盤可以加載針對虛擬機特殊優(yōu)化的驅動, 通過內(nèi)存緩存等方式優(yōu)化資源的訪問.


      image.png
  • 虛擬化工具
    • 桌面虛擬化軟件用 VirtualBox, 服務器上用 qemu
    • qemu 采用完全虛擬化的模式. 可在 BIOS 中打開硬件輔助虛擬化, 虛擬機 CPU 指令通過 KVM 直接運行, 提高運行速率.
    • KVM 是一個內(nèi)核模塊. 通過 /dev/kvm 暴露接口, 用戶態(tài)程序可以通過 ioctl 訪問這個接口直接運行 CPU 指令.
    • Qemu 整合 KVM, 將 CPU 指令交由 KVM 運行. 即 qemu-kvm (或 qemu-system-XXX)
    • Qemu-kvm 只解決 CPU 性能問題, qemu 讓虛擬機加載特殊驅動, 實現(xiàn)半虛擬化. 例如網(wǎng)絡驅動 virtio_net, 存儲驅動 virtio_blk.
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容