プログラマーのメモ書き

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

QNAP NAS のボリューム再構築

元々、QNAP の NAS (TS-251+) をファイルサーバーとして運用していたのですが、 以前の記事に書いたように 2台体制にして、相互でバックアップを取るようにしようと思い立ってから、かれこれ数か月が経ちました。

やっとある程度形になったので、設定内容をメモにまとめておきます。

構成検討

同じ QNAP 製の NAS でそろえた大きな動機の一つが、購入時のこちらの記事でも触れているように、既存の Netgear Ready Nas Ultra 2 の iSCSIターゲットのバックアップ体制がいまひとつだったためです。

QNAP だと ISCSI 領域を別の NAS にスナップショットとして保存できる機能があるので、不具合時に復旧が簡単かな?と思った次第です。 ちなみに Ready Nas Ultra 2 だとディスク全体をファイルとして保存することしかできませんでした。 もっとも、(調べてないですが)Netgear の NAS でも最新のなら、いろいろとあるのかもしれません。 そういう意味では機種選定のタイミングは大きいですね。

iSCSI に関するテストでわかったこと

さて、iSCSI 領域(LUN)のスナップショットを使いたいので、まずはいろいろと試してみました。

その際 iSCSI ターゲットに割り当てている LUN に対してスナップショットを作成して、スナップショットから iSCSI ターゲットとして復元しようとする際は、 一度、LUNを再作成する必要があることに気づきました。

今回の場合、これは、結構大きな問題になります。 というのも、iSCSI LUN のサイズ分、空き容量を用意しておかないと実際のトラブル時に復旧に支障がでるかもしれない、というためです。

もちろん、既存の(トラブルのあった)iSCSI LUN を削除すればよいのでしょうが、トラブル時は何があるかわかりませんので、 なるべくデータ復元や復旧の見通しが立つまでは元の領域には手をつけたくありません。

ということで、これを踏まえて構成を考えてみることにしました。

設定内容

NAS が2台あるといろんな構成が取れると思いますが、今回は上記を踏まえて、 1台はファイルサーバー(兼仮想マシン類のホスト)、1台はiSCSIターゲットにして運用します。

NAS1 NAS2
モデル QNAP TS-251+ QNAP TS-231P
HDD 4GB HDD x2, RAID1 2GB HDD x2, RAID1
用途 ファイルサーバー
Container Station
Virtualization Station
iSCSI ターゲット
ボリューム/LUN データボリューム(500GB, シック)
iSCSI LUN のスナップショット (スナップショットボールト)
データボリューム( 450GB, シン)
iSCSI LUN, 1.25TB(ブロックベースLUN, シン)
保護されるスナップショット領域 10% 10%

iSCSI ターゲットのある NAS2 は、データボリューム、iSCSI LUN ともに、シンとします。 iSCSI LUN は今のところ空き領域が大きい使い方のため、シックだともったいないかなと思うためです。

また、NAS2は、オーバーアロケーションになっています。

f:id:junichim:20181209201033p:plain

なので、警告はきちんと有効にして物理容量を超えないように気をつけないといけないです。 物理容量を超えてくるようになったら、容量の大きなHDDに交換とする予定です。

NAS1 のボリューム再構築について

さて、NAS2のほうは新規に購入したやつなので、領域だけ作って、あとは必要なデータをコピーすれば終わりです。 問題は、現在も運用中のNAS1ですね。

ボリュームサイズが無駄に大きいので、ボリュームを一度整理しました。 ここでは、その再構築の際に気づいたことを書いておきます。

あ、再構築作業の前にはくれぐれもバックアップをしっかりと取ってから行いましょう。

データボリューム

既存のNAS1のデータボリュームは、シックボリュームで、おおよそ1.3TBでした(スクリーンショット取り忘れました)。 でも、実際に使っているのは約300GB程度です。 無駄ですね。こちらの記事の際の作業で深く考えずにやってしまったミスですね。

