2015年12月24日 星期四

微軟已經修復 Windows Server 2016 TP 中的 Deduplication 數據損壞問題

近日收到 Microsoft 的消息說 Windows Server 2016 TP 中的 Deduplication 數據損壞問題已經被修復,并且附上了一個内部測試補丁。安裝該補丁之後,測試運行了幾次 DedupJob 均沒有問題。產生問題的是 dedup.sys 驅動程序。

看來微軟對於數據損壞此類嚴重問題還是比較重視的。如果閣下希望在 Windows Server 2016 TP 中使用 Deduplication,則需要等待補丁在 Windows Update 中的正式發佈。比較保險的應該會在下一個纍積更新之中,或者更保險一點可以等待至 TP5。注意必須先安裝補丁,然后再開啓 Deduplication 功能。從微軟工程師的描述中看來此問題可能衹會發生在從 Windows 2012 R2 升級到 2016 的系統中。

關於詳細問題描述可以參考此帖子

2015年12月11日 星期五

[已修復] 注意 Windows Server 2016 TP 中的 Deduplication 可能會導致數據損壞

UPDATE: 此問題已修復

不知道這算是幸運還是不幸,反正就被我遇上了。基本情況如下:

先決條件:
- 系統是 Windows 2012 R2
- 磁盤爲 GPT 的 NTFS,開啓 VDI 模式的 Deduplication,數據重複刪除率達到 75%
- 狀態: 1TB 中刪除重複后大約使用 250GB。
- 磁盤儲存大量 Windows 2008 R2 與 Windows 8.1 的 VM,格式爲 VHD 或者  VHDX
- 磁盤是本地磁盤,注意這個配置 Microsoft 不建議。沒有 SAN 或者 iSCSI 的使用。

步驟:
- 升級 Host 到 Windows 2016 TP4,并且安裝 Deduplication 功能
- 將所有 VM 導入到 Hyper-V,并且運行
- 添加更多的 VM
- 確保 Background Deduplication 運行至少一次

結局:
- 大部分 VM 突然進入 BSOD 狀態
- 檢查該 VM 的 VHD / VHDX 文件,發現無法用 CHKDSK 修復,數據完全丟失。卷返回 Invalid Function 錯誤。
- 該 VHD / VHDX 文件無法重複使用!你必須刪除該文件,然後重新創建,才能夠在 VM 中重新安裝系統
- Host 中開啓 Deduplication 的卷卻沒有問題,CHKDSK 通過。
- 關閉 Background Deduplication 后,就不會進一步損壞其他數據

所以此次數據損壞可能是 Dedup 服務造成的。已經將此問題報告 Microsoft,他們也在進一步調查,不過在他們回復之前,閣下最好還是先關閉 Dedup 服務以避免產生同樣的問題。

2015年12月8日 星期二

Chinese 與 Mandarin:如何爲大中華正名?

儘管有點無病呻吟,不過還是想開一博文記敘一下。不知道的朋友在使用中慢慢的已經習慣,而知道的朋友或者對此也有點無力。儘管中國曾以陶瓷聞名世界,以 China 作爲國名也未嘗不可,然而 Chinese 一詞卻帶有一定的侮辱性。爲什麽不是 Chinan, Chinian 之類的,而是 Chinese 呢?一個泱泱大國被灌注“小”的後綴,何嘗不是一種悲哀?

而至於 Mandarin,是否真的是“滿大人”的譯音也無從考究,不過終歸還是道出了一個事實:普通話=元清虜語。好吧,我贊成民族大融合,不過這部大中華的屈辱史好像還在繼續?

從實際情況來看,中國現在正在實現自我的“去中國化”。有的人說,舊的不去,新的不來,然而來的就是好的?去的就是壞的?例如漢字的簡化,我不否認書寫上的方便,然而在印刷,屏幕顯示等等的情況下,跟書寫無關了吧?爲什麽不能夠使用正體字呢?在現在的人的眼中,字的意義可能就是一個字,僅此而已,而其中的韻味卻由於人心的浮躁而常常被人忽略了。

而至於普通話的强制推廣使用更是有點自暴自棄的感覺。八韻不全的情況下,吟詩也衹能變成讀詩了。或者這樣能夠更加方便學習?更別說不應該存在于漢語之中的饒舌音……

