VirtualBox on Ubuntu 12 TLS

(講師台南教網中心 kawsing)

安裝基礎實體機系統:

創建第一台虛擬機 (母機):

創建第二台虛擬機 (dns 備援):

安裝第三台虛擬主機當暫時伺服器(暫時服務隨時消滅):

第四台虛擬機,由第三台暫時伺服器轉存為新的虛擬伺服器(非暫存用):

共享資料匣:

轉 port:

網卡要選 nat > 連接埠轉送 > + 圖示 > 主機連接埠設 8080 (此為實體機的 port) > 客體連接埠設 80 (虛擬機的 port)

以 root 權限控制檔案總管:

工具 > 以 root 權限,加上以下指令碼

gksu %s

netstat -lt -n

查看開放的 port

#sudo service ssh start

實體機 PORT 2222 轉至虛擬機的 22 port

ssh -l root ip -p 2222

第二種方式:

利用一台虛擬機最多可建 8 個網卡的特性,設虛擬機的真實 ip 22 port,綁在虛擬機私有 ip 的 22 port。

建立僅限主機介面卡。

在 virtualbox > 檔案 > 喜好設定 > 網路 > + 圖示 > 加上 vboxnet0

在虛擬機上加上第二片網卡,名稱設為 vboxnet0 ,然後開機。

第二片網卡在 ubuntu 中以 dhcp 取得 ip,開機後確認 ip。

#sudo service ssh start

簡易 V2V :

就直接下指令,將 .vdi 檔轉為 vmdk (vmware 格式) 或 vhd (微軟格式)。

在 /home/username/VMs/image 檔案匣中輸入指令:

#VBoxManage clonehd ../sheep/sheep.vdi sheep.vmdk --format vmdk

//轉 vmdk

#VBoxManage clonehd ../sheep/sheep.vdi sheep.vhd --format vhd

//轉 vhd

//指令解釋: VBoxManage clonehd 來源檔名 目的檔名 --format 格式名稱如vmdk或vhd

UUID 會改變。

原本動態硬碟只有 8g 的話,要擴充硬碟空間:

先 resize 虛擬硬碟,然後 guest os 以光碟開機,執行 gparted 指令調整磁區,guest os 重開就有更大的空間了。

在 linux 下看是 .vdi 看到真實用量。

#VBoxManage modifyhd sheep.vdi --resize 12000

//12000 為 12000 mb 的意思,擴為12 gb。

sheep 停機,叫回光碟機,以原安裝光碟 iso 開機,關掉安裝視窗,進入桌面執行終端機,輸入下列指令,會進入磁區圖形管理介面。

#sudo gparted

磁區圖形介面環境中來刪後面的磁區,將第一磁區擴充:

停用交換區(swap,sda2)

刪除sda5

刪 swap

套用

留1gb給swap使用,放到最後面。

sda1 右鍵以拉 bar 來調整大小。

調整完後,套用,再新增extended 區,再加上 swap。到最後會有 sda1 (ext4)主磁區,sda2 (extended 延伸磁區) 及 sda5 (swap)磁區。

重新開機。

備份 vdi ,並再生該 vm:

利用網頁介面作 vbox 管理:

安裝 floppyfw (小型 nat firewall 系統):

Tiny Core:

下載 tiny core 的 iso 檔。

linux > other linux

192mb ram

1g 硬碟

開機完可在 app 中安裝 tc-install.tcz 的程式 (apps > search) > 按 go 鍵 > 開始安裝至硬碟。

雙台備援:

以 private ip 作備援以免占用真實 ip 頻寬。

虛擬機的網卡設定是「內部網路」,即是內部網路區段但不取用真實 ip 。

gateway 用 0.0.0.0  ,設固定私有 ip 用私用網段即可。

ubuntu 編輯程式為 sudo nm-connection-editor

重設好私有 ip 先 ping 測試一下,再 ssh 看看能不能通。虛擬機的網卡設定完記得重新啟動。

利用 /opt/toos/ensshRsync.sh 作備份,請先打開此檔編輯設定值(有五、六個),再執行看看,最後用 crontab -e 來作定期備份。

公私鑰放在 /root/.hasshkey ,刪掉可再重新製作。

drbl 再生龍環境(練習架 drbl 伺服器,並將一台樣本機取出映像檔再還原至其他 client 機器):

