星期四, 7月 28, 2011

初探 XenServer 免費版

主管指示要開始朝虛擬化前進,原本是想採用 Hyper-V Server ,安裝及設定參考蘇老的文章,用起來也很不錯。沒想到Hyper-V Server 2008 R2 SP1對Linux的相容性比以前還糟,我愛用的TrueImage開機光碟完全不能用。

接下來只好準備換跑道,看到保哥在噗浪上寫 KVM 效能遠勝過 Hyper-V Server ,於是在我的Ubuntu桌機設定 KVM,跑起來感覺並沒有很快。接著我再換 Xen 核心,跑起來其實和 KVM差不多。其實在這裏我犯了嚴重的錯誤,企業級虛擬化與個人用虛擬化不同,應該要使用"乾淨"的測試環境才準。關於Xen的安裝及原理可以參考鳥哥的利用 Xen 設計虛擬機器。至於市場龍頭VMWare 免費Server ESXi很挑硬體,我手上沒有SCSI硬碟,所以就算了。(而且聽說它的管理工具要錢,這...)

其實KVMXen很類似,都是建立在修改Linux Kernel之上(但是KVM算是Linux Kernel內建功能),也都利用QEMU做為虛擬機執行平台,較新的Linux Kernel都內建支援XenKVM。現在Virt管理工具也做的不錯,但我暫時選擇XenServer。原因為何?Xen已經非常成熟,在多篇效能比較裏,它的CPU使用率都很低,I/O效能也好,加上商用軟體整合性好;我需要有良好UI管理工具,並且要易於安裝,用KVM有不少東西得手動來。

XenServer還有個特點,就是免費版也具有動態搬移VM的功能(Live Motion,在Hyper-V叫Live Migration,在 Hyper-V Server 2008 R2之後具備),可以參考這篇

安裝主機很簡單,步驟可以參考,硬體需求就是CPU要有支援Intel VT或AMD-V,詳情看XenServer 安裝指南。裝好後,找台支援.Net framework 2.0的Windows安裝管理介面Xen Center,隨附在安裝ISO檔裏。

接下來當我在XenServer上安裝VM時,第一個想法就是:「真是麻煩呀!」。它不像Hyper-V Server能夠直接丟ISO檔過去,而是必須讓它mount遠端的網路磁碟。所以我後來幾乎都是利用TrueImage將線上的Server備份,直接在上面還原。

不過裝好以後,效能表現確實令人讚賞呀!請看在下的使用狀況:

註:這台主機是一台商用PC,接了1TB硬碟,16GB RAM,CPU是Core i5-2500

XenServer的guest支援工具(XenServer  Tools)支援Windows及Linux kernel 2.6以上,所以可以看到那台Linux VM(WWW)顯示未安裝支援工具,看不到記憶體使用量,但仍然使用非常低的CPU,若是WIndows主機沒安裝支援工具則會使用較多記憶體。

當然我初期會虛擬化一定是選擇使用率較低的Server,但XenServer的效能實在太令我驚訝!某一台原本是Q6600 4GB RAM的Windows 2003 Server,虛擬化之後居然比實機更快!我不清楚是因為I/O變快還是Xen造成,但是快到使用者點選網頁都有感覺反應變快,不虛擬化的藉口完全消失。

說完優點得說一下缺點:Xen Center免費版能夠調整的很有限,硬體的規格也完全不能改(例如:SATA、IDE、SCSI、模擬網卡類型等等);也不能用Virt連上XenServer,要自己編譯libvirt裝上XenServer也幾乎不可能(不知道為何,但是搜尋到的結果是如此)。也就是說,對我這種技術控來說,這樣的黑箱作業用起來有點毛毛的..

要建立不停機備援得建立Server Pool,XenServer要求兩台完全一樣規格的硬體,因此請期待下集...

