Synology DiskStation DS923+ 使用非原廠 NVMe SSD 建儲存空間

使用過SSD固態硬碟就回不去了,因為傲人的讀取速度讓人難以忘懷,然而速度永遠不嫌慢,M.2 PCIe的固態硬碟又重新定義了傳統SSD的效能速度。M.2 NVMe  SSD變成了下一代的新寵兒。對NAS這種存儲裝置來說,速度不是唯一考量,但正所謂天下武功是唯快不破,NAS已經不再是NAS了,除了需要大量的儲存空間外,同時也需要可靠且高效的資料傳輸和存取,於是利用一些技巧,終於讓 Synology DS923+ 使用非原廠NVMe SSD來建立儲存空間,或許安全性上打了些折扣,但在有限的經費上,是個另類的選擇。

DS923+

追蹤挨踢路人甲的FB 粉絲專頁: 點選這裡
Telegram 訂閱挨踢路人甲文章: 點選這裡

Synology NAS的功能眾多,已不是單純NAS那麼簡單,筆者的部落格備援站、郵件主機、私有雲空間與相簿、iSCSI、備份通通在NAS上,原因無他,就是Synology NAS有個令人愛不擇手的DSM系統與眾多的應用軟體。NAS想要好用,系統扮演著相當重要的角色,Synology DSM系統可是出了名,尤其是套件的運用更是讓NAS飛上天。

DS923+

 

網路無遠弗屆,速度的演變也非吳下阿蒙,對個人來說1Gb的網路頻寬應該還算OK,但面對一台多人存取的NAS而言,感覺似乎也慢慢不敷使用,低成本的Link Aggregation 802.3ad (稱為「網路聚合」)是不錯的解決方案,Synology DS923+ 內建 2 個 1Gb 網路埠,可 Link Aggregation 合併頻寬,避免多人使用下造成的瓶頸,也提供10Gb網路升級套件,可說進可攻退可守,滿足要求網路速度的需求。裝上E10G22-T1-Mini套件後,就有兩個可 Link Aggregation 合併頻寬的1Gb 網路埠+一個10Gb網路埠,對於網路的配置靈活度更佳。

DS923+

 

筆者就以自己的角度來說,必須具備大容量與安全的儲存空間、快速的資料傳輸和存取速度、應用程式的支援、易於管理設定和一定的擴充能力。所以當時選擇了Synology  DS923+ NAS,除了可以擴充10G網卡,又有內建兩個M.2插槽,可用於快取或儲存空間用。使用了一年多,家中的環境已經全部10G網路化,對於NAS的速度已經不是快取能滿足。看到原廠的NVMe SSD價格,真的下不了手,於是才有想要使用非原廠的念頭。

DS923+

 

由於PC一直升級,手上蠻多1TB的M.2 SSD,裝上只能當作快取用,無法直接當成儲存區,有些遺憾。

DS923+

 

DSM只要偵測不是原廠或認定NVMe SSD,都不會出現儲存區選項,所以要利用一些技巧,首先要啟用SSH功能。

DS923+

 

接下來使用終端機程式來登入DSM系統內,不用第三方工具,使用Windows 11的PowerShell就可以。找到PowerShell後按下滑鼠右鍵,選擇「以系統管理員身分」來執行

DS923+

 

進入PowerShell後,使用「ssh 帳號@NAS IP位址」來登入,登入前會詢問帳號密碼,輸入確認後即看到熟悉Linux的’$’提示字元。

DS923+

 

眾所周知,DSM系統其實就是以Linux為核心研發的,想要對磁碟分割與管理,必須取得root權限,有玩過Linux都知道下個sudo -i指令即可輕鬆取得root權限,當然執行後會要求再次輸入密碼來確認(就是你DSM帳號的密碼),看到’#’提示字元就是擁有最高權限的環境。

DS923+

 

