iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 16
0
自我挑戰組

資訊技術解戈迪安繩結系列 第 15

IT|軟體|VirtualBox 虛擬空間動態調整與 Port Forwarding

介紹


VirtualBox 是免費好用的虛擬機器,不過偶而會遇到一種情況:剛開始裝設的虛擬機器只是用來測試,所以一開始沒有配給很大的虛擬硬碟,不過後來測試的東西越來越多導致原有硬碟容量不足,在以前的 VirtualBox 版本中虛擬硬碟 (VDI,Virtualbox Disk Image) 一旦決定了最大值是無法事後擴增的,因此只能建立一個新的。在 VirtualBox 4.x 以後的版本已經支援 VDI 容量擴增與壓縮,不過官方並不建議這樣做,故沒有製作 GUI 的調整方式,僅提供指令來 擴充/壓縮 硬碟映像檔。

[動態空間調整]

放大硬碟空間(限定使用 vdi 格式)


https://ithelp.ithome.com.tw/upload/images/20171223/201076210IwdQorvKP.png

放大硬碟空間
VBoxManage modifyhdWin7-旗艦版.vdi --resize 512000

壓縮虛胖的硬碟空間


VirtualBox同時支援自己的虛擬硬碟格式VDI和Vmware的VMDK格式,兩種格式的壓縮略有不同。

[磁碟重組]:第一步要做的是磁碟重組,打開虛擬機器,執行下面的命令:

Linux下

sudo dd if=/dev/zero of=/EMPTY bs=1M
sudo rm -f /EMPTY

Windows下

Windows系統需要下載 Sysinternals Suite 解壓縮後路徑請放在:
C:\SysinternalsSuite

執行以下指令
sdelete –z

[壓縮資料]

關閉虛擬機器,現在可以開始壓縮虛擬硬碟了如果你的虛擬硬碟是 VirtualBox 自己的VDI格式,找到你的虛擬硬碟檔,執行命令:MAC VirtualBox 應用程式安裝路徑:/Applications/VirtualBox.app/Contents
VBoxManage.exe modifyhd mydisk.vdi --compact

如果你的虛擬硬碟是Vmware的VMDK格式,那就要麻煩點,因為VirtualBox不支援直接壓縮VMDK格式,但是可以變通下:先轉換成VDI並壓縮,再轉回VMDK。執行命令:

VBoxManage clonehd "source.vmdk" "cloned.vdi" --format vdi
VBoxManage modifyhd cloned.vdi --compact
VBoxManage clonehd "cloned.vdi" "compressed.vmdk" --format vmdk

事實上,執行命令的過程中可以發現:在從 VMDK 轉換到 VDI 的過程中似乎已經做了壓縮,檔大小已經減少了很多,第二條命令反而沒見到檔大小有什麼變化,所以這裡第二條命令應該可以省略了。

Port Forwarding


簡單的 VirtualBox 內建功能 「Port Forwarding 」
https://ithelp.ithome.com.tw/upload/images/20171223/20107621YnupmGMRPk.png

新增加一個規則,Host Port 設成 6082,Guest Port 是 22,這樣只要連本機的 6082 port,就會自動轉向到 VM 的 22 port (SSH)
https://ithelp.ithome.com.tw/upload/images/20171223/20107621dZjh4kkRtb.png

使用下面 SSH 指令連線至 VM
ssh -p 6082 root@localhost


上一篇
IT|資訊系統|專案管理|Redmine Project management system (PMS) 協同專案管理系統建置
下一篇
IT|維運管理|作業系統|Linux|Watchdog 確保 Raspberry Pi(樹莓派) 高可用性
系列文
資訊技術解戈迪安繩結29

尚未有邦友留言

立即登入留言