Raid

smart long test - 對繁忙的伺服器的性能影響是什麼?

  • May 22, 2017

我有一台設置為 RAID 1 的繁忙伺服器。該應用程序(在 PHP 中執行)對數據庫 (MariaDB) 的讀/寫非常密集。

一個 cronjobsmartctl每天執行一個簡短的測試並檢查 和 的smartctl -H輸出mdadm -D

有時我想執行一個長時間的測試,但我擔心它對性能的影響。我讀到它可能需要幾個小時才能完成。如果它在執行時導致伺服器性能下降,我的使用者將受到 5 個多小時的影響。

所以,這裡有幾個問題:

  1. 長時間的智能測試通常會影響對使用者重要的性能嗎?

  2. 由於我有 RAID 1 並進行了短期測試,是否還需要長期測試?

  3. 如果我發現長時間測試對伺服器性能造成問題,有沒有辦法停止它?

  1. 這取決於。(muhahaha)在什麼上?您的應用程序使用了多少磁碟以及您的應用程序可以利用多少記憶體。這裡沒有什麼神奇之處——如果驅動器正在被測試,它就不能以與沒有測試時相同的最大速度和低延遲服務。但是,如果您的最小延遲要求小於測試的影響,那麼就應用程序影響而言,它是一種洗牌。
  2. 可能不是。大型企業儲存公司(EMC、IBM、NetApp 等)根據其 M(ean) T(ime) B(etween) F(ailures) 更換驅動器,而不僅僅是等待驅動器的韌體報告問題。簡短的測試首先測試可能會失敗的所有內容。長測試與短測試執行相同的測試,只是它們沒有時間限制。只需假設所有驅動器都會出現故障,但保修期過後它們的可能性會更高。
  3. 是的,前提是驅動器支持中止(或“暫停”)離線收集。

從“smartctl(8)”手冊頁:

      -X, --abort
             Aborts  non-captive  SMART  Self  Tests.  Note that this command
             will abort the Offline Immediate Test routine only if your  disk
             has the "Abort Offline collection upon new command" capability.

(我認為如果您看到“根據新命令暫停離線收集”,您也可以中止;我認為手冊頁需要更新。)您可以通過以下方式檢查該功能:

smartctl -x <device>

引用自:https://serverfault.com/questions/849828