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