從高速發展的NVMe技術看Linux系統儲存效能提升之路
隨著大數據、雲端運算和人工智慧等應用的快速發展,對於儲存效能的需求越來越高。而早期的SATA介面和AHCI協定已經無法滿足這項需求。近年來,基於PCIe匯流排的NVMe技術逐漸成為儲存界的新寵,具有高速、低延遲、高並發等優勢。本文將探討Linux系統中如何運用NVMe技術進行儲存效能提升。
#我的筆記型電腦有一個 NVMe 驅動器,我的桌上型電腦也有。而且它們的速度很快。我喜歡我的電腦啟動的速度,以及它們讀寫資料的速度。幾乎沒有延遲。
沒多久,我就對驅動這種超高速儲存的技術產生了好奇,所以我做了一些調查。我了解到,NVMe 硬碟消耗的電力更少,而提供的資料存取速度甚至比 SATA 的 SSD 硬碟快得多。這很有趣,但我想知道更多關於我的特定 NVMe 驅動器的信息,我想知道它們與其他驅動器有何區別。我可以安全地擦除驅動器嗎?我怎麼能檢查它的完整性?
帶著這些問題我在網路上搜索,發現了一個開源項目,其中有一系列管理 NVMe 驅動器的工具。它被稱為 nvme-cli。
安裝 nvme-cli
#你可以從你的發行版的套件管理器安裝
nvme-cli
#。例如,在 Fedora、CentOS 或類似系統上:
$ sudo dnf install nvme-cli
在 Debian、Mint、Elementary 和類似系統上:
$ sudo apt install nvme-cli
探索 NVMe 磁碟機
在安裝 nvme-cli 後,我想探索我的磁碟機。 nvme-cli 沒有手冊頁,但你可以輸入 nvme help 獲得很多幫助:
$ nvme help nvme-1.14 usage: nvme [] [] The '' may be either an NVMe character device (ex: /dev/nvme0) or an nvme block device (ex: /dev/nvme0n1). The following are all implemented sub-commands: list List all NVMe devices and namespaces on machine list-subsys List nvme subsystems id-ctrl Send NVMe Identify Controller id-ns Send NVMe Identify Namespace, display structure id-ns-granularity Send NVMe Identify Namespace Granularity List, display structure list-ns Send NVMe Identify List, display structure list-ctrl Send NVMe Identify Controller List, display structure nvm-id-ctrl Send NVMe Identify Controller NVM Command Set, display structure primary-ctrl-caps Send NVMe Identify Primary Controller Capabilities [...]
列出所有的 NVMe 磁碟機
sudo nvme list 指令列出你機器上所有的 NVMe 裝置和命名空間。我用它在 /dev/nvme0n1 找到了一個 NVMe 驅動器。下面是命令輸出結果:
$ sudo nvme list Node SN Model Namespace Usage Format FW Rev --------------------- -------------------- ---------------------------------------- ------- -- -------------------------- ---------------- -------- /dev/nvme0n1 S42GMY9M141281 SAMSUNG MZVLB256HAHQ-000L7 1 214.68 GB / 256.06 GB 512 B + 0 B 0L2QEXD7
我有一個名為 nvme0n1 的磁碟機。它列出了序號、品牌、容量、韌體版本等等。
透過使用 id-ctrl 子命令,你可以得到更多關於該硬碟和它所支援的特性的資訊:
$ sudo nvme id-ctrl /dev/nvme0n1 NVME Identify Controller: vid : 0x144d ssvid : 0x144d sn : S42GMY9M141281 mn : SAMSUNG MZVLB256HAHQ-000L7 fr : 0L2QEXD7 rab : 2 ieee : 002538 cmic : 0 mdts : 9 cntlid : 0x4 ver : 0x10200 rtd3r : 0x186a0 rtd3e : 0x7a1200 [...]
驅動器健康
你可以透過 smart-log 子指令來了解硬碟的整體健康狀況:
$ sudo nvme smart-log /dev/nvme0n1 Smart Log for NVME device:nvme0n1 namespace-id:ffffffff critical_warning : 0 temperature : 21 C available_spare : 100% available_spare_threshold : 10% percentage_used : 2% endurance group critical warning summary: 0 data_units_read : 5,749,452 data_units_written : 10,602,948 host_read_commands : 77,809,121 host_write_commands : 153,405,213 controller_busy_time : 756 power_cycles : 1,719 power_on_hours : 1,311 unsafe_shutdowns : 129 media_errors : 0 num_err_log_entries : 1,243 Warning Temperature Time : 0 Critical Composite Temperature Time : 0 Temperature Sensor 1 : 21 C Temperature Sensor 2 : 22 C Thermal Management T1 Trans Count : 0 Thermal Management T2 Trans Count : 0 Thermal Management T1 Total Time : 0 Thermal Management T2 Total Time : 0
這為你提供了硬碟的當前溫度、到目前為止的使用時間、不安全的關機次數等等。
格式化一個 NVMe 磁碟機
你可以用 nvme-cli 格式化一個 NVMe 驅動器,但要注意。這將刪除驅動器上的所有資料!如果你的硬碟上有重要的數據,你必須在這樣做之前將其備份,否則你將會丟失資料。子命令是 format:
$ sudo nvme format /dev/nvme0nX
(為了安全起見,我用 X 替換了驅動器的實際位置,以防止複製貼上的錯誤。將 X 改為 1 或 nvme list 結果中列出的實際位置。)
安全地擦除 NVMe 磁碟機
當你準備出售或處理你的 NVMe 電腦時,你可能想要安全地擦除磁碟機。這裡的警告與格式化過程中的警告相同。首先要備份重要的數據,因為這個指令會刪除這些數據!
$ sudo nvme sanitize /dev/nvme0nX
嘗試 nvme-cli
#nvme-cli 指令是在 GPLv2 許可下發布的。它是一個強大的命令,有許多有用的選項,用來有效地控制和管理資料。
本文介紹了在Linux系統中利用NVMe技術提升儲存效能的方案與方法,包括使用nvme-cli工具進行效能測試、設定和管理作業等。透過詳細的實驗分析,驗證了NVMe技術對於Linux系統儲存效能提升的顯著效果。未來,在高速發展的NVMe技術的帶動下,我們可以看到越來越多的應用場景中開啟Linux系統儲存效能提升之路,為大數據和人工智慧等應用提供更優異的效能保障。
以上是從高速發展的NVMe技術看Linux系統儲存效能提升之路的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

