NetApp 磁碟陣列可以用作 JBOD 嗎?
我有一堆(舊)帶有光纖通道連接的NetApp DS14MK2 磁碟陣列。
我不會將它們用於任何關鍵的事情,但我可以將它們中的每一個都用作 Linux (XFS) 或 Solaris/OmniOS (ZFS) 的單獨 JBOD,而不是將它們扔掉嗎?
我的解決方案有點複雜。我能夠使用以下命令在 Ubuntu 16.10 機器上使用 HP Qlogic QLE2462 HBA 在我的 NetApp DS14MK4 (14 x 450GB) 上建立 JBOD(根據您的硬碟類型和大小,某些設置會有所不同,因此請進行相應調整):
- 在系統啟動時啟用 Qlogic HBA BIOS(預設禁用)
- 使用 lsscsi 或 sginfo 列出 Ubuntu 中的驅動器(可以使用 apt-get 安裝)並列出所有“/dev/sd?” 標有“netapp”的驅動器:
lsscsi --list OR sginfo -l
- 您必須使用 sg_format(最初設置為 520)將塊計數調整為 512,以便作業系統能夠辨識(-r 是“調整大小”命令,我們需要使用“-6”作為此處的感知模式(預設為“ 10")):
sudo sg_format -6 -r --count=-1 --verbose /dev/sd?
- 現在您需要實際格式化每個驅動器(我打開了 14 個終端視窗,並在舊的 Pentium D 機器上一次完成所有操作,沒有問題):
sudo sg_format -6 -F -s 512 --verbose /dev/sd?
- 使用 BlockDev 重新讀取分區:
sudo blockdev --rereadpt /dev/sd?
- 您現在應該看到它們使用:
sudo cat /proc/partitions
- 使用 GParted(我這次使用 GUI)創建必要的分區,以便稍後將這些分區分組為 LVD。首先創建一個分區表:Device > Create Partition Table > 選擇“GPT”。然後,您將使用 GParted 將它們格式化為“lvd2 pv”類型。
- 現在使用 VGcreate 創建一個邏輯卷組(這裡使用分區名稱,而不是設備名稱,即 sdb1 NOT sdb):
sudo vgcreate VG_NAMEOFYOURCHOICE /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1 /dev/sdg1 /dev/sdh1 /dev/sdi1 /dev/sdj1 /dev/sdk1 /dev/sdl1 /dev/sdm1 /dev/sdn1 /dev/sdo1
- 現在您需要使用 LVcreate 使用 raid5 創建一個邏輯卷,其中所有 14 個驅動器都使用您剛剛創建的捲組(我選擇了 64 條帶長度,這是 Raid5 上的預設建議):
sudo lvcreate -L 5.72T -i14 -I64 -n VG_NAMEYOUCHOSEIN#7 LV_NAMEOFYOURCHOICE
- 確保您可以看到剛剛創建的邏輯卷:
sudo lvdisplay /dev/VG_NAMEYOUCHOSEIN#7/LV_NAMEOFYOURCHOICE
- 我們現在需要創建一個文件夾來掛載這個邏輯卷並設置所有權和權限:
sudo mkdir FOLDERNAME
sudo chown yourusername:yourusername /FOLDERNAME
sudo chmod -R 777 /FOLDERNAME
- 讓我們在我們的邏輯卷上創建一個文件系統(我使用的是 ext4,你可以使用 jfs 或其他):
sudo mkfs -t ext4 /dev/VG_NAMEYOUCHOSEIN#7/LV_NAMEOFYOURCHOICE#9
- 讓我們將此文件系統掛載到我們的新文件夾中:
sudo mount -t ext4 /dev/VG_NAMEYOUCHOSEIN#7/LV_NAMEOFYOURCHOICE#9 /FOLDERNAME#10
- 如果你願意,你可以把它放到 etc/FSTAB 中,#12 中的 -t 在重新啟動時為我做了。如果重新啟動時沒有可用的驅動器,您可以重新執行 mount 命令。
歡迎您成為 NetApp 自定義光纖通道 JBOD 的擁有者!
如果 Netapp 有某種自定義驅動器韌體,那可能會阻止這種情況。這在儲存控制器領域是很常見的事情。您可以使用驅動器 OEM 提供的庫存韌體覆蓋此韌體,但這可能仍然無法正常工作,具體取決於磁碟和 HBA 之間的 FC 組件是否也以某種方式鎖定。