參考資料:
  1. XenServer管理指南
  2. Citrix XenServer x86虛擬化解決方案
  3. 詳解Citrix思傑XenServer虛擬化
  4. 射手科技的 XenServer/XenDesktop 虛擬化應用方案
  5. 射手的 XenServer 虛擬化瑣事
  6. Hyper-V vs. ESXi vs. XenServer (有點舊)
  7. KVM(Kernel-based Virtual Machine) + KQEMU
  8. Xen Server Book

星期一, 7月 25, 2011

製作FreeBSD可開機USB

雖然用UNetbootin 在各種平台都可利用開機iso/Disk image做出可開機USB,但因為它獨特的boot loader,FreeBSD或某些Linux Distribution會有問題。

以往FreeBSD的安裝媒體只有出ISO image,現在已經有memstick.img可選擇,例如:FreeBSD-8.2-RELEASE-i386-memstick.img。以前的方法(thinker)真的太麻煩了 :(

星期六, 7月 23, 2011

FreeBSD在fstab使用標籤 Label 名稱 mount 磁碟

因為敝公司的Mail Server是從FreeBSD 4.x一路升級至今,昨天我在聽HITCON 2011時居然主機故障,因為一直被call,聽完連忙趕回公司,非常地不爽。

Update:
更新到FreeBSD 9.0之後,新的安裝程式設定Label是用GPT分割(GUID Partition Table)的Label,所以設定好後,會出現 /dev/gpt/root 之類的Label,同樣可以用 glabel status查看。若已改用GPT分割,無法使用 /dev/ufs 或傳統BSD Label的方式, 只能用 GPTLlabel。

星期一, 7月 18, 2011

舊Linux上編譯Xen guest kernel

由於最近希望把一台舊Linux伺服器虛擬化,原本嘗試用Hyper-V Server,無奈對於Linux相容性太差,連新版的TrueImage boot cd都不能用,於是我改用XenServer。因為我希望有好用的管理工具,所以我是直接下載Citrix的XenServer免費版,需要每年手動更新一次授權。

在虛擬的Windows XP安裝Xen Tools後發現記憶體使用量變小,IO也很快。所以再把Linux丟上去後,發現不能在Kernel 2.4跑Xen Tools。於是我先升級Linux核心 2.4->2.6,確定沒問題後,再照著XenSource的官方文件。注意若原本是kernel 2.4,千萬要先升級為module-init-tools,否則重開機就掛了。

要編譯支援Xen的kernel,首先當然是取得Linux kernel source,早期的Linux需要另外下載xen patch,現在新的kernel都內建,所以我下載2.6.39.3,是目前最新的Stable。接下來要編譯:
$su -
#cd /usr/src
#wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.39.3.tar.bz2
#tar xjf linux-2.6.39.3.tar.bz2
#make menuconfig
  1. 根據官方文件,在32bit kernel必須啟用PAE(Processor type and features -> High Memory Support -> PAE (Physical Address Extension) Support->64GB),並且要設定CONFIG_HIGHPTE=n(Processor type and features -> High Resolution Timer Support->不要勾),否則會crash(應該就是kernel panic吧?),若編成64bit kernl就不用管這兩點。
  2. 再來要注意,一定要啟用ACPI support,否則就看不到Dom0。 Power Management and ACPI options ->  ACPI Support。
  3. 接著是重點: Processor type and features -> Paravirtualized guest support  -> Xen guest support
  4. 最後在 Device Drivers ->  Xen driver support 底下,我是有關的全選啦 XD
最後是
#make bzImage modules modules_install install
沒問題的話,重開機就OK了。
參考資料:外行人編譯GCC外行人升級Linux核心 2.4->2.6

星期二, 7月 12, 2011

白話【社交工程】

前幾天知道居然有資訊部門主管不知道何謂社交工程,讓在下敝人小弟我十分驚訝。我這個非本科系的人20年前就知道的名詞居然有資訊人不懂,所以在這裏用白話介紹一下。

先看一下維基百科的解釋好了:Social Engineering
什麼?不懂英文?沒關係,來看看 教育部的解釋ZDNet的解釋趨勢科技的解釋資安網站的說法

以上都不懂的也沒關係,用鳥毅的說法就是:假裝是你的朋友,其實是要騙你。不管是利用MSN、Email或是某個安全性更新;甚至於詐騙集團假裝檢察官,都叫做社交工程。看到這裏應該懂了吧?看一下這部電影:
神鬼交鋒
神鬼交鋒(Catch Me If You Can)就是社交工程的極致,也就是台灣常見的詐騙。
得到一個MSN帳號密碼,再騙此帳號的朋友去買點數卡,大家不是很熟嗎?

幾位高手曾經留言說好的制度比資安產品更有效,在下完全同意。假設的情境:某公司的工程師想知道他暗戀的同事是否有交往對象,於是就和同事說:『我幫妳寫了支程式,但需要遠端更新,所以開個分享給我』。接著就把自己加入同事電腦的本機管理員,再把網域管理員(domain administrator)的權限移除,他自己就透過分享看到同事的email,完全不用寫木馬程式。

要避免被社交工程欺騙,只能自己多加留意,用台語說就是【龜毛】一點,凡事多用心,不要人云亦云。還有一點,看到別人轉寄的email千萬別亂寄,搞不好裏頭有新型的木馬/後門程式,又淪為社交工程的幫兇。

星期二, 7月 05, 2011

Excel 2003 開啟網路磁碟上的檔案很慢

同事說Excel 2003 開啟網路磁碟上的檔案很慢,我怎麼都搜不到,幸好蘇老提供了這個討論串,至少有點頭緒。應該是這支安全性更新造成的:
Microsoft Excel 2003 安全性更新 (KB2541025)
Date last published: 2011/6/14
在 Microsoft Office Excel 2003 中開啟遭到惡意竄改的檔案時,
可能會出現允許執行任意程式碼的安全性弱點。此更新可以解決這項弱點。
我處理了5台電腦,包括我自己的有2台有效,3台仍舊很慢,
目前只能移除重裝Orz...

更新:
根據匿名朋友的回報,微軟知道問題了,後來新出的Patch仍然造成同一問題。請看Excel 2003 Office File Validation (OFV) opens workbooks slower across the network ,安裝 MicrosoftFixit50741.msi 或是直接修機碼。
將以下內容存成機碼檔,e.g. fixit.reg ,點兩下匯入即可。
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Security\FileValidation]
"EnableOnLoad"=dword:00000000
或是 【開始】->【執行】
REG add "HKCU\Software\Microsoft\Office\11.0\Excel\Security\FileValidation" /v EnableOnLoad /t REG_DWORD /d 0 /f

