Synology DS3018xs 開箱- btrfs 自我修復功能實測

這次跟 Synology 原廠借測的是專為企業設計的 DS3018xs 6 bay NAS, 在 Synology 同往的機型常見的是 1/2/4/5/8/.. bay, 6 bay 算是首次的嘗試. 有關產品詳細規格可參考原廠連結.

原廠連結

BTRFS 自我修復功能實測
儲存管理 - 硬碟讀寫效能測試
M2D17 M.2 SSD 轉接卡
DS3018xs + WD 4TB 硬碟*6 用電量預估
Mellanox ConnectX-3 10GbE 網卡實測 (CX-311A)
RAID 1/5/6 rebuild 效能實測


開箱






























































至於安裝設定這些步驟就直接跳過了, 這類的介紹及說明相當多, 大抵就是裝上硬碟後, 透過 browser 就可很快的完成初步設定, 另外在檔案系統的選擇上, DS3018xs 提供 btrfs & ext4 兩種檔案系統, 小弟建議就直接選用 btrfs 檔案系統, 支援快照及多項進階功能. 企業既然選擇 DS3018xs NAS, 我也想不出什麼理由不用 btrfs.
FB:VoIP電話技術交流
2018-02-09 1:19 #1
DS3018xs btrfs 自我修復功能實測


有關 btrfs file system 的特性及功能可參考官網.

Btrfs 檔案系統保護你的企業資料

這裡是參考 ZFS Self-Healing 的做法(click here)

