~Virtualization
2016/12/22 第十一組
將電腦中的實體資源做分配與切割的過程
全虛擬化 Full Virtualization
半虛擬化 Para-Virtualization
作業系統層虛擬化 OS-Virtualization
一支具備電腦功能的程式
虛擬硬體、CPU、記憶體、磁碟、網路等等
Host machine(OS)與Guest machine(OS)
QEMU, VirtualBox, VMware, Xen
管理Virtual machines
Native hypervisors
Hosted hypervisors
能直接與硬體溝通
有較高的安全性(掌握在hypervisor上)
適合server虛擬化
Xen, XenServer , Hyper-V , Xvisor
支援較多的I/O device
用於客戶端
VMware, VirtualBox
Guest完全獨立
透過軟體模擬硬體環境
VMWare, Virtual Box, KVM
Guest透過hypercall使用CPU
Host減少CPU模擬,提高效能
需要修改guest OS的核心
Xen
與Host共用所有資源
Guest與Host使用同一個核心
OpenVZ
HYP
新增 HYP exception (privilege2)
HVC (Hypervisor Call) 指令
Hypervisor Control Register (HCR) marks virtualized resource
Hypervisor Syndrome Register (HSR) for Hyp mode entry reason
•可以模擬IA-32(x86)個人電腦,AMD64個人電腦,MIPS R4000,ARM v6, v7(Cortex-A8, A9, A15),昇陽的SPARC sun3與PowerPC(PReP及Power Macintosh)架構
•支援其他架構,不論在主機或虛擬系統上
•增加了模擬速度,某些程式甚至可以實時運行
•可以在其他平台上運行Linux的程式
•可以儲存及還原運行狀態(如運行中的程式)
•可以虛擬網路卡
•可模擬多CPU
User mode模擬模式
用來運行程式
System mode
用來模擬整個電腦系統
info network:顯示網路介面狀態
info block:顯示儲存裝置狀態
info registers:顯示 CPU 的暫存器狀態
info history:顯示歷史指令
savevm filename:將整個模擬器狀態儲存至檔案中
loadvm filename:由檔案中載入模擬器狀態
#!/bin/bash
/sbin/ifconfig ${1##/*/} 192.168.1.254
route add -host 192.168.1.101 dev ${1##/*/}