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預留的方式:
- 分區時剩余一部分空間不使用
Limiting the logical volume capacity during partitioning in OS(user will see full capacity in Disk Manager or fdisk)
- 限制應用只使用一定范圍的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
- 從驅動層限制最大的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