--- tags: 1092, lsa --- # Week 05 (2021/03/25)虛擬化 - Book mode https://hackmd.io/@ncnu-opensource/book [本日報告組別共筆](https://hackmd.io/3EevJHwRSnep8pdlXd7YrA) --- :::info 前提假設某人有兩個伺服器 ::: - 一台伺服器就是一個網站 - 但是只有一個網站在一台功能強大的伺服器上跑好浪費 - 而且一台伺服器,又貴又大又重。 - 可能一台很忙,一台很閒 - 發展出一台伺服器兩個網站 - 當一個網站出了問題,兩邊當完蛋 - 在一台伺服器上開兩台 VM - 當一個網站出了問題,另外一個網站是安全的 - 但是物理方面出事依然會阿伯初四了 - 那就兩台伺服器都開兩台 VM - 伺服器可以彼此互相支援 - 但是每台伺服器都要留一個空位給壞掉的時候做準備,資源會卡死死 - 兩台伺服器一起建立虛擬平台,在平台上開多台 VM - 以上那些該死的問題都解決了 ## 虛擬化的定義 - 虛擬化是將電腦的各種實體資源(CPU、記憶體、磁碟空間、網路卡等),予以抽象、轉換後呈現出來並可供分割、組合為一個或多個電腦組態環境。 ## 虛擬化分類  ### 程式語言的虛擬化 - 此等級的虛擬化會將高階語言轉譯成一種名為位元組碼的語言,透過虛擬機器轉譯成為可以直接執行的命令。 - 你寫( .java ),編譯器會幫你編譯成 java 看得懂的語言(.class),然後 JVM 就是會再將位元碼翻譯成各個 OS 所看得懂的0101序列。 - ex. Oracle Java  - 對於 Java 而言,其實它只認識一種作業系統,這個系統叫作**JVM** - 對於 JVM 而言,位元碼檔案就是它的可執行檔案 ### 函式庫等級的虛擬化 ### 作業系統等級的虛擬化 ### 硬體抽象層等級的虛擬化 - libvirt - 一套開源的虛擬化的管理工具 - 功能:虛擬機器管理、支援遠端連線、存儲管理 - 現在的 libvirt 是去管理 QEMU、KVM 等的,本身並沒有參與到虛擬化 #### 全虛擬化 (Fullvirtualization)  ### 半虛擬化 (Paravirtualization)  - 是為了改善傳統 x86 架構下,硬體對虛擬化無法支援,而提出的一種改進技術  - Domain 0 以外的都稱為 Domain U - 比較 | Bare-Metal hypervisor | | Hosted hypervisor | |:------------------: | ----- |:-----------------:| | 👍 | 效能 | 👎(全軟體模擬) | | 👍 | 穩定度 | 👎 | | 👍 | 安全性 | 👎 | | 👎 | 易用性 | 👍 | |企業上較常使用||自己試做| > 「企業上較常使用」非常有問題[name=blueT] 以上都是較傳統的知識 ---
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up