想要讓NVMe SSD被DSM辨識到,需要動一些手腳。先來看看磁碟設備的清單,/dev這個目錄對所有的使用者都十分重要,因為在這個目錄中包含了所有Linux系統中所使用的外部設備。單純地列出NVMe可以使用”ls /dev/nvme*“指令,如下圖看到一大堆的NVMe裝置,是不是眼花撩亂。

DS923+

 

從/dev 下可以發現有一堆nvme 設備,NVMe固態硬碟的裝置名稱通常以”/dev/nvmeXnY“形式表示,其中X是裝置編號,Y是命名空間編號。這與之前的sda/sdb有些不同,因為NVMe 介面硬碟的出現,Linux 採用了新的命名規則,即nvme[0-9]n[1-9],nvme 是固定的前綴,第一個數字表示控制器的編號, n 是固定字符,第二個數字表示該控制器下的命名空間編號。

那明明只有插入兩塊NVMe SSD,怎麼跑出這麼多的裝置出來,主要是分割區的關係。例如nvme0設備裝置上,有3個分割區,分區表類型為GPT,如下所示:

nvme0n1
├─nvme0n1p1
├─nvme0n1p2
└─nvme0n1p3

 

會出現這種狀況,主要是筆者的NVMe SSD都是PC升級大容量汰換下來的,所以殘留下Windows的分割狀況。

DS923+

 

如果你是新的NVMe SSD就不會有這麼多的清單出現,如下找到/dev/nvme0n1及 /dev/nvme1n1兩個主要的NVMe SSD硬碟。

DS923+

 

接著就是來分割這兩個NVMe SSD硬碟,不是使用Linux常見的fdisk,而是使用Synology的synopartition指令來分割,利用–part 12參數來做特定佈局的磁碟分割,–part後面為(1-16),不同的值代表不同的佈局,筆者查不到細節,所以就照著輸入”synopartition –part /dev/nvme0n1 12就對了,當出現訊息時按下”Y”,即可完成。

DS923+

 

可以使用”fdisk -l /dev/nvme0n1來查看剛剛分割的資訊,可以很清楚看到切出的3個分割區(nvme0n1p1、nvme0n1p2、nvme0n1p3),nvme0n1p3擁有最大空間的分割區,待會就是要處理格式化分割區。

DS923+

 

一樣下”synopartition –part /dev/nvme1n1 12“指令將另一顆SSD進行分割配置,也再利用”fdisk -l /dev/nvme1n1″查看,如同第三個/dev/nvme1n1p3擁有最大空間的分割區。

DS923+

 

目前我的DS923+上有兩顆傳統硬碟的RAID佈局,兩個插槽是空的,雖然NVMe SSD品質已經相當成熟,為了安全起見,RAID 1還是不可避免。但手動做RAID,必須避免衝突,所以使用”cat /proc/mdstat”來查看RAID編號狀況。藍色匡內看到編號md0、md1、md2,所以只要編號md3以上即可。

DS923+

 

考慮到筆者還有兩個空的插槽要使用RAID,想說設定成md6應該足夠,所以利用Linux的mdadm指令來建立Raid。

指令:mdadm –create /dev/md6 –level=1 –raid-devices=2 –force /dev/nvme0n1p3 /dev/nvme1n1p3

–create /dev/md6  # 建立一個RAID,名稱為md6
–level=1  # RAID1 
–raid-device=2 # 使用2個分割區
–force #強制執行
–/dev/nvme0n1p3 /dev/nvme1n1p3 # 指定要建立Raid 1的兩個最大分割區

DS923+

 

建立RAID後,接下來就是格式化,檔案系統格式當然是選擇Synology首推的btrfs(若想使用mkfs.ext4 -f /dev/md6)。

指令:mkfs.btrfs -f /dev/md6

DS923+

 

看到完成後退出ssh並離開PowerShell,回到NAS的DSM畫面上,請重新啟動NAS。

DS923+

 

重新啟動後再進入NAS,進入儲存空間管理員內,隨即看到一個可重組集區,點選「線上重組」。