Lion 10.7 GM 使用心得

昨天把Mac OSX 10.7 Lion Gold Master裝起來(也有人叫Golden Master,不過以往是用Gold Master沒錯),整體流暢度有比較順,只是稍有改變。
先說不習慣(不喜歡)的部份:
  1. Expose用得好好的,沒事改名叫Mission Control也沒有比較酷。
  2. 已經把開機光碟做出來,還是得要install到硬碟再跑一次安裝程式是怎樣?為了符合官方說法的要先安裝Snow Leopard? 還是因為要學Windows 7?(大誤)
  3. 鍵盤背光關不掉<- 這應該是Bug
  4. 把afp通訊協定的 DHCAST128 關掉了,造成許多市售NAS都不能用,參考:OS X LION connection error with AFP and workaround
    雖然Synology上星期有新版firmware釋出,但仍然不能當TimeMachine使用。
  5. 預設的滑鼠滾動方向與以往相反,要到 系統偏好設定->滑鼠 裏去修改:
再說它的優點:
  1. 最明顯的部份就是速度快了不少,之前不知為何,每次登入都要等一會兒才有反應,現在時間快了許多;開啟程式也比較快。
  2. 按鈕快框比較方:我覺得比較好看,也比較好按。
  3. Launchpad找程式時真的比較方便,有些很少用的程式,忘了名字要找時真的很方便。
  4. 跳出式的視窗:有些人討厭,我還滿喜歡的 :D