キヤノンITソリューションズ株式会社
GUARDIANWALLシリーズ
GUARDIANWALL MailSuite GUARDIANWALL WebFilter
サポート情報(GUARDIANWALLシリーズ)
  • 文字サイズ変更
  • S
  • M
  • L
  • 投稿日時 : 2023/09/01 12:00

【製品不具合のお知らせ】ディスクアクセスが不安定な環境でデータが誤削除される場合がある

日頃は当社セキュリティ製品をご愛顧賜り誠にありがとうございます。

この度、GUARDIANWALL MailSuite (MailFilter / MailConvert / MailArchive) において、表題の不具合が確認されましたのでご案内いたします。
お客様にはご迷惑をお掛けしておりますことを、深くお詫び申し上げます。
   

◆対象のお客様

以下のバージョン、環境に該当する場合に発生する可能性がございます。
なお、弊社では AWS をご利用の限定的な環境でのみ本事象の発生を確認しております。
  • 対象バージョン
    GUARDIANWALL MailSuite(Linux 版/仮想アプライアンス版) Ver 1.2.06 ~ Ver 2.3.00
     
  • ご利用環境
    データ保存形式に「NFS」もしくは「ローカル」を利用しており、なおかつディスクアクセスが不安定な状態が高頻度で発生する環境。 
    ※ 詳細な条件については後述の「◆発生条件」をご確認ください。
     

◆発生事象

GUARDIANWALL MailSuite を導入いただいているサーバーにて、ディスクアクセスが不安定な環境の場合に、DFS ワーカーに保存されている以下のデータが削除される場合がございます。
 
【削除対象となるデータ】
  • メールログ
  • メールアーカイブ
  • 全文検索インデックス
  • 操作ログ
     

◆発生条件

以下の条件の両方を満たした場合に発生する可能性がございます。
  1. データ保存形式に「NFS」もしくは「ローカル」を利用している。
    データ保存形式を確認するには、以下の設定を参照してください。

    ・GUARDIANWALL MailSuite Ver 1.2.06 ~ 1.3.26 をご利用の場合
      管理センター管理画面[システム設定]→[クラスター管理]→[DFS]にて利用している DFS クラスターの「設定」→[DFS サービス設定]→[ファイル保持数]
       こちらの設定値が「無効」の場合は対象となります。
    ・GUARDIANWALL MailSuite Ver 1.4.00 ~ 2.3.00 をご利用の場合
      管理センター管理画面[システム設定]→[クラスター管理]→[DFS]にて利用している DFS クラスターの「設定」→[DFS サービス設定]→[ファイルシステム]
       こちらの設定値が「ローカル」もしくは「NFS」の場合は対象となります。
     
  2. 毎日 01:05 に行われる不要データの削除処理のタイミングにて、ディスクアクセスが不安定な状態となっている。
    ディスクアクセスが不安定な状態で必ず発生するわけではなく、状況により発生有無が異なります。
     

◆発生原因

毎日 01:05 に行われる不要データの削除処理では、各データのハッシュファイルを読み込んで削除対象かどうかを判断しています。
このハッシュファイルの読み込みに失敗した際に、元のデータを不要と見なして削除してしまいます。
通常であればハッシュファイルの読み込みに失敗することはございませんが、ディスクアクセスが不安定な状態の場合には読み込みに失敗する可能性がございます。
 

◆暫定回避策

不要データの削除処理を一時的に停止してください。
また、お手数をお掛けいたしますが、お客様環境にてデータが誤削除されていないかのご確認をお願いいたします。
 
○停止方法
不要データの削除処理は「dfs_cache_tmpwatch」というスクリプトにて実施しております。
DFS メタサーバーにて以下のコマンドを実行し、該当スクリプトを削除してください。
 
# rm /usr/guardian/etc/schedule/daily.d/dfs_cache_tmpwatch
 

○データの削除有無の確認
DFS メタサーバーにて以下のコマンドを実行してください。
  • データ保存形式に「NFS」を利用している場合。
    # /usr/guardian/bin/psql -t -U <テナント ID> -p 50010 dfs_production -c "SELECT vpath FROM cache_files WHERE state = 0" | xargs -I{} sh -c 'ls /var/lib/guardian/nas/dfs/lfs/tenants/<テナント ID>/{}/$(basename {})' 1>/dev/null
  • データ保存形式に「ローカル」を利用している場合。
    # /usr/guardian/bin/psql -t -U <テナント ID> -p 50010 dfs_production -c "SELECT vpath FROM cache_files WHERE state = 0" | xargs -I{} sh -c 'ls /var/lib/guardian/data/dfs/lfs/tenants/<テナント ID>/{}/$(basename {})' 1>/dev/null
  ※<テナント ID> には、「00000001」など、ご利用しているテナントの ID(8 桁)を入力してください。

上記コマンド実行後、出力が何もなければデータの保存状況は正常です。
もしコマンド実行後に出力がございましたら、コマンド実行時の出力結果を添えて GUARDIANWALL サポート窓口までお問い合わせください。
 

◆恒久回避策

今後のバージョンにて修正いたします。
 

 
このたびは本不具合によりご迷惑をおかけしましたことを改めてお詫び申し上げます。
今後とも GUARDIANWALL シリーズ製品を安心してご利用いただけますよう、製品改善に努めてまいります。