至於造字,還是算了吧。造一個“盥” 字還倒不如直接寫“洗手”來的快呢。

聽起來好像都是小事情,然而給我的感覺就是充斥著“短平快”,充斥著浮躁。中國人不需要複雜繁複的語言和文字,就如同現代人所謂的快節奏一樣抛棄一切能夠抛棄的。

不錯,文化的保留不能夠幫你賺錢,大中華文化的驕傲也不能夠當飯吃。在金錢等於尊嚴的現代我所説的這些或者真的不再重要了吧?當大中華的文化精神和驕傲完全消失殆盡的時候,下一次可能就是真正的“被融合”了。

2015年12月5日 星期六

如何使用 USB 驅在 UEFI 系統上面安裝 Windows 2016

好吧,我知道 Windows 2016 衹是一個 Technical Preview, 不過貌似微軟忽略了一些非常重要的因素。TP 4 很大,比以前的 Server 操作系統都大,所以 install.wim 達到了 4.22GB。總所周知 UEFI 系統用 USB 盤安裝需要一些先決條件:

- FAT32 格式的 USB 盤
- 設置爲 Active Partition
- 複製 Windows 2016 安裝數據到 USB 盤中

最後一項很不幸對於 Windows 2016 TP4 是無法辦到的——install.wim 超過了 FAT32 所能夠承受的 4GB 極限!
解決辦法很簡單,用下面的命令切割 install.wim 文件:

Dism /Split-Image /ImageFile:l:\sources\install.wim /SWMFile:f:\install.swm /FileSize:3072

(L: 是光盤,F: 是硬盤)

然後把切割好的 install.swm 和 install2.swm 複製到 USB 盤的 sources 目錄裏面,這樣就可以完成所有先決條件了!

2015年11月25日 星期三

網絡小説的文法通病(不定期更新)

現在網絡小説橫行,卻突然間發現很多讓人啼笑皆非的文法問題!真的希望各個作者能夠認真思考并且應用,而不是人云亦云的跟風。

- 對??感冒:例如喜歡蘋果那就是“對蘋果感冒”……錯!大錯特錯!“感冒”是“不喜歡”的意思,“不感冒”是“不抗拒”的意思!別用錯了!

- 奪舍:例如“奪舍他”……錯!絕對不知所謂!應該是“奪他舍”——在這裏“舍”是軀體,容器的意思,是名詞!

- 嫁鷄隨鷄嫁狗隨狗:聽起來是不是充滿暗示性呢? 不過就算人類與動物有時候真的很有愛,也不用有愛到需要“嫁”的程度吧?儘管不知道哪個地方的方言造成這個不太美麗的誤會,請正確使用中文:嫁乞隨乞,嫁叟隨叟

- 奔襲:詞本身沒問題,但是造句成“奔襲200里后終于在城池裏的客棧休息”就有點讓人牙痛。奔襲的“襲”字是“襲擊”的縮意,明明沒有襲擊衹是到客棧里面休息爲什麽就要説成“奔襲”呢?拜托,“奔襲”并不等于“放馬狂奔”,而是“長距離出其不意的襲擊”!衹是趕路卻要説成襲擊那就實在是太奇葩了!

- 凱旋而歸:真的,相信我,竟然還是有人這樣用的。“凱旋”就是“勝利歸來”,“凱旋而歸”就是“勝利歸來而歸”……成,我知道你回來了,不用說兩遍……

2015年11月22日 星期日

Intel 320 160GB SSD: 小心 MLC 可怕的“空白門”事件!

其實這是一年多以前的事情了。那時候入手了 4 個 Intel 320 160GB SSD,然後組成了一個 RAID 5 陣列,用起來沒有問題,性能挺不錯的。

不過由於需要更新機器的硬件,所以我把機器關掉了大約一個月的時間,之後硬件更新完畢,開始后發現令人抓狂的一幕:4 個 Intel 320 160GB SSD 其中的兩個變成完全空白了!!

令人抓狂的兩個!而不是一個!RAID 5 更本救不了!數據完全丟失!!

