目录
硬盘厂商不同,硬盘类型SAS/SATA 不同,硬盘缓存永久性开启关闭方式也有所不同,本文主要针对Western Digital,Toshiba,Seagate这三大厂商硬盘永久性开启关闭缓存分别做介绍。
一、Western Digital硬盘
当前WD全部企业级HDD默认出货均为Write cache Enable,如果机器断电后需要盘write cache修改仍然有效,可以按照下面的方法关闭盘的cache。SAS盘永久性开启和关闭缓存不需要额外的工具,SATA 盘永久性开启和关闭缓存需要用到wce.bin和wcd.bin这两个工具。
SAS 盘
1.用命令
sdparm /dev/sdx
查看缓存状态,默认是开启状态
2.用命令
sdparm -s WCE=0 --save /dev/sdx
关闭缓存,重启或插拔检查状态
3.用命令
sdparm -s WCE=1 --save /dev/sdx
开启缓存,重启或插拔检查状态
注:两个命令中需要 --save 保存配置,否则重启后会恢复成开启
SATA盘
1.打开SATA硬盘缓存需要wce.bin工具,命令如下:
sg_raw -s 512 -i wce.bin /dev/sdx A1 0A 25 D6 01 E0 4F C2 A0 B0 00 00
重启或插拔后检查缓存状态依然是打开,如下图:
2.关闭SATA硬盘缓存需要wcd.bin工具,命令如下:
sg_raw -s 512 -i wcd.bin /dev/sdx A1 0A 25 D6 01 E0 4F C2 A0 B0 00 00
重启或插拔后检查缓存状态依然是关闭,如下图:
二、Toshiba硬盘
当前东芝各个产品线的产品默认Write cache均为Enable,SAS/SATA盘缓存开关不需要额外的工具,只是打开关闭硬盘缓存用到的命令不一样。
SAS盘
1.用命令
sdparm /dev/sdx
查看缓存状态,默认是开启状态
2.用命令
sdparm -s WCE=0 --save /dev/sdx
关闭缓存,重启或插拔检查状态
3.用命令
sdparm -s WCE=1 --save /dev/sdx
开启缓存,重启或插拔检查状态
注:两个命令中需要 --save 保存配置,否则重启后会恢复成开启
SATA盘
1.打开SATA硬盘缓存,命令如下:
smartctl -s wcache-sct,on /dev/sdx
重启或插拔后检查缓存状态依然是打开,如下图:
2.关闭SATA硬盘缓存,命令如下:
smartctl -s wcache-sct,off /dev/sdx
重启或插拔后检查缓存状态依然是关闭,如下图:
三、Seagate 硬盘
对于SAS盘永久性开启和关闭缓存不需要额外的工具,对于SATA 盘永久性开启和关闭缓存需要用到wce.bin和wcd.bin这两个工具。
使用命令
smartctl -g wcache /dev/sdx
查看硬盘缓存开启或关闭状态,例:
SAS 盘
1.用命令
sg_wr_mode -c 08,12,04,0 -m 0,0,04,0,0,0 -p 08 -l 6 -s /dev/sdx
开启缓存
重启或插拔后检查缓存状态依然是开启,如下图:
2.用命令
sg_wr_mode -c 08,12,00,0 -m 0,0,04,0,0,0 -p 08 -l 6 -s /dev/sdx
关闭缓存
重启或插拔后检查缓存状态依然是关闭,如下图:
SATA 盘
1.打开SATA硬盘缓存需要wce.bin工具,命令如下:
sg_raw -s 512 -i wce.bin /dev/sdx 85 0B 06 00 00 00 01 00 E0 00 00 00 00 40 3F 00
重启或插拔后检查缓存状态依然是开启,如下图:
2.关闭SATA硬盘缓存需要wcd.bin工具,命令如下:
sg_raw -s 512 -i wcd.bin /dev/sdx 85 0B 06 00 00 00 01 00 E0 00 00 00 00 40 3F 00
重启或插拔后检查缓存状态依然是关闭,如下图:
如想恢复默认状态(即可用hdparm -W命令反复更改)可用以下命令恢复:
sg_raw -s 512 -i wc_default_state.bin /dev/sdx A1 0A 06 D6 01 E0 4F C2 E0 B0 00 00