android-x86 變虛擬機:

vbox 指令 (VBoxManage 必須在非 root 帳號下,普通使用者才能使用):

#!/bin/bash

su username -c "VBoxManage startvm vm-name -type headless"

#虛擬機無介面(節省資源)

su username -c "VBoxManage startvm vm-name -type gui"

#虛擬機採視窗介面

(windows 2008 的事件檢視器 1074 代碼為關機,關機 script 若有成功,再看事件檢視器有無出現此項。沒有關機錯誤訊息即成功。記得在控制台中設定按下電源鍵為關機。)

以下引用區塊引用自: http://rainstingtw.blogspot.com/2012/09/use-VBoxManage-to-control-VirtualBox.html

透過 VBoxManage 來控制 VirtualBox

在 VirtualBox 內,除了透過圖形化介面來控制我們的虛擬機器外,

也可透過下 command 的方式來控制我們的虛擬機。

這裡來紀錄一下,如何透過 VBoxManage 這個內建的 command 來控

制 VirtualBox:,以下就介紹幾個常用的:

1. How to show the VirtualBox VM info

VBoxManage showvminfo

2. How to show the VM Harddrive info

VBoxManage showhdinfo

3. How to list running VM

VBoxManage list runningvms

4. How to list available VM

VBoxManage list vms

5. How to list available VM Harddrives

VBoxManage list hdds

6. How to list available ISO’s

VBoxManage list dvds

然後這裡列出如何透過 command 來直接控制 VM:

7. How to Start VM

這裡要注意,透過在前面增加前綴字「nohup」,可以確保離開 console 後,

我們的 VM 還能在背景執行:

nohup VBoxHeadless --startvm <vmname>

8. How to pause VM

VBoxManage controlvm <vmname> pause

9. How to resume VM

VBoxManage controlvm <vmname> resume

10. How to reset VM

VBoxManage controlvm <vmname> reset

11. How to poweroff VM (hard poweroff eg. pull the plug)

VBoxManage controlvm <vmname> poweroff

12. How to send poweroff single to VM (tells VM OS to shutdown)

VBoxManage controlvm <vmname> acpipowerbutton

13. How to attach a DVD / CD to a running vm

VBoxManage controlvm <vmname> dvdattach <filename>

14. How to de-attach a DVD / CD from a running vm

VBoxManage controlvm <vmname> dvdattach none

15. How to find out the VM IP

VBoxManage guestproperty get <vmid>"/VirtualBox/GuestInfo/Net/0/V4/IP"

參考資料:

http://www.linuxspy.info/tag/virtaulbox-how-to-reset-vm/

https://forums.virtualbox.org/viewtopic.php?f=7&t=24967

利用 kvm 的 nbd 功能,在實體機掛載備份虛擬機的磁碟,以備份其中的資料:

匯入 ova ovf 檔案之注意事項:

匯入 .ova 檔時,出現 internal inconsistency looking up disk image 'vmdisk1' 解法:

VirtualBox 升級:

http://ubuntuhandbook.org/index.php/2013/10/virtualbox-4-3-released-install-or-upgrade-in-ubuntu-linux-mint/

http://www.youtube.com/watch?v=2DfbUP2LDTk

https://www.virtualbox.org/wiki/Linux_Downloads

出現:

The VirtualBox Linux kernel driver (vboxdrv) is either not loaded or there is a permission problem with /dev/vboxdrv. Please reinstall the kernel module by executing

'/etc/init.d/vboxdrv setup'

as root. Users of Ubuntu, Fedora or Mandriva should install the DKMS package first. This package keeps track of Linux kernel changes and recompiles the vboxdrv kernel module if necessary.

讓 virtualbox 隨著 linux 核心升級,也可以自行升級相關的 vbox 核心:

sudo apt-get install dkms

然後:

sudo /etc/init.d/vboxdrv setup

沒出現問題了,所以以下步驟沒做:

http://ubuntuforums.org/showthread.php?t=1150414&page=2

in another scenario on Ubuntu 12.1 quantal the command 

sudo /etc/init.d/vboxdrv setup

have faced error and guided me to install the latest linux header so i executed the following code!

Code:

sudo apt-get install linux-headers-3.5.0-23-generic

the header version was given by the error message so don't worry ... it worked like a charm!