後來調查了一下,發現這種事情還是在情理之中的。首先,SSD 是通過電壓來儲存數據的,也就是説,每一個 Cell 特定的電壓會代表不同位狀態。SLC SSD 會比較簡單,有電壓和歸零代表位的 0 和 1,然而 MLC SSD 就會比較複雜。而在這一個月時間中,我是沒有開機的,也就是説所有的 SSD 均沒有辦法補充電量。我所有的 Intel X25-E SSD 均沒有數據丟失的問題,也不知道是由於高端質量還是 SLC 對電壓的容錯性好。然而其兩個 Intel 320 160GB SSD 則很不幸是“漏電體”,在沒有加電的情況下,電壓流失。這個時候,MLC Cell 裏面的電壓就會把原來該標識的數據表示成爲另外的錯誤數據,以至於整盤數據混亂,完蛋了……

當然,那兩個 SSD 在重新分區格式化之後還是可以使用,衹不過一旦長時間不通電,數據還是會丟失。

最終的結局就是我把所有 MLC 類型的 SSD 都出手了。其實現在的情況還是有點令人堪憂。總所周知,晶體越大,儲電越多。例如 Intel X25-E 的 50nm 大晶體,儲電能力肯定比 Intel 320 160GB SSD 的 34nm 要好得多,更不用説 SLC 衹需要表示 2 種狀態,而 MLC 需要表示 4 種狀態,對電壓值得準確性要求高得多。而現在的 MLC 可能衹用 25nm 甚至更小的晶體,本身儲電量已經少,如果沒有很好的辦法防止漏電,長時間鍵關機就可能導致數據錯亂甚至消失了。

關於 Avago LSI CacheCade 的一些使用心得

曾用過 LSI 9361-8i 再加上 CacheCade 2.0,感覺有點不大盡人意。主要的原因是這種技術僅僅適用於非常特定的情況。

首先説説循序讀寫 (Sequential Read / Write)。我嘗試在一個大容量 HDD RAID Array 上面使用 CacheCade。我所期望的是在偶爾的 4K IO 時性能可以有所提升,而陣列的主要目的還是循序讀寫。然而比較不幸的是,無論 CacheCase 1.0 或者 2.0 均沒有辦法很好的檢測 Sequential Read / Write,導致 Sequential 性能大幅度下降。就算 4K 性能增加,也無補主要的循序性能缺失。感覺上應該是 CacheCade 無法很好的辨別循序讀寫以至於循序讀寫也要經過 SSD Cache,造成不必要的延遲(?)。

那有什麽應用會用到 Random Access 呢?儲存 VM 的 VHDX 文件的陣列應該會用到。然而轉而一想,在我具有足量的 SSD 儲存下,再加上 Microsoft 的 Deduplication 功能,儲存 VHDX 根本不用 HDD 陣列。并且由於 HDD 陣列的功耗較高,應該盡可能將其 Spin Down。因此也用不上 CacheCade (因爲 LSI 9361-8i 不支持 Dimmer Switch Max with Cache 設定!)

結果就是,CacheCade 可能祇能夠用於中型的 SQL 數據庫,因爲小型的完全可以使用 SSD,大型的也完全有足夠資金全部使用 SSD,衹有中型的 Production 數據庫可能需要用到這種 Hybrid 的方案。而像我這種以 Development 爲主的 SQL 數據庫,直接 SSD儲存就可以提供足量的空間。

綜上,CacheCade 至少在對於我來説,比較鷄肋了……

關於電腦均衡構建 (Balance Build) 的設想

儘管衹是一種設想,不過這幾年其實一直還是按照這個目標來更新我的電腦的。其實從一開始購買 Intel Xeon E5520 / W5580 的時候就有這種想法。一般來説,到目前爲止固定電腦可以歸類爲一下類別:

一般用型臺式機
近來這種類型都在從固定轉變成爲移動,例如平板電腦,手提電腦,手機等等。不過臺式機還是有一定的市場份額。這種電腦一般用於日常工作,對於高强度 3D 處理卻不盡人意。然而價錢便宜,部件容易獲取卻是一大優勢。一般比較安靜,功耗低。生命周期一般。

游戲用型臺式機
主要目的就是用來玩游戲。超頻通常與這種電腦挂鈎。該機器會產生大量熱能,并且由於超頻,硬件壽命可能會縮短。可靠性不是一個考慮因素,價錢以及超頻能力才是主要目的。注意功耗與性能在超頻狀態下基本上不成正比,還可能會需要用到液冷設備以處理高發熱。一般在高熱下噪音大,不過可能用戶不會太在意。生命周期短。

