2013年3月15日 星期五

惡夢! Ubuntu 上 USB 3.0



最近想搞一些VM, 也想把VM環境搞成可攜帶式, So... 首選衝SSD + USB 3.0 ...

一場惡夢就此開始 ...

環境:

USB 3.0 介面卡 
   LT105 (晶片 uPD720201 ) 兩張各裝在Ubuntu (11.10, 12.04) 與Windows ( Windows 2003 )

USB 3.0 硬碟外接盒1
   S25U3-6GUASP ( 晶片 ASM1053 )


SSD 
   Plextor M5S 256G


USB 3.0 隨身碟
   Transcend JF760 32G




我常用的環境是Ubuntu 主機, 所以就在Ubuntu上面的VMware上開始建立VM. 掛!!! 系統告知讀不到SSD! 甚至連帶慘到讓Linux kernel crash, 主機自動重新開機 !! 回頭翻syslog只是很輕描淡寫的告知  device not ready !!



Mar 14 10:13:08 Linux kernel: [  218.255774] xhci_hcd 0000:03:00.0: xHCI xhci_drop_endpoint called with disable
d ep ffff8803ae607540
Mar 14 10:13:08 Linux kernel: [  218.273966] sd 7:0:0:0: [sdc] Device not ready
Mar 14 10:13:08 Linux kernel: [  218.273975] sd 7:0:0:0: [sdc]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
Mar 14 10:13:08 Linux kernel: [  218.273984] sd 7:0:0:0: [sdc]  Sense Key : Not Ready [current]
Mar 14 10:13:08 Linux kernel: [  218.273993] sd 7:0:0:0: [sdc]  Add. Sense: Medium not present
Mar 14 10:13:08 Linux kernel: [  218.274003] sd 7:0:0:0: [sdc] CDB: Write(10): 2a 00 09 4d 7b d8 00 00 f0 00
Mar 14 10:13:08 Linux kernel: [  218.274022] end_request: I/O error, dev sdc, sector 156072920
Mar 14 10:13:08 Linux kernel: [  218.274030] quiet_error: 54 callbacks suppressed
Mar 14 10:13:08 Linux kernel: [  218.274037] Buffer I/O error on device sdc1, logical block 19508859
Mar 14 10:13:08 Linux kernel: [  218.274042] lost page write due to I/O error on sdc1
Mar 14 10:13:08 Linux kernel: [  218.274051] Buffer I/O error on device sdc1, logical block 19508860
Mar 14 10:13:08 Linux kernel: [  218.274056] lost page write due to I/O error on sdc1

初步懷疑是USB 3.0 介面卡的問題, 找了很久!
甚至從 Ubuntu 11.10( kernel 3.0.0-32 )升級到 Ubuntu 12.04 (kernel 3.2.0-38)!
最後火大了, 手動升級Kernel到 3.8.2 ...
結果還是掛...

不過最新的kernel會好一點, 掛掉時只是該檔案操作程序失敗, 不至於拖垮整個系統!

所以疑點擴大了, 該是透過系統性的實驗來找問題了.


SSD 資料讀取實驗 Linux

SSD ---- > 外接盒1 --- > USB介面卡 --- > Ubuntu
複製大量資料 (4G以上) 系統正常 速度還跑出了超過100MB/s令人感動的數字

SSD 資料寫入實驗 Linux (掛點)

SSD  < ---- 外接盒1  < --- USB介面卡  < --- Ubuntu
複製大量資料 (4G以上) 一開始還不錯, 然後沒多久就掛了, 沒完成, 速度數字就不重要了



SSD 資料讀取實驗 PC Windows 

SSD --- > 外接盒1 --- > USB介面卡 --- > Windows
複製大量資料 (4G以上) 系統正常 速度還OK 約81MB/s

SSD 資料寫入實驗 PC Windows

SSD  < ---  外接盒1  < ---  USB介面卡  < ---  Windows
複製大量資料 (4G以上) 系統正常 速度 82MB/s



SSD 資料讀取實驗 NB Windows

SSD  --- > Notebook(原生USB 3.0介面)
複製大量資料 (4G以上) 系統正常 速度--49MB/s

SSD 資料寫入實驗 NB Windows

SSD  < --- Notebook(原生USB 3.0介面)
複製大量資料 (4G以上) 系統正常 速度--64MB/s



對照組出場
USB 3.0 隨身碟 Transcend JF760 32G


隨身碟資料讀取實驗 Linux

隨身碟 --- > USB介面卡 --- > Ubuntu
複製大量資料 (4G以上) 系統正常 速度83MB/s


隨身碟資料寫入實驗 Linux

隨身碟  < ---  USB介面卡  < ---  Ubuntu
複製大量資料 (4G以上) 系統正常 速度74MB/s


隨身碟資料讀取實驗 PC Windows

隨身碟 --- > USB介面卡 --- > Windows
複製大量資料 (4G以上) 系統正常 速度--52MB/s

隨身碟資料寫入實驗 PC Windows

隨身碟 < ---  USB介面卡 < ---  Windows
複製大量資料 (4G以上) 系統正常 速度--41MB/s


隨身碟資料讀取實驗 NB Windows

隨身碟  --- > Notebook(原生USB 3.0介面)
複製大量資料 (4G以上) 系統正常 速度--51MB/s

隨身碟資料寫入實驗 NB Windows

隨身碟 < ---  Notebook(原生USB 3.0介面)
複製大量資料 (4G以上) 系統正常 速度--37MB/s


結論

  • X的! 一開始構想的SSD加上外接盒的方案就是個錯誤的開始, 還不如搞個隨身碟方案!
  • Linux 上USB 3.0介面卡的穩定度真的還存在不少問題, 即使是升級到相當新的版本也是一樣.
  • 硬碟外接盒的相容性似乎也有問題, 等另一款外接盒到手時, 再來個交互驗證.