DISKBIOS:一個(gè)統(tǒng)一的實(shí)機(jī)裝機(jī)和云主機(jī)裝機(jī)的虛擬機(jī)管理器方案設(shè)想
時(shí)間:2023-07-17 07:30:02 | 來(lái)源:網(wǎng)站運(yùn)營(yíng)
時(shí)間:2023-07-17 07:30:02 來(lái)源:網(wǎng)站運(yùn)營(yíng)
DISKBIOS:一個(gè)統(tǒng)一的實(shí)機(jī)裝機(jī)和云主機(jī)裝機(jī)的虛擬機(jī)管理器方案設(shè)想:
本文關(guān)鍵字:用hypervisor裝機(jī),用虛擬機(jī)管理程序代替winpe,帶VNC的裝機(jī)環(huán)境,單機(jī)虛擬化方案在前面xaas系列文章中我們涉及到多種不同的虛擬機(jī)/虛擬化技術(shù)和裝機(jī)技術(shù),比如在《發(fā)布virtiope》時(shí),我們談到云主機(jī)裝機(jī),那是在kvm的guest os里裝機(jī)。比如在《發(fā)布colinux代替os subsystem》中我們談到host/guest os技術(shù),《發(fā)布tinycolinux代替docker》中我們比較了tinycolinux與boot2docker中的iso linux,甚至在《免sandstorm的davros》時(shí)我們談到sandstorm其實(shí)也使用了一部分xaas虛擬技術(shù)。
其實(shí)虛擬機(jī)/虛擬化技術(shù)/虛擬機(jī)管理有多種,最常見的就是virtualbox,vmware這種工具級(jí)和應(yīng)用級(jí)的虛擬方案(多用于開發(fā)機(jī)環(huán)境),它屬于純粹的面向單機(jī)內(nèi)的虛擬方案。甚至有WIN10 WSL之類的東西其實(shí)就是二個(gè)OSSUBSYSTEM同時(shí)并列被實(shí)現(xiàn)在WINDOWS體內(nèi),當(dāng)然colinux也屬這類,它能在一個(gè)host os中裝多個(gè)guest os,只是多用于服務(wù)器環(huán)境或NAS類環(huán)境 ---- 當(dāng)然,如果嚴(yán)格說(shuō)起來(lái),它們可以組虛擬機(jī)集群只是不被提倡這樣做。
集群下的虛擬機(jī)技術(shù)有kvm,vps這種,KVM是一種hypervisor,即真正的大型iaas用的硬件支持虛擬下的虛擬機(jī),它介于物理機(jī)和os之間。有全虛擬化和半虛擬化如kvm,hyperV,xen等等,搭配openstack這種軟件可以做iaas。用于運(yùn)營(yíng)和云計(jì)算環(huán)境組建分布式集群。一般非常巨大。vs kvm, openvz這種虛擬OS較輕量,它走的是常規(guī)的OS級(jí)的虛擬方案----面向在單機(jī)OS內(nèi)部虛擬出多個(gè)OS,這符合我們對(duì)虛擬機(jī)的設(shè)想,且它的這種能力也使之非常靈活,可用于多種架構(gòu)也可同時(shí)用于分布式和單機(jī)環(huán)境下的虛擬。
虛擬化技術(shù)要么從使一臺(tái)機(jī)器或一個(gè)分布式架構(gòu)增加虛擬化隔離的能力分裂出子OS或從OS出發(fā),要么從有限的OS子組件虛擬分裂其計(jì)算能力。因此也有像docker這樣的方案,它有來(lái)自內(nèi)核調(diào)用的支持,它基本傾向于用戶層虛擬化。它可以做到純粹的文件系統(tǒng)虛擬化,像一些沙盒環(huán)境和綠色軟件做到的那樣,這是虛擬機(jī)中輕量的一種:虛擬容器。
在以上由管理器虛擬出OS的虛擬機(jī)技術(shù)中,被管理的os有的叫g(shù)uestos,有的叫virtualos,有的叫容器OS,(你可以完全不用糾結(jié)這類說(shuō)法,只要明白它們所處的明顯不同的階層就好了),而管理器往往以元OS的身份存在和被實(shí)現(xiàn),它發(fā)揮的是一種管理硬件資源的能力-----相當(dāng)于bios管理程序,只不過(guò)它面向裝各種虛擬OS,且它本身往往采用的是與虛擬OS同樣的OS技術(shù):liveos,所以它又像WINPE這樣的東西,這給了我們一個(gè)新思路:它可用于裝機(jī),如果這種管理程序用在給單機(jī)實(shí)現(xiàn)裝機(jī)的話,可以說(shuō)是除了BIOS之外的OS的OS,我們將它稱為DISKBIOS。
比如OPENVZ,由于它足夠輕量且可以被工具化。那么當(dāng)它用于普通個(gè)人裝機(jī),不妨可以一試,這樣它就兼具運(yùn)營(yíng)目的和實(shí)用目的了:比如,個(gè)人不但可以裝小雞出售,甚至可以僅用它實(shí)現(xiàn)一臺(tái)機(jī)器同時(shí)運(yùn)行多OS,多種不同的OS,且實(shí)現(xiàn)遠(yuǎn)程WEB VNC管理自己家里的那臺(tái)機(jī)器。
來(lái)討論一下可行性吧:
提出一個(gè)live os as winpe
談到支持虛擬化的內(nèi)核,一般就是patch過(guò)的kernel,而guest kernel可以復(fù)用同樣的內(nèi)核技術(shù),且各種具體虛擬OS層的OS模板可復(fù)用同樣的linux打包發(fā)行技術(shù),OS上套OS是虛擬化技術(shù)中最省事的。也有OSv這種重新發(fā)明了內(nèi)核的(據(jù)說(shuō)它每個(gè)用戶一個(gè)VM)。
傳統(tǒng)上OS分開系統(tǒng)空間和應(yīng)用空間,先OS再各種應(yīng)用,現(xiàn)在xaas時(shí)代,OS kernel只不過(guò)是我們組建復(fù)雜虛擬OS集的最小單元,至于各種應(yīng)用。。當(dāng)然處在虛擬OS中,作為元的hypervisor OS中只運(yùn)行虛擬機(jī)管理程序:負(fù)責(zé)虛擬OS的創(chuàng)建,暫停,停止,資源分配,甚至更多事情,比如遠(yuǎn)程可視監(jiān)視VNC,ETC。。
anyway,我們要談到的實(shí)機(jī)裝機(jī)也完全可以是通用最簡(jiǎn)單的OS套OS的思路:提出一個(gè)元liveos,在其中裝一個(gè)虛擬機(jī)管理器用于分配和引導(dǎo)虛擬OS。hypervisor os和各種虛擬OS都采用tinycolinux,linux內(nèi)核保證能編譯支持多種最新MAS設(shè)備的能力使之能極好地代替WINPE作這種live裝機(jī)環(huán)境,開機(jī)時(shí)可以選擇讓這些虛擬OS同時(shí)運(yùn)行(服務(wù)器環(huán)境時(shí)),或開機(jī)裝僅運(yùn)行一個(gè)(實(shí)機(jī)裝機(jī)時(shí))。。
采用tinycolinux是為了保證元live os的輕量,畢竟裝機(jī)環(huán)境不能太大,要注意host liveos 和guest virtual os是一直在線運(yùn)行的,這個(gè)live os是一直在線管理的,只有g(shù)uest os是可以選擇性關(guān)閉,重啟的。這是與winpe等裝機(jī)環(huán)境離線運(yùn)行裝好的OS不同的地方。不過(guò)這也是它的優(yōu)點(diǎn):元管理OS常駐可以實(shí)現(xiàn)在線裝機(jī)。
在liveos中配合虛擬機(jī)管理程序用于實(shí)機(jī)在線裝機(jī)/維護(hù)
虛擬機(jī)管理器則用openvz來(lái)做向linux patch虛擬化支持。再加上vzctl命令行工具或WEB管理器openvz panel等工具(如上所說(shuō)機(jī)器一直開著元管理常駐就可以遠(yuǎn)程管理且裝機(jī)/像ghost一樣恢復(fù)etc..),各種IP池可用端口轉(zhuǎn)發(fā)加虛擬網(wǎng)卡驅(qū)動(dòng)來(lái)實(shí)現(xiàn)。
甚至我們可以增強(qiáng)它,使之還包含paas的東西,,比如像sandstorm一樣虛擬出app,app-grains,etc..將資源管理更細(xì)?;?,真正極度服務(wù)于運(yùn)營(yíng)目的。
當(dāng)然,如果是面向?qū)崣C(jī),實(shí)際上一個(gè)虛擬OS獨(dú)立所有可用資源的情況下,不必這樣做,直接裝好了即可。
下一文可能就是用在《tinycolinux編譯openvz內(nèi)核》,然后制種一個(gè)live tinycolinux,,,再制種一個(gè)tinycolinux guest os的文章了。
(此處不設(shè)回復(fù)和更新,點(diǎn)擊GIF掃碼到微信參與留言或獲取資源)
關(guān)鍵詞:管理,虛擬,方案,設(shè)想,主機(jī),統(tǒng)一