Hardware

了解 NVMe 儲存和硬體要求

  • May 27, 2021

我對基於 PCIe 的儲存的最新發展感到有些困惑,特別是因為它與 NVMe 規範及其硬體兼容性有關。

雖然我已經廣泛使用磁碟形式的 SSD和一些高端 PCIe 設備(如Fusion-io),但我處於不了解 NVMe 基礎知識的位置,並且正在尋求澄清什麼類型的伺服器支持硬體。

例如,像這樣來自 Supermicro 的廣告文案令人困惑。

…高性能 CPU PCI-E Gen3 直接連接到 NVMe 設備。

我正在處理基於 Linux 的軟體定義儲存解決方案,並希望使用備用 Fusion-io 設備,這些設備使用專有驅動程序(向作業系統提供*/dev/fioX**設備名稱*)。

當我向供應商尋求幫助時,得到的回應是:

“fioX”設備命名已被新的 NVMe 設備介面淘汰。這意味著我們購買過時的適配器來增加其他人沒有要求的支持。

這似乎有點苛刻。我不認為 Fusion-io 適配器已經過時。

我在網上找到的稀缺資訊似乎暗示 NVMe 僅在絕對最新一代的伺服器硬體(Intel E5-2600v3 CPU 和 PCI 3.0 晶片組?)上受支持。但我無法驗證這一點。

這是真的?

採用率是多少?這是工程師在他們的設計決策中考慮的問題,還是我們在談論一個尚未完全形成的“標準”?

如果 NVMe適用於市場上的最新系統,那麼(向供應商)建議我的舊系統安裝基礎不能與 NVMe 兼容是否合理,因此值得添加我要求的支持嗎?

我需要自己測試一下…

我購買了四個Intel 750 PCIe NVMe SSD安裝在HP ProLiant DL380p Gen8伺服器中。這些伺服器不是目前一代的 Intel 2600v3 系列 CPU,而是 2600v2 CPU。

外賣:

NVMe是一種介面規範。在 Linux 下,設備被列舉為/dev/nvmeXnY,例如/dev/nvme0n1/dev/nvme1n1

我使用的設備的外形尺寸是 PCIe 3.0 x4。Gen8 ProLiant 伺服器在預設 Riser 卡籠上有兩個 PCIe 3.0 插槽。這些 NVMe PCIe 卡將在較慢的 PCIe 插槽(或 PCIe 2.0)中工作,但此時會受到匯流排的限制。

因此,對於我的案例,NVMe 在某種程度上是由作業系統驅動的,但絕對與我稍舊的伺服器硬體兼容。

NVMe 基於PCIe,並使用為此設計的不同驅動程序。您基本上可以採用 M2 外形 NVM,將其放入適當的適配器,然後在任何帶有適當驅動程序的 linux、windows 或 BSD 系統上執行它。

本質上,NVMe 所做的只是將基於 PCIe 的 SSD標準化為一組驅動程序,旨在充分利用它們。

如果您可以從非標準pci ssd 啟動,您可以使用作業系統中的適當驅動程序從它啟動。如果您將其用於記憶體和其他目的,NVMe 沒有理由不工作。

你的舊系統可能兼容的,假設你可以得到一個足夠新的作業系統,上面有足夠現代的核心。

引用自:https://serverfault.com/questions/677387