CO-CONV サポート

文章番号17-025

CO-Store 環境で書き換え開始をせずに vDisk ファイルを書き換えるとタスクがリトライを繰り返してしまう

公開
2017年09月20日
対象製品
  • CO-Store 3.0
  • CO-Store 3.1

概要

CO-Store では、書き換え開始をせずにディスクを書き換えることを想定していません。

必ず「書き換え開始」または「再書き換え」を実行してから、ディスクイメージを更新してください。

万が一、書き換え開始をせずにディスクイメージを書きかえてしまった場合には、 書き換えられたファイルを自動的に破棄、または、レプリケーションしてしまうと事故を生む可能性があるため、 CO-Store はタスク処理を進めない (タスク処理がリトライを繰り返す) ように設計されています。

このドキュメントでは、このような状況を回避する手順および復旧する手順について述べています。

用語

マスターサーバー
PVS サーバーのうちディスクの更新作業などに利用されるもの。以下、マスター と呼びます。
スレーブサーバー
ディスクを保持する PVS サーバーのうち、マスターサーバー以外の PVS サーバー。以下、スレーブ と呼びます。

詳細

CO-Store では、マスターとスレーブのファイルが異なった状態を許容していません。 CO-Store で操作をしている限り、マスターとスレーブに異なった状態のファイルが存在することはありません。
(ただし、PVS, CO-Store に障害が発生した場合にはマスターとスレーブで内容の異なるファイルが残ってしまう状況も考えられます。)

一方、CO-Store を利用せずに vDisk に変更が加えられてしまうと、タスク処理の実行中にマスターとスレーブのファイルが異なっていることを検知して、スレーブ上のファイルを異常のあるファイルとしてバックアップした上でエラーとなります。 また、それ以後のタスク処理はバックアップしたファイルがスレーブ上に残っている限りはエラーになります。

具体例

タスクが以下のようなログでリトライを繰り返している状況が該当します。

(以下の例では、マスターが PVS1, スレーブが PVS2 という構成です。)

2017-09-08 11:32:14,426 [1] ERROR py.VhdTask - 書き換え終了タスクに失敗しました.
[Exception] 以下のサーバーに異常なファイルが確認されました。
サーバー名: PVS1
    異常なファイルは存在しません。
サーバー名: PVS2
    Hoge.11.avhd.20170907_123456_000000
Traceback (most recent call last):
  File "api\VhdTask", line 166, in WriteEnd
  File "lib\CheckUtils", line 343, in check_invalid_file_existence
Exception: 以下のサーバーに異常なファイルが確認されました。
サーバー名: PVS1
    異常なファイルは存在しません。
サーバー名: PVS2
    Hoge.11.avhd.20170907_123456_000000
2017-09-08 11:32:14,426 [1] INFO  CO_StoreApi.Program - 終了します: 0x00000001

なお、上記のようなログで、マスター上 (例であれば PVS1 が該当) に異常ファイルがバックアップされているという場合には、原因が異なります。 そのような場合には必ず、【文章番号17-005】CO-Store のログ回収手順 の手順でログを回収の上、CO-CONV にご連絡ください。

対策

回避手順

ディスクのマウントなどにより「ディスクに対して直接の更新作業を施す」場合には、 以下のような手順で作業を行っていただきますようお願いします。 (ReadCache ディスク管理ツールによるフラグ変更もこれに該当します。)

  1. CO-Store で書き換え開始する。

  2. マスター上で、最新バージョンのディスクに対して更新作業をする。
    以下のような作業が該当します。

    • ReadCache ディスク管理ツールによるフラグ変更
    • ディスクをマウントしてパッチ適用などの更新をする作業
  3. CO-Store で書き換え終了する。

また、PVS コンソールを利用した以下のような操作はしないようお願いします。

  • [取り消し] を実行して最新バージョンを保守モードにしてから更新を行う
    ⇒ CO-Store の「再書き換え開始」をご利用ください。
  • 最新バージョンの [削除] 後に [新規] により最新バージョンを作り直す
    ⇒ CO-Store で最新バージョンを削除してから「書き換え開始」をしてください。

復旧手順

マスター上のファイルを使い続ける場合

ログで指摘のあったスレーブに存在する Invalid というフォルダに対する作業を行ってください。

  1. スレーブの共有フォルダ内に Invalid という名前のフォルダが存在することを確認する。

    • 共有フォルダとは CO-Store 管理対象とするストアのパスで環境構築時に共有の設定をしたフォルダです。
  2. Invalid フォルダ内に .(a)vhd ファイルがバックアップされていることを確認する。

    • 先述の例では、Hoge.11.avhd.20170907_123456_000000 が該当します。
  3. Invalid フォルダをリネームしてください。

    • Invalid.20170908 など、作業日時の分かる名前を推奨します。

リネーム後に実行されたタスクから中断されないようになります。

マスター上のファイルを破棄してスレーブ上のファイルを使う場合

状況により作業が複雑になる可能性があります。

【文章番号17-005】CO-Store のログ回収手順 の手順でログを回収の上、CO-CONV にご連絡ください。