Vagrant 1.6 將會支援 Docker

Vagrant 1.6 將會支援 Docker:「Feature Preview: Docker-Based Development Environments」。

對於 Linux 原生環境沒有問題,而對於非 Linux 環境,Vagrant 會建立一台跑 Linux 的虛擬機,然後在裡面跑 Docker,很有趣的作法 :p (反正想辦法支援)

Docker 與虛擬機的速度當然是沒辦法比較 (Docker 快太多),如果 1.6 穩定的話,應該要花不少時間來研究整合了 :p

Vagrant 1.5

Vagrant 1.5 出了:「Vagrant 1.5 and Vagrant Cloud」。

最大的亮點是前陣子就有寫「Feature Preview: Vagrant Share」的 Vagrant Share,可以讓其他人很方便的連到自己的 Vagrant 機器上。

Vagrant Cloud 則是產品面上的整合,算是社群功能?

最近拿 Vagrant 與 Docker 測試的次數愈來愈頻繁了,之前拿 Amazon EC2,但開機速度太慢,而 DigitalOcean 開機速度雖然快很多,但不是很容易透過 cli 操作...

而這兩套各有優缺點。Docker 速度快,但環境相容性沒有 Vagrant 好,另外 Vagrant 畢竟是包著 VirtualBox 這種全虛擬化環境,除了 Linux 以外也可以測其他的作業系統。

反正都是熱門的軟體,之後看社群發展出什麼功能再看要怎麼用 :p

測試 GitLab 的方式...

除了在「doc/install/installation.md」有手動安裝的方式外,在「GitLab CE Downloads」有提供 Ubuntu 12.04 LTS 64bits 的 deb 檔可以安裝。

官方在「GitLab Omnibus project」提供的安裝方式是:

apt-get install openssh-server postfix
dpkg -i ooxx.deb
gitlab-ctl reconfigure

不過在 Docker 裡面會卡在設定 redis 的部份而無法成功,卡在:

Recipe: gitlab::redis
  * user[gitlab-redis] action create (up to date)
  * directory[/var/log/gitlab/redis] action create (up to date)
  * directory[/var/opt/gitlab/redis] action create (up to date)
  * template[/var/opt/gitlab/redis/redis.conf] action create (up to date)
  * directory[/opt/gitlab/sv/redis] action create (up to date)
  * directory[/opt/gitlab/sv/redis/log] action create (up to date)
  * directory[/opt/gitlab/sv/redis/log/main] action create (up to date)
  * template[/opt/gitlab/sv/redis/run] action create (up to date)
  * template[/opt/gitlab/sv/redis/log/run] action create (up to date)
  * file[/opt/gitlab/sv/redis/down] action delete (up to date)
  * link[/opt/gitlab/init/redis] action create (up to date)
  * link[/opt/gitlab/service/redis] action create (up to date)
  * ruby_block[supervise_redis_sleep] action run

後來是用 Vagrant (跑 VirtualBox) 才測試成功。就可以看到 PostgreSQLRedis 整包都被放到 /opt 下了...

提供給要玩 GitLab 的人參考看看...

虛擬環境下檔案系統的讀寫速度...

有人對 VMware 以及 VirtualBox 測試效能:「Comparing Filesystem Performance in Virtual Machines」,有四張圖:

不過數字怪怪的,NFS 那邊是怎樣 XDDD

看看就好,如果有用到再自己測試看看吧?

微軟提供的 IE{7,8,9,10} 測試環境...

微軟前幾天公開了 IE{7,8,9,10} 測試服務:「Testing made easier in Internet Explorer」。

測試服務包括:

  • 網站版本,可以測試公開網站。
  • 虛擬機版本,可以測試內部網站。這次除了提供 Virtual PCHyper-V 版本的映像檔外,還提供了 VMware PlayerVirtualBox 版本。

不過這些檔案會不會太大了點... 我是抓 VirtualBox 版本,IE10_Win8.zip 居然有 2.7GB,為了真實模擬,所以把整個 Win8 包進去嗎 XDDD

在 Mac 上虛擬化技術的方案...

Zite 上看到 Mac 上虛擬化技術方案的效能比較:「Benchmarking Parallels, Fusion, and VirtualBox Against Boot Camp」。

報告裡是用 iMac 加上外接一堆暴力設備測試 Parallels Desktop 7 & 8、Fusion 4 & 5、VirtualBox 以及 Boot Camp (相當於原生系統,當作比較用)。

可以看到在 Futuremark 系列的數字中付費的方案都是遠遠超越免費的 VirtualBox... 不過其他的測試中倒是差不多,甚至有 VirtualBox 超越商用方案。

不過現在在 Mac 上的 VirtualBox 好像只拿來開 IE 轉帳,以及跑 VMware vSphere Client,效能不要差到受不了就可以了...

VirtualBox 複製硬碟資料的方式

把系統作成 template 後,會希望可以複製多份設定不同的細節。除了要 copy vdi 檔以外,還需要用 VBoxManage 指令修改硬碟映像檔的 UUID 值,不然會因為 UUID 值相同而無法匯入到 VirtualBox 內:

cp /path1/MyHardDiskTemplate.vdi /path2/ooxx.vdi
VBoxManage internalcommands sethduuid /path2/ooxx.vdi

另外在有支援 COW 的檔案系統上 (像是 Btrfs?),cp 指令可以試著加上 --reflink,讓檔案系統知道這是同樣的檔案,可以更省空間...

Ubuntu 上跑 VirtualBox 連接 USB 裝置...

Ubuntu 10.10 系統內的 VirtualBox 是 OSE 版本 (Open Source Edition),先到 VirtualBox 官方網站下載對應的 deb 檔:「Download VirtualBox for Linux Hosts」,像我的電腦是跑 10.10 amd64 版本。

接下來是把系統內的 VirtualBox 移除:

apt-get purge virtualbox

移除完畢以後將剛剛下載的 deb 檔安裝進系統:(後面的檔名自己變更)

dpkg -i virtualbox-4.0_4.0.4-70112~Ubuntu~maverick_amd64.deb

然後把自己加到 vboxusers 這個 group 內 (我是直接改 /etc/group),改完後重新登入,然後:

  • 在 Guest OS 關機狀態下,設定允許讓 Guest OS 使用的 USB 裝置。
  • 將 Guest OS 內的 Windows XP 開機後,安裝 VirtualBox 提供的 Guest Additionals。

接下來就可以用 IE 到網路銀行安裝 ActiveX,然後測試讀卡機是否正常運作...