開啟、關閉HDD讀、寫快取狀態

H先生·發表於2024-04-24

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更改快取設定。在執行這些命令之前,請查閱您的磁碟和控制器文件以確認相容性。
  • 更改快取設定可能會影響磁碟效能和資料永續性。務必在瞭解這些影響之後進行更改,並在進行任何更改之前備份重要資料。
  • 某些更改可能是臨時性的,並且在重啟或斷電後可能不會保持。確保測試更改的永續性,並根據需要進行調整。

相關文章