CentOS 和 Ubuntu 的關鍵差異在於:起源(CentOS 源自 Red Hat,面向企業;Ubuntu 源自 Debian,面向個人)、包管理(CentOS 使用 yum,注重穩定;Ubuntu 使用 apt,更新頻率高)、支持週期(CentOS 提供 10 年支持,Ubuntu 提供 5 年 LTS 支持)、社區支持(CentOS 側重穩定,Ubuntu 提供廣泛教程和文檔)、用途(CentOS 偏向服務器,Ubuntu 適用於服務器和桌面),其他差異包括安裝精簡度(CentOS 精

CentOS 安裝步驟:下載 ISO 映像並刻錄可引導媒體;啟動並選擇安裝源;選擇語言和鍵盤佈局;配置網絡;分區硬盤;設置系統時鐘;創建 root 用戶;選擇軟件包;開始安裝;安裝完成後重啟並從硬盤啟動。

CentOS將於2024年停止維護,原因是其上游發行版RHEL 8已停止維護。該停更將影響CentOS 8系統,使其無法繼續接收更新。用戶應規劃遷移,建議選項包括CentOS Stream、AlmaLinux和Rocky Linux,以保持系統安全和穩定。

CentOS 已停止維護,替代選擇包括:1. Rocky Linux(兼容性最佳);2. AlmaLinux(與 CentOS 兼容);3. Ubuntu Server(需要配置);4. Red Hat Enterprise Linux(商業版,付費許可);5. Oracle Linux(與 CentOS 和 RHEL 兼容)。在遷移時,考慮因素有:兼容性、可用性、支持、成本和社區支持。

Docker利用Linux內核特性,提供高效、隔離的應用運行環境。其工作原理如下:1. 鏡像作為只讀模板,包含運行應用所需的一切;2. 聯合文件系統(UnionFS)層疊多個文件系統,只存儲差異部分,節省空間並加快速度;3. 守護進程管理鏡像和容器,客戶端用於交互;4. Namespaces和cgroups實現容器隔離和資源限制;5. 多種網絡模式支持容器互聯。理解這些核心概念,才能更好地利用Docker。

CentOS 停止維護後,用戶可以採取以下措施應對:選擇兼容髮行版:如 AlmaLinux、Rocky Linux、CentOS Stream。遷移到商業發行版:如 Red Hat Enterprise Linux、Oracle Linux。升級到 CentOS 9 Stream:滾動發行版,提供最新技術。選擇其他 Linux 發行版:如 Ubuntu、Debian。評估容器、虛擬機或云平台等其他選項。

如何使用 Docker Desktop? Docker Desktop 是一款工具,用於在本地機器上運行 Docker 容器。其使用步驟包括:1. 安裝 Docker Desktop;2. 啟動 Docker Desktop;3. 創建 Docker 鏡像(使用 Dockerfile);4. 構建 Docker 鏡像(使用 docker build);5. 運行 Docker 容器(使用 docker run)。

VS Code 系統要求:操作系統:Windows 10 及以上、macOS 10.12 及以上、Linux 發行版處理器:最低 1.6 GHz,推薦 2.0 GHz 及以上內存:最低 512 MB,推薦 4 GB 及以上存儲空間:最低 250 MB,推薦 1 GB 及以上其他要求:穩定網絡連接,Xorg/Wayland(Linux)
