开启、关闭HDD读、写缓存状态

sg3

一、sg3查看缓存状态

您可以使用sg_modes命令来查看SAS盘和SATA盘的缓存状态。例如,要查看/dev/sdb设备的缓存状态,您可以执行以下命令:

sg_modes -p 8,0 /dev/sdb

二、sg3关闭机械盘写缓存状态(仅适用于SAS盘)

对于SAS盘,您可以按照以下步骤更改其读写缓存状态:

1、编辑缓存状态

使用vi编辑器创建或编辑一个名为mode_page.dat的文件,并设置适当的缓存状态值。对于关闭写缓存而开启读缓存,不同的磁盘厂商有不同的设置方式。以下是一些常见磁盘厂商的设置示例:

  • WD磁盘:

00:读缓存开启,写缓存关闭

04:读写缓存全部打开

01:读写缓存全部关闭

05:读缓存关闭,写缓存开启

  • Seagate和Toshiba磁盘:

10:读缓存开启,写缓存关闭

14:读写缓存全部打开

11:读写缓存全部关闭

15:读缓存关闭,写缓存开启

编辑mode_page.dat文件时,确保第一行包含正确的缓存设置值。例如,对于WD磁盘,关闭写缓存并开启读缓存,第一行可能如下:

88 12 00 00 ff ff 00 00 ff ff ff ff 00 08 00 00 00 00 00 00

请注意,您需要根据具体的磁盘型号选择正确的设置值。

2、将缓存状态写入磁盘

使用sg_wr_mode命令将编辑后的缓存状态写入磁盘。例如,要将mode_page.dat中的设置写入/dev/sdb设备,您可以执行:

sg_wr_mode -p 8,0 -c - -s /dev/sdb < mode_page.dat

3、验证缓存状态

为了确保缓存状态已成功更改,您可以再次使用sg_modes命令来查看:

sg_modes -p 8,0 /dev/sdb

检查输出中的相关位,以确保写缓存已按预期关闭。

 

 

Smartctl

一、使用smartctl查看和更改磁盘缓存状态

1、查看写缓存状态

您可以使用smartctl命令来查看SAS盘和SATA盘的写缓存状态。执行以下命令:

smartctl -g wcache /dev/sde

/dev/sde替换为您想要检查的磁盘设备名。

2、打开磁盘写缓存

要启用SAS盘或SATA盘的写缓存,执行以下命令:

smartctl -s wcache=on /dev/sde

同样,将/dev/sde替换为相应的磁盘设备名。

3、关闭磁盘写缓存

要禁用SAS盘或SATA盘的写缓存,执行以下命令:

smartctl -s wcache=off /dev/sde

4、查看读缓存状态(仅限SAS盘)

对于SAS盘,您还可以使用smartctl查看读缓存状态:

smartctl -g rcache /dev/sde

5、打开磁盘读缓存(仅限SAS盘)

要启用SAS盘的读缓存,执行以下命令:

smartctl -s rcache=on /dev/sde

6、关闭磁盘读缓存(仅限SAS盘)

要禁用SAS盘的读缓存,执行以下命令:

smartctl -s rcache=off /dev/sde

7、查看磁盘基础信息

使用smartctl-i选项,您可以查看磁盘的基础信息,包括型号、大小、容量和固件版本等:

smartctl -i /dev/sdb

请确保将/dev/sdb替换为您想要查询的磁盘设备名。

注意:

  • 使用smartctl更改磁盘缓存信息是临时性的。当系统断电或重启后,缓存设置将恢复为原状态。
  • 在更改缓存设置之前,请确保您了解这些更改对系统性能和数据完整性的影响。
  • 对于某些磁盘,使用smartctl更改缓存设置可能不受支持或可能无效。在这种情况下,请参考磁盘的官方文档以获取正确的设置方法。
  • 错误的缓存设置可能导致数据丢失或系统不稳定,因此在进行任何更改之前,请务必备份重要数据。

 

 

Sdparm

一、使用sdparm查看和更改SAS磁盘缓存状态

1、查看写缓存状态

使用sdparm命令可以查看SAS盘和SATA盘的写缓存状态。对于SAS盘,执行以下命令:

sdparm --get=WCE /dev/sdb

对于SATA盘,虽然某些情况下可能也可以使用此命令,但请注意不是所有SATA控制器或驱动器都支持通过sdparm更改缓存设置。如果返回值为1,则表示写缓存已开启。

2、打开磁盘写缓存

若要启用SAS盘的写缓存,执行以下命令:

sdparm -s WCE=1 --save /dev/sde

请注意,此命令仅适用于SAS盘,并且需要管理员权限来执行。

3、关闭磁盘写缓存

若要禁用SAS盘的写缓存,执行以下命令:

sdparm -s WCE=0 --save /dev/sde

同样,这也仅适用于SAS盘,并需要相应的权限。

4、查看读缓存状态

对于SAS盘和某些SATA盘,您可以使用sdparm查看读缓存状态:

sdparm --get=RCD /dev/sdb

返回值0表示读缓存已开启,而1则表示读缓存已关闭。

5、打开磁盘读缓存

若要启用SAS盘的读缓存(如果之前被关闭),执行以下命令:

sdparm -s RCD=0 --save /dev/sde

这同样仅适用于SAS盘,并需要管理员权限。

6、关闭磁盘读缓存

若要禁用SAS盘的读缓存,执行以下命令:

sdparm -s RCD=1 --save /dev/sde

这也仅适用于SAS盘,并需要相应的权限。

  • 在执行任何缓存更改之前,请确保您了解这些更改对系统性能和数据完整性的影响。
  • 并非所有磁盘或控制器都支持通过sdparm更改缓存设置。在执行这些命令之前,请查阅您的磁盘和控制器文档以确认兼容性。
  • 更改缓存设置可能会影响磁盘性能和数据持久性。务必在了解这些影响之后进行更改,并在进行任何更改之前备份重要数据。
  • 某些更改可能是临时性的,并且在重启或断电后可能不会保持。确保测试更改的持久性,并根据需要进行调整。
posted @ 2024-04-24 19:40  H先生·  阅读(325)  评论(0编辑  收藏  举报