VirtualBox使用技巧:关于undo差分盘与端口映射
為什么80%的碼農(nóng)都做不了架構(gòu)師?>>> ??
參見VirtualBox UserManual文檔
一、undo盤(Differencing images),差異盤的具體實(shí)現(xiàn)
使用VirtualBox自帶的程序VBoxManage(通常在vbox安裝目錄下)來完成一下操作。操作如下:
1.創(chuàng)建一個虛擬機(jī)及一個虛擬磁盤,可以是任意類型(也可以是已有的虛擬機(jī)或磁盤)。
2.掛載這個虛擬磁盤,執(zhí)行下列命令:
VBoxManage unregisterimage disk Ubuntu_1004_Server.vdi3.釋放掉這個掛載的虛擬磁盤,繼續(xù)執(zhí)行
VBoxManage registerimage disk Ubuntu_1004_Server.vdi -type immutable4.重新掛載上述磁盤,即發(fā)現(xiàn)存儲一列的磁盤類型已由原來的normal變?yōu)閕mmutable類型。
自此轉(zhuǎn)換成功完成!
------------------------------------------------------------------------------
1、轉(zhuǎn)換之后又什么作用呢?
最大的變化是,從此你在這臺虛擬機(jī)的任何修改及讀寫都不會保存(注意僅是當(dāng)前修改的虛擬機(jī),如果你新建另一個虛擬機(jī)并掛載此虛擬磁盤的話它仍將變回normal類型)。
2、這樣一來,要怎么保存自己修改過的數(shù)據(jù)呢?你可以將你的修改都保存到備份中,也就是如果你在創(chuàng)建完一個immutable類型的虛擬磁盤后立即為當(dāng)前虛擬機(jī)作一個備份然后以后的操作都在這個備份中進(jìn)行,這樣你就可以將修改的內(nèi)容都存儲到磁盤備份中,下一次啟動這臺虛擬機(jī)的時候也會自動加載最新的備份。
3、這樣做有什么目的呢?目的只有一個,就是節(jié)省磁盤空間,可以重復(fù)利用一個虛擬磁盤創(chuàng)建出多個不同的虛擬機(jī)來。
相對于VirtualPC或vmware來說,這個操作比較麻煩,實(shí)現(xiàn)的效果也大同小異。
二、實(shí)現(xiàn)虛擬機(jī)端口映射到主機(jī)某端口
1.在完成下面的操作前,請保證你的虛擬機(jī)的網(wǎng)絡(luò)連接方式為NAT(端口映射的目的就是限制外部對虛擬機(jī)及服務(wù)的訪問,因此只有設(shè)置為NAT模式才有意義):
對于ubuntu你可以進(jìn)行如下設(shè)置,設(shè)置方法請參考:關(guān)于Ubuntu的ip設(shè)置
使用NAT模式VBox無法保證能對linux自動分配IP地址,因此雖然VBox有DHCP服務(wù)器,但是實(shí)際操作中發(fā)現(xiàn)仍然需要手動去設(shè)置網(wǎng)絡(luò)連接信息,具體設(shè)置如下:
- IP:10.0.2.15
- 網(wǎng)關(guān)(gateway):10.0.2.2
- 子網(wǎng)掩碼(netmask):255.255.255.0
- DNS:10.0.2.3
#子網(wǎng)掩碼和DNS可設(shè)置為與主機(jī)相同。
#如果有多臺使用NAT網(wǎng)絡(luò)的虛擬機(jī),IP地址可相應(yīng)設(shè)為10.0.3.15、10.0.4.15等等。
(文檔中說明DNS應(yīng)該設(shè)置為使用VBox內(nèi)置的DNS服務(wù)器,即10.0.2.3,但測試發(fā)現(xiàn)設(shè)置此DNS并不能實(shí)現(xiàn)地址解析,可能是版本問題。因此還是設(shè)置為與主機(jī)相同的地址或谷歌的DNS解析地址:8.8.8.8)
當(dāng)然也可以設(shè)置為其他DHCP分配的地址,詳細(xì)請參考VBox使用文檔:9.8節(jié) Fine-tuning the VirtualBox NAT engine
2.同樣使用VBoxManage完成上面的操作后虛擬機(jī)的Tcp端口80將會映射到主機(jī)8080端口
以下內(nèi)容來自:具體參見第6章Virtual networking第6.3節(jié)Network Address Translation (NAT),94頁
c: && cd C:\Program Files\Sun\VirtualBox VBoxManage setextradata "ubuntu" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestweb/Protocol" TCP VBoxManage setextradata "ubuntu" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestweb/GuestPort" 80 VBoxManage setextradata "ubuntu" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestweb/HostPort" 80803.在什么情況下做端口映射呢?
如果你設(shè)置虛擬機(jī)的上網(wǎng)方式為nat(通過地址轉(zhuǎn)換或dhcp方式獲得的內(nèi)網(wǎng)地址),外網(wǎng)將無法直接訪問到你虛擬機(jī)的web服務(wù),因此需要進(jìn)行端口映射將外部對真實(shí)主機(jī)的某端口訪問映射到虛擬機(jī)的指定服務(wù)端口。
這樣在某方面提高了web服務(wù)的安全性,無論如何收到攻擊的最先是主機(jī),不會先影響到web服務(wù)及數(shù)據(jù),起到一個隱蔽的效果。
此外,你可以通過映射虛擬機(jī)的ssh的22端口到主機(jī)從而實(shí)現(xiàn)遠(yuǎn)程登錄管理虛擬機(jī)。
注:
#e:\SUN\Ubuntu_1004_Server.vdi就是我所創(chuàng)建的虛擬磁盤。
#C:\Program Files\Sun\VirtualBox>是我的VirtualBox VBoxManage.exe程序的絕對路徑。
#ubuntu是需要做端口映射的虛擬機(jī)名稱
#guestweb是自定義的名稱,作為虛擬機(jī)端口映射的實(shí)現(xiàn)名稱
轉(zhuǎn)載于:https://my.oschina.net/cwalet/blog/306266
總結(jié)
以上是生活随笔為你收集整理的VirtualBox使用技巧:关于undo差分盘与端口映射的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux下puppet的“资源”管理
- 下一篇: web项目发布时出现Deployment