なので、一度ボリュームを削除して、再作成します。 なお、このボリュームはシステムボリュームなので、必要があれば、こちらの記事などを参考に、元々の設定に戻しておきます(今回はアプリの再インストールのみでホームフォルダは再作成しませんでした)。

データボリューム再作成後は、

  • Web フォルダ(デフォルトフォルダのひとつ)の『ネットワークドライブの非表示』にチェックを入れる f:id:junichim:20181209202305p:plain
  • Public フォルダ(デフォルトフォルダのひとつ)に everyone read/write 権限を追加
  • データ保存用の共有フォルダの作成

などを行っておきます(自分用に便利に使うための設定でそれ以外の意図ではないです)。

Container Station

システムボリュームを再設定したため、システムボリュームにインストールされていたアプリケーションも削除されます。この一つが Container Station です。

復旧はこちらの記事にあるように、 Container Station のデータ領域を NAS1 に書き戻し後、そのフォルダを指定して Container Station を起動すればOKです。

Virtualization Station

Virtualization Station もシステムボリュームにインストールされるアプリのため、仮想マシンの再設定が必要です。 この仮想マシンの復旧が一番手間取りました。

本来は、仮想マシンを Virtualization Station からエクスポートしておき、システムボリューム再構築後、インポートするべきでした。これだとあっという間に終わったはずです、きっと。

でも、仮想マシンだからデータさえあれば簡単に復旧できるだろうとタカをくくって、エクスポート/インポートを試したり、それを使った検証をしていなかったためはまりました。

インポートについて

QNAP の Virtualization Station の場合、仮想マシンのインポートは

www.qnap.com

という形式のファイルしか受け付けてくれません。

で、仮想マシンフォルダに残っているのは .img ファイルのみでした(多分、仮想 Hdd イメージかな?)。

やられました。

.img ファイルからの復活について

まあ、同じようなことで困っている人はきっといるだろうと思って調べてみると、

VM image not recognized when importing - QNAP NAS Community Forum

やっぱりいました。

で、上記を参考に Virtualization Station で新規に仮想マシンを追加すると、設定画面で

f:id:junichim:20181209203649p:plain

おお、こんなオプションがあるんですね。

ここに、残っていた .img ファイルが保存されているフォルダを指定して、他のパラメータを入力していきます。

  • OS Ubuntu 16.04
  • メモリ 1GB
  • イメージ:既存のもの
  • NIC 追加

NIC の追加については、このVMがSoftEther VPN Server を動かすためのものであり、プロミスキャスモードのNICを割り当てるために行うものです。詳しくはこちらの記事を参考にしてください。

で、上記の設定を行ったVMを追加して起動したら、問題なく立ち上がりました。

バックアップ体制

最後にバックアップについてまとめておきます。

バックアップは Hybrid Backup Sync というアプリで行います。というのもバックアップ周りでQNAPに問い合わせしたら、Backup Station は古いから Hybrid Backup Sync 使え、と返事が来たためです。

まあ、設定する内容は Backup Station と大きく変わらないので、設定したことがあれば大丈夫かと思います。

今回は

  • Rsync による同期:NAS1 のデータフォルダ ---> NAS2 のバックアップ領域
  • LUNのスナップショットレプリカ:NAS2 の LUN ---> NAS1

となるように設定しました。 ほかにも念のため、お役目から解放されて余ってる Ready NAS Ultra 2 に定期的にデータをコピーしています。

まとめ

データなので、バックアップをとるのに時間がとられましたが、何度も設定を変えながらボリュームやLUNを作成・削除していると、 だんだんストレージの設定が柔軟だということの便利さ、というのがなんとなくわかってきました。

上記の作業も慣れればたいして手間のかからない作業です(データバックアップが一番時間がかかります)。 まあ、慣れたころにやらかすので、気をつけないといけないですが。

ご参考になれば。