プログラマーのメモ書き

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

QNAP NAS の Web サーバーを無効化

QTS 5.0 にアップデートしたら、 Security Counselor というのが、セキュリティに関する注意を出してくれるようになりました。

で、今の設定だと Web サーバーが有効なので、無効にしたほうがよい、とのことです。

f:id:junichim:20211013093235p:plain

特に、 Webサーバー機能は使っていないので、無効にしたほうがよさそうですね。ということで、無効にしたので、その際のメモ書きです。

なお、対象機種は下記でした。

  • モデル: TS-231P
  • QTS: 5.0.0.1808

気になる点1

Web サーバーを無効化すると気になる点として、『ブラウザで GUI ログインできるのか?』というのがあります。

同じことを考える人はいるもので、ネットを調べてみると、同じような投稿がありました。

Disabling web server side-effects - QNAP NAS Community Forum

Do you need web server enabled to access QNAP web GUI? : qnap

このあたりを読んでみると、GUI ログインに問題は無いようですね。

気になる点2

じゃあ、いざ Web サーバーを無効化しようとすると、

f:id:junichim:20211012101342p:plain

という確認メッセージが表示されました。

いつくか App Center からアプリ(機能)をインストールしているものがあるので、どれが該当するか一目ではわかりません(QTS アップデートの際に、デフォルトでインストールされたりすることがあるので、自分でインストールした覚えがないのもあるのが困りものです)。

f:id:junichim:20211012101526p:plain

これについては、上記のインストール済みアプリの画面を付けて、サポートに問い合わせたところ、現在インストールされているアプリには該当するものがないとのことでした。

にしても、影響のあるアプリの一覧が欲しいところです。 > QNAP さん

無効化作業

ということで、無効化をやってみます。作業自体は簡単で、『コントロールパネル』の『アプリケーション』を選択し、『Webサーバー』を開きます。

f:id:junichim:20211013093712p:plain

『Webサーバーを有効にする』のチェックを外して、『適用』ボタンを押すと、先ほどの警告画面が表示されるので『OK』を選択します。

これでOKです。

確認

念のため、設定変更に使ったブラウザはそのままログインした状態で残して、別のブラウザでログインできるか試します。

f:id:junichim:20211014094037p:plain

問題なくログイン画面が表示されました。ログインもできますね。

次に、 Security Counselor を開いて、状態を更新してみます。

f:id:junichim:20211013094254p:plain

ちゃんと無効になってますね。

これで大丈夫そうです。

Windows 10 の iSCSI イニシエータで MC/S を利用する

新PC セットアップの続きです(終わらん・・・)。

iSCSI イニシエータの設定が完了し、ドライブとして使い始めました。ふと、iSCSI 接続を確認してみると、想定していたIPアドレスと異なるアドレスで接続されています。今回、 NIC 2枚刺しで iSCSI は専用の NIC を使おうと思っていたのですが、そうなっていませんでした。

これを機に、 iSCSI イニシエータの接続設定を見直したので、いろいろとメモっておきます。

最終的な形

下記のような形になることを想定しています。

NAS NIC1  ----- 仕事場LAN, 192.168.0.x ----- メインPC NIC1
NAS NIC2  ----- 直結, 192.168.2.x -------- メインPC NIC2

普段は、直結(以後、便宜上 iSCSI 専用ネットワークと呼びます)とした側の接続を使い、こちらにトラブルがあった際に、他方に切り替えて使えればと思います。

現状の設定

まずは設定中のものを確認します。『コントロールパネル』->『iSCSI イニシエータ』->『お気に入りのターゲット』タブ->『詳細』を開くと、

f:id:junichim:20211001120220p:plain

となります。iSCSI ターゲットは QNAP の TS-231P に設定しており、この機種は NIC が2枚あります。ここに表示されている IP アドレスは最終形として書いたように、仕事場のLANのネットワークアドレスになっており、 iSCSI 専用ネットワークのものではありません。

ちなみに、同じことは netstat でも確認できます。iSCSI のポート番号は 3260 なのでその接続を見ると、

C:\Users\mor>netstat -n

アクティブな接続

  プロトコル  ローカル アドレス      外部アドレス           状態
  TCP         127.0.0.1:49670        127.0.0.1:49671        ESTABLISHED
(中略)
  TCP         192.168.0.15:61656     192.168.0.7:3260       ESTABLISHED

となりました。

なので、再度接続を行ってみます。

設定変更

