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