DS923+

 

看到再次檢查設定視窗內,有RAID類型還有硬碟的型態,出現M.2硬碟就表示手動將非原廠SSD掛入成功。

DS923+

 

接下來就慢慢地等檢查完成。

DS923+

 

雖然有些繁複,但結果是令人振奮。

DS923+

 

筆者實作時的DSM版本是7.1.1,嘗試升級到7.2.2試試看(安全起見,若有資料要先備份)。

DS923+

 

升級後進入儲存空間管理員查看,手動建立M.2 SSD還健在,完全運作正常不受影響,暫時不用擔心小版本的升級。不過最好不要使用韌體自動升級,因為此方式未必是正常的管道,遇到大版本的升級,先備份在聽看聽一下再做決定哦!

DS923+

 

小結

有了10G網路後,剩下的就是硬碟效能的問題。傳統的磁碟I/O少於160MB/s,即使使用SATA SSD也只能有500MB/s多的實力,但使用10GbE的網路設備,理論上有每秒的1250MB的讀取,可見利用M.2 NVMe SSD插槽當成儲存區,才能讓NAS裝置瞬間享受高速的傳輸與讀寫效能。對NAS這種存儲裝置來說,MTBF(平均故障間隔)、TBW(寫入總量)、廠商保固、NAND Flash晶片類型更是重點。使用非原廠的NVMe SSD 當建儲存空間,就一定會有安全上的問題嗎?其實享受速度也不一定要妥協原廠的束縛,善用快照Hyper Backup就可以迎刃而解。

如筆者使用非原廠的NVMe SSD來做RAID 1,有了第一層保護。再利用NAS內建的快照功能儲到到傳統硬碟上,隨時依需求將檔案還原至特定時間點,確保資料萬無一失,則屬第二層防護。第三層使用Hyper Backup完善的備份策略儲存較安全的傳統硬碟上,最多有65,535份備份版本,讓重要的資訊隨時可還原與追蹤,且使用區塊層級增量備份與跨版本資料去重複技術,大幅地降低所需的儲存空間,所以享受速度也可以便宜又大碗。

 

 

如何刪除修復磁碟分割區

如果你的是全新的SSD,可以不用理會以下的說明。筆者將汰換的PCIe Gen 3×4 NVMe SSD給NAS運用,對於10Gb網路速度綽綽有餘,但因Windows系統的分割,產生了微軟特有的修復磁碟分割區,此區主要是來恢復系統用的特殊分割區,有使用Windoiws RE(Windows Recovery Environment)大都了解。雖然此區站個空間不大,但總是覺得殘留無法讓NAS為所用。如果你想要釋放,也不一定要第三方工具,可以用內建的磁碟管理工具來清除,不過動作務必小心,別刪錯了。

DS923+

 

Windows系統有個修復磁碟分割區,使用磁碟管理工具的視窗介面無法刪除,你可以使用diskpart指令。

  1. C:\WINDOWS\system32>diskpart
  2. DISKPART> List Disk (列出所有磁碟)
  3. DISKPART> Select Disk X (修復磁碟分割區所在的磁碟號碼)
  4. DISKPART> list partition (列出該磁碟所有分割區)
  5. DISKPART> select partition X (選擇修復磁碟分割區號碼)
  6. DISKPART> delete partition override (刪除該分割區)
  7. DISKPART> list partition (重複指令確認該復原磁碟分割 X 已刪除)

DS923+

 

清除乾淨後就看到一個完整的未配置間。

DS923+

 

延伸閱讀:

 

 

itwalker
itwalker

或許技術與功力已遠遠不及時下年輕人,但試著去畫一個圓,圓不圓沒關係,盡力就好,如果覺得文章不錯的話,請大家按個「讚」或「+1」,感謝您的支持與鼓勵!歡迎加入我的粉絲團 : https://www.facebook.com/itwalker ,更多關於挨踢路人甲的文章: https://walker-a.com

文章: 3022