不要かもしれませんが、一度接続設定を削除してから、もう一度接続してみたいと思います。

現在の接続の解除

ファイル履歴を有効にした際の保存先が iSCSI 上のドライブなので、いったんファイル履歴を停止させます。

次に、ディスクの管理を開き、ドライブとしてマウントしているものを解除します。ドライブ名上で右クリックし、

f:id:junichim:20211001153210p:plain

『ドライブ文字とパスの変更』を選びます。

f:id:junichim:20211001153329p:plain

表示されたダイアログで、ドライブやパスを削除しておきます。

次に、一度 iSCSI 接続を切断します。

『お気に入りターゲット』タブを開き、接続中のターゲットを選択し、『削除』をクリックします。

f:id:junichim:20211001153437p:plain

次に、『ターゲット』タブを開き、現在接続中のターゲットを選択し、『切断』をクリックします。

f:id:junichim:20211001153458p:plain

確認を求められるので、

f:id:junichim:20211001153526p:plain

『はい』を選択します。

f:id:junichim:20211001153601p:plain

状態が非アクティブになりました。

最後に、『探索』タブを開き、

f:id:junichim:20211001153649p:plain

設定済みの『ターゲットを検索するポータル』を選択し、削除しておきます。

再接続

最初からもう一度設定します。

まず、『探索』タブを開き、『ポータルの探索』に iSCSI ターゲットのIPアドレスを入れます。

f:id:junichim:20211001153804p:plain

この時の IP アドレスは、iSCSI 専用ネットワーク側になる NAS の NIC2 のアドレスにします。続いて、『ポータルの探察』を実施します。

次に『ターゲット』タブに移ります。『検出されたターゲット』に iSCSI ターゲットが表示されていたら、これを選択し『接続』を押します。

f:id:junichim:20211001154009p:plain

『ターゲットへの接続』ダイアログが表示されるので、このまま『詳細設定』を押します。

f:id:junichim:20211001154026p:plain

詳細設定画面の『ターゲットポータル IP』に iSCSI 専用ネットワーク側の NAS NIC2 の IP アドレスを入力します。

f:id:junichim:20211001154107p:plain

このドロップダウンリストを見るとわかりますが、『探索』タブのターゲットポータルの探索で入力した IP アドレス(iSCSI 専用ネットワーク側のアドレス)とは別の、仕事場LAN側につながっている NAS NIC1 のIPアドレスも表示されています。このため、『規定値』のまま接続すると、リストの先頭側のアドレスに接続するんでしょうね、たぶん。

最初の接続は何も考えずに『規定値』でつなげたので、仕事場LAN側を使うことになったと思われます。便利っちゃ便利ですが、慣れてないと気付かないですね、この動作。

あと、 iSCSI ターゲット側では CHAP を有効にしているので、名前とパスワードも入力しておきます。

f:id:junichim:20211001154405p:plain

設定内容に問題がなければ、OKを押します。問題なく接続できれば、今度は

f:id:junichim:20211001154501p:plain

のようになり、接続先(iSCSI ターゲット)の IP アドレスが iSCSI 専用ネットワーク側のアドレス 192.168.2.2 になっていることが確認できます。

これで、 MC/S 化の準備が整いました。

冗長化について

次は冗長化です。 iSCSI の冗長化には、

  • MC/S, Multiple Connection per Session
  • MPIO, Multipath I/O

の2つの方法があるそうです。ですが、あとで詳しく述べますが、 Windows 10 の場合は MPIO が使えませんので、ここでは MC/S 一択です。

MC/S の設定

『ターゲット』タブを選択し、接続状態が『接続完了』になっているターゲットを選択し、

f:id:junichim:20211001154842p:plain

『プロパティ』を表示します。

f:id:junichim:20211001154905p:plain

表示された画面の『セッション』タブの一番下にある『MCS』を押します。

f:id:junichim:20211001155251p:plain

まず、接続を追加するため、『追加』を選択します。

f:id:junichim:20211001155513p:plain

引き続き『詳細設定』を押します。

f:id:junichim:20211001155612p:plain

『ターゲットポータル IP』に仕事場LAN側の NAS NIC1 のIPアドレスを指定し、CHAPの情報も入力しておきます。

次に、『MCSポリシー』を選択します。

f:id:junichim:20211001155400p:plain

普段は、 iSCSI 専用ネットワークで通信して、トラブル時のみ切り替えて接続したいので、『フェールオーバーのみ』としました。

