SSD如何設置預留空間OP(Over-Provision)


Over-Provision操作指南

SSD OP全稱是(Over-Provision), 中文名預留空間, 指用戶不可操作的容量,大小為SSD實際容量減去用戶可用容量。簡單來說over-provision可以提高ssd的wear-leveling,減少寫放大,提高隨機寫的性能, 提高ssd的使用壽命. 關於預留空間OP(Over-Provision)作用和性能分析這里就不在多說,網上很多文章有講, 但設置ssd op的方法, 網上找到的帖子很少, 最后在intel的一個pdf上找到了, 也解了心中的疑惑, 現在分享下:)
想看原文的可以goto

首先ssd的op必須實在一個完全clean的ssd上分配, 所以你拿到一個ssd在設置op之前,要確保它是剛從包裝盒里拿出來的, 否則你需要先secrue erase.
有三種給ssd預留的方式:

  1. 分區時剩余一部分空間不使用

Limiting the logical volume capacity during partitioning in OS(user will see full capacity in Disk Manager or fdisk)

  1. 限制應用只使用一定范圍的LBA, 但你不能在一個完整的LBA上創建文件系統, 這樣op會失效.

Limiting an applation to use only a certain LBA range. Please note it will not work for the scenario in which the filesystem is deployed on full LBA range

  1. 從驅動層限制最大的LBA, 這樣在os層面上, user看不到這部分容量

Limiting the Maximum LBA on the drive level, so that in OS, it will appear as a lower-capacity drive

方法1原文沒有給出方法, 我理解就是對ssd secure erase[label: trim ssd], 然后分區剩余一部分空間就可以了, 有人說預留25%性能最好, 這個也得參考下性價比.

#sudo hdparm --user-master u --security-set-pass 123 /dev/sdx
#sudo hdparm --security-erase 123 /dev/sdl
#parted /dev/sdx mklabel gpt mkpart op 0% 75%

方法3對於intel的ssd可以使用內部工具isdct(Intel SSDs Data Center Tool) 和第三方工具.
isdct工具
isdct工具同時支持SATA 和 NVMe Intel SSD, 詳細操作請見官方資料:
isdct連接 && 使用指導

第三方工具
SATA ssd推薦使用hdparm:

在使用之前首先要secure erase[label: trim ssd]

#sudo hdparm --user-master u --security-set-pass 123 /dev/sdx
#sudo hdparm --security-erase 123 /dev/sdl

接着設置op

#sudo hdparm -N /dev/sdx
(查找對打的sector count)
#sudo hdparm -NpXXXXXX -yes-i-known-what-i-am-doing /dev/sdx
(這個就是設置host-protected area, 用戶可見的sector緊跟着Np)

NVMe SSD推薦使用nvme-cli 開源工具, 使用方法參見man pages


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM