このトピックでは、Server Migration Center (SMC) の移行ジョブ中に発生する「S6_* Failed to create a disk partition snapshot」エラーの現象、原因、およびソリューションについて説明します。
症状
Server Migration Center (SMC) の移行ジョブが失敗し、「S6_* Failed to create a disk partition snapshot」のようなエラーメッセージが返されます。考えられる S6_* エラーコードは次のとおりです。
S6_8
S6_1
原因
ブロックレプリケーション中、SMC クライアントは移行元サーバーのディスクパーティションにスナップショットデバイスを自動的に作成してデータを同期します。このエラーは、SMC クライアントがスナップショットの作成に失敗した場合に発生します。原因は、移行元サーバーのオペレーティングシステムによって異なります。
Windows:
ディスクパーティションの領域不足。
サードパーティ製のセキュリティソフトウェアまたはウイルス対策ソフトウェアがインストールされている。
ボリュームシャドウコピーのストレージ制限が不十分である。
ボリュームシャドウコピーサービスが正常に動作していない。
Linux
ディスクパーティションの領域不足。
使用可能なメモリが 300 MB 未満である。
ディスクパーティションのスナップショットデバイスが正常に動作していない。
ソリューション
ソリューションは、移行元サーバーのオペレーティングシステムによって異なります。
Windows
イベントビューアーを開き、`vss`、`volsnap`、`disk` などのソースからのエラーを確認します。エラーメッセージに従って問題を解決してください。
エラーがディスク領域の不足、または VSS シャドウコピーを拡張できないことを示している場合:
ディスクパーティションに十分な空き領域があることを確認してください。合計容量の 10% から 15% 以上を確保することを推奨します。
ボリュームシャドウコピーのストレージ制限が小さすぎないか確認してください。制限を増やすか削除してから、再度お試しください。
ディスクの [プロパティ] ダイアログボックスを開き、[シャドウ コピー] タブを選択し、対象のボリュームを選択してから [設定...] をクリックします。[最大サイズ] エリアで [制限なし] を選択するか、[制限値] を増やし (例:4095 MB)、[OK] をクリックします。
エラーコード
0x80070005で「アクセスが拒否されました」というエラーが発生した場合は、サードパーティ製のセキュリティソフトウェアまたはウイルス対策ソフトウェアを確認してください。必要なディスクバックアップ権限を付与するか、ソフトウェアを一時的に無効にしてから、操作をリトライしてください。ボリュームシャドウコピーサービスが正常に実行されていることを確認してください。
Linux
/dev/smcss9デバイスが存在するかどうかを確認し、dmesg | grep smcssコマンドを実行して関連エラーを確認します。システムに 300 MB 以上の使用可能なメモリがあることを確認してください。
ディスクパーティションに十分な空き領域があることを確認してください。合計容量の 10% から 15% 以上を確保することを推奨します。
SMC クライアントのインストールディレクトリで、
./Check/client_check --ssclear smcssコマンドを実行して残留スナップショットデバイスをクリアしてから、再度お試しください。SMC クライアントのインストールディレクトリを見つけるには、「SMC クライアントの表示と実行」をご参照ください。
(条件付き) エラーメッセージに「io scheduler not support」が含まれている場合は、次のステップに従ってディスクの I/O スケジューラを変更します。
影響を受けるディスクのインデックスを特定します。
エラーメッセージの
msg部分を探します。たとえば、msg=CreateSnapshot 0-x Failedでは、0-xは 1 番目のディスク、1-xは 2 番目のディスクを示し、以降も同様です。ステップ i のインデックスを使用して、対応するディスクデバイス名を見つけます。
lsblkコマンドを実行して、インデックスに対応するディスクデバイス名を特定します。インデックスは 0 から始まります。[root@xxx ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 253:0 0 40G 0 disk # ディスクインデックス 0 ├─vda1 253:1 0 2M 0 part ├─vda2 253:2 0 200M 0 part /boot/efi └─vda3 253:3 0 39.8G 0 part / vdb 253:16 0 100G 0 disk # ディスクインデックス 1 └─vdb1 253:17 0 100G 0 part /dataステップ ii のディスク名を使用して、ディスクの現在の I/O スケジューラを確認します。
たとえば、ディスク vdb の場合、
cat /sys/block/vdb/queue/schedulerコマンドを実行して、その I/O スケジューラを表示します。出力では、角括弧 (
[]) 内のスケジューラが現在のスケジューラです。mq-deadline kyber [bfq] none説明出力には、使用可能なすべての I/O スケジューラ (mq-deadline、kyber、bfq、none) がリストされます。
現在のスケジューラ (
bfq) を別のスケジューラに置き換えます。bfq以外のスケジューラを使用してください。たとえば、mq-deadlineに切り替えるには:sudo echo mq-deadline > /sys/block/vdb/queue/schedulerコマンドを実行します。cat /sys/block/vdb/queue/schedulerコマンドを再度実行して、変更を確認します。出力には、スケジューラがbfqからmq-deadlineに変更されたことが表示されます。sudo echo mq-deadline > /sys/block/vdb/queue/scheduler cat /sys/block/vdb/queue/scheduler [mq-deadline] kyber bfq none
問題を解決した後、SMC クライアントを実行して移行をリトライします。詳細については、「SMC クライアントの実行」をご参照ください。