f:id:junichim:20211001155749p:plain

フェールオーバーの場合は、一方(普段使うほう)がアクティブになり、他方(待機してるほう)がスタンバイになります。

設定内容に問題がなければ、各ダイアログで『OK』を押して設定を終了します(特に再起動など必要ありません)。

ちなみに、 NAS 側で接続状況を表示させると、こんな感じで2つの接続があることがわかります。

f:id:junichim:20211002001732p:plain

テスト

iSCSI 専用ネットワーク側の NAS NIC2 のネットワークケーブルを抜いてみます。MC/S のポリシーが『フェールオーバーのみ』になっているので、

f:id:junichim:20211001160505p:plain

のように、ステータスが自動的に『再接続中』になり、再接続処理を行ってくれました。

しばらくすると、ステータスが『接続完了』になります。もちろん、 iSCSI のドライブも問題なく使えます。

ただ、少し気になった点は、再接続が接続完了になるまで、若干タイムラグがありました。頻繁にディスクにアクセスするようなタイミングだとちょっと問題になるかもしれません。

あと、接続が復旧したあと、 MCS 設定を確認すると、アクティブとスタンバイが入れ替わってしまいました。

f:id:junichim:20211001160834p:plain

なので、自分で再度設定してやる必要があるかもしれません。

そう考えると、 MC/S のポリシーとしては『最小キューの深さ』とかを選択して、通常は負荷が少ないと思われる iSCSI 専用ネットワーク側を使うようにし、同時に仕事場LAN側の接続も生かしておくも、有効かもしれませんね(試してないです)。

参考:iSCSI の冗長化について

上記で少し触れましたが、 iSCSI 接続を冗長化する方法として、 MC/S のほかに MPIO というのもあるそうです。

どちらも iSCSI 利用時の接続を複数にすることで、冗長化や性能向上を行うという点では同じもののようです。違いは、 MC/S がその名の通り、1セッションでの接続を複数持つのに対し、MPIOは複数のセッションで接続を行う、というもののようです。

英語ですが下記の記事などを読むと何となくイメージがつかめます。

QNAP の設定記事(PDF)の前半に書いてあるものもイメージしやすかったです。

どちらを選べばよいかについては、上述の英語の記事とそこでも参照されている Microsoft の資料(Microsoft iSCSI Initiator Version 2.x Users Guide)にいくつか基準が載っています。下記に引用しておきます。

There are a number of things to consider when choosing to use MCS or Microsoft MPIO for multipathing.

  • If your configuration uses hardware iSCSI HBA then Microsoft MPIO should be used.
  • If your target does not support MCS then Microsoft MPIO should be used. Most iSCSI target arrays support Microsoft MPIO. Targets which support MCS include but are not limited to Network Appliance, EMC Celerra, and iStor
  • If your target does support MCS and you are using the Microsoft software initiator driver then MCS is the best option. There may be some exceptions where you desire a consistent management interface among multipathing solutions and already have other Microsoft MPIO solutions installed that may make Microsoft MPIO an alternate choice in this configuration.
  • If you need to specify different load balance policies for different LUNs then Microsoft MPIO should be used.
  • If you are using Windows XP or Windows Vista, MCS is the only option since Microsoft MPIO is only available with Windows Server SKUS.

Microsoft の資料(Microsoft iSCSI Initiator Version 2.x Users Guide)から引用

いろいろ条件はありますが、 MPIO の場合は、 iSCSI ターゲット単位ではなく、 LUN ごとに冗長化/ロードバランスのポリシーを変更できるので、そういうのが必要なら MPIO がよいそうです。

ちなみに、この MS の資料は、昔のもののためか、 MS の URL が見つかりません。まあ、タイトルをググれば、 PDF が落ちてるので簡単に入手できると思いますので、興味のある方は見てみると面白いと思います。

対応状況

MPIO と MC/S の対応状況もまとめておきます。

調べて驚いたのですが、WIndows 10 では MPIO は使えないようです(バグみたい)

QNAP の NAS のほうは対応しています(仕様の iSCSI のところに、 MPIO & MC/S の文言があります)。

なので、 iSCSI イニシエータとして Windows 10 を使う場合は、 MC/S 一択になりますね。

Windows 10 ファイル履歴でのバックアップを設定

新しい PC (こちらの記事参照)では Windows 10 の機能であるファイル履歴を使って、バックアップを設定したいと考えています。

ファイル履歴機能についてよく知らなかったので、作業時に気になった点などについてメモっておきます。

今回のバックアップの全体像

今回のバックアップの全体像としては、こんな感じで考えています。

C および D ドライブの指定フォルダ ( SSD )--ファイル履歴-->E ドライブ (NAS上の iSCSI) --iSCSI LUN のレプリケーション-->別のNAS

これは、

  • 作業領域(C および D ドライブ)は SSD 上に用意することでそれなりに速くアクセスできるようにし、
  • Windows のファイル履歴を使ってバックアップ操作を意識せずに定期的にデータを保存し、
  • iSCSI と NAS の LUN のレプリケーションを使うことでバックアップドライブ全体も残せるんじゃないかな

というものです。

ファイル履歴

Windows のファイル履歴機能は、バックアップ機能の一つで、その名の通り、一定時間ごとに更新したファイルの履歴を取っていってくれるもののようです。Windows 8 / 8.1 からあったようですね。

このファイル履歴機能のデフォルト設定では、いわゆるユーザープロファイルフォルダ(C:\Users\ユーザー名)配下にあるフォルダを対象に、指定したドライブにバックアップを取るようです(ユーザープロファイルフォルダそのものは対象外っぽいのでご注意を)。また、自由にバックアップ対象にフォルダを追加したり、除外したりすることができるようです。

ただし、実際に試した際(Windows 10 Pro, 21H1)、 D:\ のような別ドライブのルートフォルダをバックアップ対象に追加できるにはできたたのですが、正しく復元することができませんでした(復元に失敗するのではなく、そもそも復元候補として表示されませんでした)。なので、Cドライブ以外のドライブを対象にする場合は、D:\test みたいにフォルダを作ってそれを対象に加えるのが無難なようです。

(参考)

ドライブ全体を追加するのができない話

別ドライブの個別のフォルダは追加可能という話

ファイル履歴の設定

では、早速設定してみます。

『設定』->『更新とセキュリティ』->『バックアップ』を選択し、『ファイル履歴を使用してバックアップ』のところにある、『ドライブの追加』をクリックします。

f:id:junichim:20210930212118p:plain

すると、ファイル履歴を保存する対象ドライブが表示されるので、

f:id:junichim:20210930212151p:plain

希望するドライブを選択します。ここでは、 iSCSI のドライブである E ドライブを選択しました。

次に、『その他のオプション』をクリックして、バックアップ間隔や対象フォルダを設定します。上記にも書いたように、デフォルトは、 C:\Users\ユーザー名 以下のフォルダが対象になっています。

ユーザープロファイルフォルダ配下は一部のみバックアップ対象に含め、その他としては D ドライブのサブフォルダをいくつか指定しています(上述したように、 D:\ は指定しません)。とりあえずこんな感じに設定しました。

f:id:junichim:20210930212309p:plain

設定に問題がなければ、一度『今すぐバックアップ』ボタンを押して、初回のデータを取得しておきます。簡単ですね。

ファイル履歴からの復元

『設定』から『バックアップ』を開き、『その他オプション』を選択し、画面下部の『現在のバックアップからファイルを復元』をクリックします。

下記のようなフォルダ/ファイル選択画面が表示されるので、

f:id:junichim:20210930212659p:plain

復元したいフォルダ/ファイルを選択して、画面下部の緑色のボタンを押します。なお、複数のバックアップがあれば、左右の矢印で復元したい日時を選択します。

問題なく復元できれば、復元した対象がエクスプローラで表示されます。 別ドライブにあるフォルダ/ファイルを選択しても、問題なく動作しました。

これはなかなかいいですね。

ファイル履歴の使用停止

もし、何らかの理由でファイル履歴を停止したくなったら、『設定』から『バックアップ』を開き、『その他のオプション』を表示し、画面下部の『ドライブの使用を停止』を押します。

f:id:junichim:20211001152753p:plain

すぐさま、ファイル履歴の使用が停止されます。

画面の説明にも書いてありますが、ファイル履歴を停止してもそれまで使っていた保存先のドライブのルートフォルダに、 E:\FileHistory という感じでフォルダが残っています。こちらも、もし不要なら、このフォルダごと削除すればOKです。

なお、もし、この時、初期状態の画面と異なる画面になってしまった場合、一部設定が残っているかもしれません。そのような場合は、

C:\Users\ユーザー名\AppData\Local\Microsoft\Windows\FileHistory

をフォルダごと削除すれば初期状態に戻ります。

(参考)