工作站
貴重物事。擁有較好的 3D 加速能力,玩游戲一般比游戲用型稍差,主要是因爲其主要用途是特定的專業程序,對游戲沒有特別優化。超頻一般不可能,或者衹能夠少量超頻。可靠性是重中之重,硬件質量比一般或者游戲用機器高,就算在少量超頻的情況下。熱量可控并且沒有游戲用型那麽誇張。全速下噪音可能會偏高。一般整機出售。生命周期較長。

伺服器
誇張的貴重物事。一般 Headless,直接在上面玩游戲什麽的不大現實(儘管有可能)。以穩定性爲重,所以散熱噪音超級大。不可超頻。擁有極高的平行運算能力,以及高速網絡,大容量儲存等等。一般整機出售。生命周期較長。

那麽均衡構建的電腦的設想又是怎樣呢?我的計劃有如下幾點:
- 以工作站爲切入點
- 不進行整機購買,減少花費,以沒有技術支持爲代價,使其價格與游戲用型靠近。不過必須使用工作站專用配件
- 盡量使用可以少量超頻的硬件以增加性能
- 盡量使用與伺服器相近的高核數 CPU,然後用少量超頻使其接近工作站的頻率
- 使用優化的散熱方案使其在進行一般使用時功耗以及噪音接近一般用型臺式機
- 盡量模擬伺服器的高速網絡,高速儲存以及大容量 RAM 和儲存等等

期望達到的目的是:
- 穩定性較高(僅少量超頻)
- 價錢中等偏高(比一般整機工作站低)
- 功耗性能成正比
- 性能足以支持高質量游戲(因爲超頻)
- 一般工作下功耗小,因此噪音可控
- 生命周期比較長,應該可以不用經常更換配件,維護耗費偏低

當然,如果需要達到以上的效果,還有環境相關的配置。例如如何減少機器内部的積塵,以確保可靠性以及溫度散熱,噪音阻隔處理等等。而工作站和伺服器一般都在噪音溫度隔離的環境中運行,因此如何在一般家庭環境中模擬這些環境也顯得極其重要。

2015年11月21日 星期六

LSI 9361-8i vs. Dell PERC H730P 之糾結拼

早期入手了 LSI (Avago) 9361-8i 控制器,1GB 的緩存,再加上 CacheVault 和 CacheCade 2.0,置換了 Dell H710P,原因在前面的 post 有述。感覺良好,并且有 LSI 的技術支持,直到……

突然發現 -> 沒有 Dimmer Swtich LV3 !!!!!!!!!!!

後果很嚴重,我一大堆 HDD 都沒辦法享受 Spin Down Configured,電費急漲!

開始懷念 Dell H710P 了……突然發現市面上有 Dell H730P,價錢還比 LSI 9361-8i 便宜,感覺這次判斷錯誤,再次果斷置換,終于 DS L3 回來了!

因此總結如下:

LSI 9361-8i


優點:
- LSI 技術支持,3年 warranty
- 頻繁的 driver / firmware 更新
- 有 CacheVault 選項,不用 Lithium Battery
缺點:
- 絕對沒有 Spin Down Configured - 我直接查詢 technical support 的
- 價錢貴
- 標配比 OEM 低
適用:
全天候 online 或者 SSD 爲主的配置,喜歡 CacheVault 的懶人,LSI 的 support 是的確不錯的哦。

Dell PERC H730P


優點:
- 價格便宜
- 2GB RAM / Flash
- 有 Spin Down Configured !!
缺點:
- 沒有 LSI 支持,technical support 絕對不鳥你……
- driver / firmware 更新緩慢
- 順便説句,Dell 也不會鳥你,除非你買他的伺服器……
- 僅 Lithium Battery,兩三年后記得更換,麻煩……
適用:
想要省錢,又能夠忍受沒有 support 的日子,并且有大量 HDD 想要 DS L3 的,就這款吧。

Incompatibilities and Compatibilities

NOTE: This article will be updated in the future when more compatibilities / incompatibilities are discovered.  Incompatibilities   12-Feb-...