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预留的方式:
- 分区时剩余一部分空间不使用
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
最新文章
- .net core
- Excel_replace
- Win10 保存Element到相册
- leetcode 140. Word Break II ----- java
- HDU 1495 非常可乐 BFS搜索
- Qt for Windows - Deployment和它的参数
- Nasty Hacks <;入门练手题>;
- JS中String添加trim()方法
- IS2009制作Oracle 静默安装包(二) 感谢空白先生特许授权
- UEditor的jQuery插件化
- jq 滚轮监听事件
- node安装教程
- Docker折腾手记-linux下安装
- spring websocket报错:No matching message handler methods.
- zabbix报错排错大全
- [svc]find+xargs/sed&;sed后向引用+awk多匹配符+过滤行绝招总结&;&;产生随机数
- SpringCloud 之 Hystrix熔断器
- InvalidArgumentError (see above for traceback): Assign requires shapes of both tensors to match. lhs shape= [2048,38] rhs shape= [2048,2]
- vue-webpack项目自动打包压缩成zip文件批处理
- sencha touch list 选择插件,可记忆已选项,可分组全选
热门文章
- Springboot消除switch-case方法
- IEnumerable和IEnumerator 详解 分类: C# 2014-12-05 11:47 18人阅读 评论(0) 收藏
- C#设计模式:建造者模式(Builder Pattern)
- antd desgin vue 报错 Warning: Each record in table should have a unique `key` prop,or set `rowKey` to an unique primary key.
- redis缓存切面实现(支持缓存key的spel表达式)
- [数论]原根与指标,BSGS
- Codeforces 722E 组合数学 DP
- maven多模块
- jsonp跨域获取数据实现百度搜索
- Facebook被指控通过其应用程序进行监视用户照片