インフラ Windows、Linux Serverのハウスキープ、ハウスキーピング運用 設計

かなり唐突なタイトルですが、インフラエンジニアをしていてハウスキープ、ハウスキーピングというキーワードを一度は聞いた事、目にしたことがあるのではないでしょうか。

 

ただ、初めて聞くとどういった意味なのかということで検索をすることがあると思います。例えばこちら。

 

https://qa.itmedia.co.jp/qa5457668.html

 

以下は質問の抜粋。

 

ハウスキープ処理について

サーバの運用スケジュール(1日でサーバはどのような処理を行っているか)を見ていたところ、
システム非稼動時間帯に『ハウスキープ』という処理を行っていました。

ハウスキープ処理とはなんでしょうか。

各サーバによって、行うことは違うかもしれませんが、
一般的にどのような処理のことをさすのか教えてください。

 

 

以下は回答です。

 

定期的にログファイルを削除することです。
ログファイルがたまりすぎてHDDがいっぱいにならないように。。

 

回答にログファイルを削除することとあります。ログファイルを定期的に削除という運用をしているかどうかですが、基本はOSのログローテートだったり、製品のログ管理機能を使っていることが多いと思います。

 

Windowsだとイベントビューアに出力されるログはある程度のサイズになると新しいログに上書きされます。製品ごとに出ているログは例えば、製品のインストールフォルダの中にログとして格納されます。これらを敢えて消すという運用はしていないと思います。

 

Linuxにも同じことが言えます。では、どういったケースでログの削除を検討しなければならないかというと、単調増加していくログがあるケースです。基本はあんまりないですが、中にはログのローテートがされないケースがあり、それらがディスクの容量不足を招く原因になるケースもあるのです。

 

その他、開発環境だと自分たちでログの出力を制御しなければならないこともありますので、その場合も考慮が必要になるかもしれません。

 

後、DBなどもハウスキープという考え方があります。

 

例にOracleをあげます。

https://docs.oracle.com/cloud/help/ja/epm-common/CGSAD/8_troubleshoot_fccs_performance_issues_4_housekeeping.htm#CGSAD-GUID-86069E93-48B1-4B89-B7B7-689B4998977D

 

以下は抜粋です。

定期的なハウスキーピングの実行
サービス管理者は、パフォーマンスの低下を防止するために、必要なハウスキーピング・タスクを定期的に実行する必要があります。不要なデータ・ブロックを定期的に削除し、データ・ブロック構造が効率的に保存されるようにしてEssbaseを調整することは、連結の最適なパフォーマンスにとって不可欠です。

 

ここにあるように、DBのパフォーマンスの低下を防止するために、ハウスキーピングを行うとあります。他にもバックアップ、アーカイブデータをローカルディスクに貯めていく場合にも、定期的になのか、容量上限を決めてハウスキーピングしないと、ディスクがいっぱいになります。

 

ということで、システムにおいて増加し続けるデータがある場合や、削除しても自動的にクリーンアップされない場合は、ハウスキープ処理が必要になるということになります。