針對 DS3018xs 上面所建立的 btrfs file system, 建立一共用資料夾, 對裡面所有的檔案進行 checksum 運算, 此時系統仍持續運作中, 然後手動去 '破壞' 硬碟中的資料, 模擬硬碟媒體損壞或是異常所造成資料讀取錯誤情況, 觀測 DSM 6.2 btrfs 是否如同其所言, 有自我修復之能力 (於破壞資料後再針對所有檔案再計算其 checksum, 和之前做比對.



實測可發覺系統在讀取檔案時發覺 btrfs data block checksum 不符, 會於 system log 中紀錄, 並即時嘗試著自我修復並恢復為正確內容, 故測試中約 600 多個檔案 2GB 總容量, 其 checksum 完全相符, 表示檔案內容正確無誤.
FB:VoIP電話技術交流
來捧場
檔案自我修復好像很厲害但是我沒試過
不過第一張10G網卡序號沒有遮到
感謝分享

這個價位的機器沒有內建10G網路
有點可惜

再來回到主題
的確這種非壞軌類型的錯誤只能靠checksum去偵測
當然理論上也能單純用raid去偵測
但讀取量就會變成原來的兩倍到三倍
根本不可行
所以新型的檔案系統像zfs btrfs現在都是主打內建檔案checksum的能力

betoptic wrote:
這個價位的機器沒有內建10G網路
有點可惜...(恕刪)


它如果像 DS918+ 內建兩個 M.2 NvME SSD 位就更理想了.
FB:VoIP電話技術交流
自我修護要搭配本身的 RAID 功能嗎? 由 zfs 上頭看來, 應該是需要才對吧?
不過 S 家的 btrfs 又沒有使用自己的 RAID 功能, 而是透過 mdadm 來做, 這樣還能有修復功能嗎?

因為我碰到的都只會通知該 btrfs 的 volume (RAID5/6 都有) 有某個檔案 checksum 不對, 並不會自動修復.

twu2 wrote:
自我修護要搭配本身的 RAID 功能嗎? 由 zfs 上頭看來, 應該是需要才對吧?
不過 S 家的 btrfs 又沒有使用自己的 RAID 功能, 而是透過 mdadm 來做, 這樣還能有修復功能嗎?...(恕刪)


以下是摘錄自官網資訊.



Synology btrfs self-healing 它的確必須是建構在 RAID1/5/6/10/SHR 上. 這樣當在讀取時發現 data block checksum 不符時, 才能從 RAID 去反推回正確的資料.
FB:VoIP電話技術交流
M2D17 M.2 SSD 轉接卡


M2D17 M.2 SSD 轉接卡

這次借測 DS3018xs 同時也商借了一塊 M.2 SSD adapter.


這張卡主要是用於做為 SSD cache 之用. 在 DS3018xs 上並未提供 M.2 socket, 這一點蠻可惜的, 如果欲加裝 SSD cache, 在未加裝此張卡的情況下, 勢必要佔用掉原本 ds3018xs 6 bay 的硬碟位.

安裝後在儲存空間管理員即顯示兩個快取裝置.







有關於 M2D17 M.2 SSD 轉接卡的效能測試, 這裡有一篇不錯的文章可參考.
https://www.shadowandy.net/2017/07/reviewing-synology-ds1817-m2d17.htm/7
FB:VoIP電話技術交流
硬碟讀寫效能測試

DS3018xs 於儲存空間管理員內建的磁碟效能測試功能. 內於檢測 HDD/SSD 的讀寫效能.



主要是用來測試各顆 HDD/SSD 的循序讀寫效能及 IOPS.

如果硬碟本身已組 RAID, 就只能做 seq-read & rand-read (讀取) 測試, 因為寫入測試是對 HDD/SSD 做直接寫入的動作, 所以已組 RAID 的硬碟為了防止內容被破壞掉, 系統這部份有做安全鎖定.

測試一顆硬碟的時間大約 18分鐘. 如果測試的結果和前次測試差距過大, 系統也會提出警訊.

這是 WD 4TB NAS 碟大致的效能. 現在一般硬碟 seq-read write 的效能大約在 150~200MB/sec 左右.



這測試程式基本上是 call fio 來做的. 如果在 Synology NAS 其他機型未提供此內建程式, user 可以自行用 fio 來測.

這是大致的 fio 測試參數

[global]
ioengine=libaio
numjobs=1
iodepth=256
direct=1
runtime=180
group_reporting
filename=/dev/sd[a-f]
buffer_compress_percentage=100
stonewall

[seq-read]
name=seq-read
bs=64k
rw=read
stonewall

[seq-write]
name=seq-write
bs=64k
rw=write
stonewall

[rand-read]
name=rand-read
bs=4k
rw=randread
stonewall

[rand-write]
name=rand-write
bs=4k
rw=randwrite
stonewall




美光 MX300 SSD*2 (RAID0)
以下只是為了大致測試一下 DS3018xs SATA port 的效能, 在 Tray1/2 安裝 MX300 SSD*2, 建立 RAID0, 以 fio 測試 64KB
seq-read & seq-write. 大致上讀寫在 990MB/sec 左右, 實務上 DS3018xs 6 bay NAS, 一般建議的應用方式可以採用六顆硬碟建立 RAID6 使用.


root@ds3018xs:/volume1/video/2# fio synology.conf
seq-read: (g=0): rw=read, bs=64K-64K/64K-64K/64K-64K, ioengine=libaio, iodepth=2 56
seq-write: (g=1): rw=write, bs=64K-64K/64K-64K/64K-64K, ioengine=libaio, iodepth =256
fio-2.13
Starting 2 processes
seq-read: Laying out IO file(s) (1 file(s) / 8192MB)
seq-write: Laying out IO file(s) (1 file(s) / 8192MB)
Jobs: 1 (f=1): [_(1),W(1)] [100.0% done] [0KB/811.2MB/0KB /s] [0/12.1K/0 iops] [eta 00m:00s]
seq-read: (groupid=0, jobs=1): err= 0: pid=12745: Mon Feb 19 23:47:38 2018
read : io=8192.0MB, bw=991.42MB/s, iops=15862, runt= 8263msec
slat (usec): min=11, max=733, avg=20.80, stdev=19.48
clat (msec): min=5, max=40, avg=16.11, stdev= 2.97
lat (msec): min=5, max=40, avg=16.13, stdev= 2.97
clat percentiles (usec):
| 1.00th=[ 9792], 5.00th=[11072], 10.00th=[12352], 20.00th=[13632],
| 30.00th=[14400], 40.00th=[15168], 50.00th=[16064], 60.00th=[17024],
| 70.00th=[17792], 80.00th=[18560], 90.00th=[20096], 95.00th=[21120],
| 99.00th=[22656], 99.50th=[23424], 99.90th=[26496], 99.95th=[29568],
| 99.99th=[33024]
bw (KB /s): min=846162, max=1007756, per=85.36%, avg=866594.25, stdev=38026.68
lat (msec) : 10=1.36%, 20=88.57%, 50=10.07%
cpu : usr=2.13%, sys=34.34%, ctx=21447, majf=0, minf=4107
IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=0.1%, >=64=100.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.1%
issued : total=r=131072/w=0/d=0, short=r=0/w=0/d=0, drop=r=0/w=0/d=0
latency : target=0, window=0, percentile=100.00%, depth=256
seq-write: (groupid=1, jobs=1): err= 0: pid=12824: Mon Feb 19 23:47:38 2018
write: io=8192.0MB, bw=961665KB/s, iops=15026, runt= 8723msec
slat (usec): min=23, max=2242, avg=41.53, stdev=29.93
clat (usec): min=134, max=183675, avg=16985.49, stdev=10924.54
lat (usec): min=167, max=183752, avg=17027.20, stdev=10924.32
clat percentiles (msec):
| 1.00th=[ 3], 5.00th=[ 6], 10.00th=[ 8], 20.00th=[ 11],
| 30.00th=[ 13], 40.00th=[ 15], 50.00th=[ 17], 60.00th=[ 20],
| 70.00th=[ 21], 80.00th=[ 22], 90.00th=[ 25], 95.00th=[ 28],
| 99.00th=[ 32], 99.50th=[ 35], 99.90th=[ 182], 99.95th=[ 182],
| 99.99th=[ 184]
bw (KB /s): min=689024, max=1006592, per=99.88%, avg=960519.12, stdev=86062.83
lat (usec) : 250=0.01%, 500=0.03%, 750=0.07%, 1000=0.09%
lat (msec) : 2=0.36%, 4=0.84%, 10=14.58%, 20=50.16%, 50=33.45%
lat (msec) : 100=0.01%, 250=0.39%
cpu : usr=2.38%, sys=60.06%, ctx=66107, majf=0, minf=10
IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=0.1%, >=64=100.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.1%
issued : total=r=0/w=131072/d=0, short=r=0/w=0/d=0, drop=r=0/w=0/d=0
latency : target=0, window=0, percentile=100.00%, depth=256

Run status group 0 (all jobs):
READ: io=8192.0MB, aggrb=991.42MB/s, minb=991.42MB/s, maxb=991.42MB/s, mint=8263msec, maxt=8263msec

Run status group 1 (all jobs):
WRITE: io=8192.0MB, aggrb=961665KB/s, minb=961665KB/s, maxb=961665KB/s, mint=8723msec, maxt=8723msec
FB:VoIP電話技術交流
pctine wrote:
硬碟效能測試DS3018xs...(恕刪)

這台最大的問題就是M.2和10G只能2選1,所以我選擇加10G網卡犧牲1BAY裝SSD做讀取快取,其實這台的售價和定位應該是可以內建10G網路然後讓使用者可以自行添加M.2擴充卡要不然真的就是和918+一樣底部設計一個方便安裝的M.2擴充空間感覺才比較符合這台的定位。
評分
複製連結