プログラマーのメモ書き

伊勢在住のプログラマーが気になることを気ままにメモったブログです

NAS の容量を増やしたら、スナップショットレプリカが失敗した

昨日、こちらの記事に書いたように、 NAS の容量と iSCSI で使っている LUN の容量も増やしました。

で、今日、仕事場に来て、メールをチェックしていると、 NAs から何通もの警告メールが来てます。何があった?と思って中身を確認すると、

アプリ名: ストレージ&スナップショット

カテゴリー: スナップショットレプリカ

メッセージ: [ストレージ&スナップショット] スナップショット複製: ジョブ "LUN_0_rep1" の開始に失敗しました。ソースボリューム/LUNのサイズが変わりました。宛先のNASでこのジョブのボールトを削除してから、新しいジョブを作成してください。

とのことです。あ、なるほどね。実際に、 NAS にログインしてみると

スナップショットレプリカの送信元の NAS

スナップショットレプリカの送信先のNAS(スナップショットボールト)

のようになってました。

送信元の NAS のスナップショットレプリカのログにもこんな感じでエラーが記録されています。

念のため、 QNAP のサイトも調べてみると、同様のことが載ってました。

Why can't I successfully take snapshots or run Snapshot Replica jobs sometimes? | QNAP

(このページの下のほうにある『The source volume or LUN has been expanded』のところにばっちり書かれています)

まあ、レプリカという機能なんで、考えてみれば、こうなるのも致し方なしかな。

ということで、スナップショットレプリカジョブを作り直したので、その際のメモ書きです。

送信先のスナップショットボールトを削除

まずは、スナップショットレプリカの送信先にある、スナップショットボールトを削除します。送信先のNASにログインして、『ストレージ&スナップショット』->『データ保護』->『スナップショットボールト』を開きます。こんな感じです。

『アクション』の縦3点部分をクリックすると

のように『削除』メニューが表示されるので、それを選択します。

のような確認画面が表示されるので、『適用』をクリックします。ボリューム(スナップショットボールト)の削除が始まりますので、完了するまでしばらく待ちます。

削除が完了すると、

のように表示が消えます(たまたま、このスナップショットボールト以外に表示するものがないので、何も表示されていません)。

スナップショットレプリカジョブの再作成

次は、スナップショットレプリカの送信元(実行元)のNASにログインしての作業です。手順としては、既存のスナップショットレプリカジョブを削除してから、新たにジョブを作成します。本当は作成してから削除したかったんですが、後述するようにこの順番だとトラブルになるので、先に削除しています。なお、スナップショットレプリカジョブを削除しても、送信元NASでローカルに取得したスナップショットがある場合は、それらは消えないので心配しなくても大丈夫です。

まずは、『ストレージ&スナップショット』->『データ保護』->『スナップショットレプリカ』を開きます。こんな感じです。

(画像は、スナップショットボールト削除前の状態です)

ここで、ごみ箱のアイコンをクリックして、『削除』を選択します。

確認があるので、『OK』を押します。スナップショットレプリカジョブが消えました(ローカルに取得したスナップショットは残ってます)。

次に、『レプリケーションジョブの作成』をクリックします。

『タスク名』はデフォルトのままにして、『次へ』をクリックします。

スナップショットレプリケーションの対象となるソースと送信先を選択・入力します。送信先 NAS のユーザー名、パスワードを入れたら、『テスト』ボタンを押します。

この時、ユーザーに対して2段階認証を設定している場合は、下記のようなセキュリティコードの入力も行います。

無事に接続テストにパスしたら、『次へ』をクリックします。

バックアッププランとしては、『スケジュールされたレプリケーションジョブの開始』を選択し、『スケジュールされた新しいスナップショットをとり、レプリケーションジョブを起動します』にチェックを入れます。

別の『ローカルにスナップショットを撮った後、レプリケーションジョブを行う』でもいいんですが、こちらは指定した回数のスナップショットを撮った後にレプリケーションを行う、という形になります。このため、不定期的にスナップショットを撮ったときにも、レプリケーションジョブが動いたりするので、ちょっと望みの動作ではないかな?と思い、こちらは選択しませんでした(毎日、定期的にレプリケーションを行ってほしいんです)。

『次へ』をクリックすると、いくつかのオプションを設定する画面が表示されます。

ここでは、『送信を圧縮する』にチェックをつけておき、その他はデフォルト値のままとします。『次へ』を押すと、確認画面が表示されるので、

下の方にある『バックアップを直ちに実行します』にチェックをつけてから、『完了』をクリックします。

これで、スナップショットレプリカジョブの定義が完了して、早速、初回のレプリケーションが始まります。

送信先の NAS 側もこんな感じで、スナップショットボールトが作成されました。

あとは、最初のレプリケーションジョブが完了するのを待つだけです。

トラブル

上記の設定中に2点ほどトラブルがありました。

ログインできない

上記のスナップショットレプリカジョブを作成しようとした際に、接続テストを行うと書いたのですが、これがログインできないことがありました。

以前にも似たようなことがありましたね(こちらの記事参照)。改めて、送信先の NAS を確認してみると、 QuFirewall が、送信元 の NAS をブロックしています。

アクセスログも QuLog Center で確認すると、

のように大量のログイン失敗が記録されています。

印象としては、送信元の NASで、『ストレージ&スナップショット』を開くと、ログイン試行が行われているような印象です。ちなみに、 QuFirewall の『拒否された IP アドレス』を表示して、ここから削除しても、すぐにログイン試行するようで、なんども登録されてしまうため、テストが成功しません。

ということで、仕方ないので、『コントロールパネル』->『セキュリティ』->『IPアクセス保護』を選択して、

一時的に HTTP(S) によるアクセスの保護を無効にします。その後、送信元の NAS 側で、スナップショットレプリカジョブの作成を行い、接続テストを行ったところ、問題なくテストに成功しました。

スナップショットレプリカジョブの設定後は、上記は元に戻しておきました。

同じストレージプールにスナップショットレプリカを保存できない

スナップショットレプリカジョブを作成する際に、既存のジョブの情報を参照したかったので、既存のジョブを削除せずに新規に追加する形で作業を行っていたら、送信先のストレージプールを選択した段階で、

のようにメッセージが表示されました。どうも、同じデータを同じストレージプールに保存することはできないようです。

ということで、上記のようにスナップショットレプリカジョブは先に削除しておいてから作業を行う必要があります。

まとめ

NAS の容量を増やしただけだと思っていたのに、意外とあちこちに影響がでています。なかなか全部押さえて一度に設定するのは難しいですね。