プログラマーのメモ書き

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

Ready NAS に接続できなくなりました ( SMB v1 問題に遭遇しました)

先日、メインPCのSSDがなくなったため、新しく Windows 10 Pro (1803) をクリーンインストールしました (詳しくはこちらの記事をご覧ください)。 で、使い始めたら、快調・快調と思っていたのですが、昔から使ってるNAS(Neatgear の Ready NAS Duo, Ultra, Duo v2)のデータを読もうとすると、なぜかつながりません。

ん?どこかまだまずいのか?

と思いながら、あれこれ調べてみると、 Windows 10 April Update 2018 から SMB v1 のモジュールがインストールされなくなり、その影響のため、古いNAS(Linux, Samba)と接続できなくなる、という問題が生じているようです。

Windows 10 Fall Creators Update と Windows Server バージョン 1709 以降のバージョンの既定では SMBv1 はインストールされません

なんとまあ。 メインPCが壊れたのは、この10月の頭ごろです。Windows Update で 1803 になってました。でも、アップデートした場合は、SMB v1 も継続的に使えるみたいですね(現に接続できてました)。

対処方法

対処方法は、大きく二つあり

  • Windows側の SMB v1モジュールを有効にする
  • NAS 側のファームウェアをアップデートし、 SMB v2 移行に対応させる

とのことです。

後者のファームウェアがアップデートができれば、それに越したことはないのですが、ずいぶんと前の機種だしまあ難しいですね。 というわけで、今回は全社のWindows の SMV v1 モジュールを有効にして乗り切ります。

実際の設定はごくごく簡単で、 『コントロールパネル』から『プログラムと機能』を選び、『Windows の機能の有効化または無効化』を選択します。

f:id:junichim:20181103000445p:plain

『SMB 1.0/CIFS クライアント』にチェックをつけて有効にします。

OKボタンを押すと、インストールが始まり、必要があれば再起動もしておきます。 これで、無事につながるようになりました。

ちなみに、PowerShell を使って調べてみると、

f:id:junichim:20181103001813p:plain

しっかりと、dialect 1.5 がありました。

Pingは通るのにネットワークPCが見えない - マイクロソフト コミュニティ

(参考)

Windows 10のエクスプローラの[ネットワーク]にPCが表示されない場合の対処方法:Tech TIPS - @IT

Windows 10 April 2018 Updateで「SMB v1」プロトコルに関するトラブル発生中か | ソフトアンテナブログ

今回問題のあった Netgear Ready NAS Duo に関する情報

ReadyNAS Duo (Sparc) needs SMBv2 or higher - NETGEAR Communities

Ready NAS Ultraの場合、OS6 にすることで SMB v2 に対応にできるようだ

Solved: Enable SMB 2 on ReadyNas x86 v4.2.31 - NETGEAR Communities

OS6化 - Ready NAS @ Wiki - アットウィキ

QNAP SSL 証明書を設定する

自宅で使っているQNAP の NAS に接続する際は、https のみに限定しています。 しかし、最近、ブラウザで https のサイトにアクセスすると正しい証明書と確認できない、などの警告がたくさんでるようになってきました。

そこで、自己証明証明書を作成して、これをブラウザにインストールして警告に煩わされないようにしたいと思います。

基本的な考えは下記のドキュメントの通りです。

www.qnap.com

また、下記記事なども参考になります。

www.out48.com

いつのころからか知りませんが、QNAPのコントロールパネルからも自己署名証明書の作成と設定ができるみたいなので、今回はそれを使います。

設定方法

『コントロールパネル』->『システム』->『セキュリティ』->『証明書とプライベートキー』を選択します。

f:id:junichim:20181102153447p:plain

初期状態では、QNAP が提供するデフォルトの証明書が使われていることがわかります。 ちなみに、この証明書はコモンネーム(CN)が『QNAP NAS』で固定になっています。 このため後述する方法で証明書のダウンロード・インストールしても、実際のNASのサーバー名やIPアドレスと一致せず、証明書としては常に無効になってしまうので、使えないです。

『証明書の交換』を選択します。

f:id:junichim:20181102153522p:plain

ダイアログが表示されるので、『証明書のインポート』から『自己署名証明書を作成する』を選択します。

証明書の作成に必要な項目の入力欄が出てくるので、現時点(2018/11/2 時点)ではすべて の項目(※)を入力します。

f:id:junichim:20181102153614p:plain

※ ここ需要です。本来は、必要項目のみ入力すればよいはずですが、その場合正しく自己証明証明書が設定されません。全項目を入力することで回避できます。QNAPのサポートに教えてもらいました。

f:id:junichim:20181102154050p:plain

こんな感じになります。

入力が終わったら『適用』ボタンを押します。しばらく、進行中のダイアログが表示されており、ダイアログが消えれば設定されているようです。

いったん、ログアウトして、再度接続すると、自己署名証明書で接続しようとしている旨の警告ダイアログが表示されます。

f:id:junichim:20181102230408p:plain

ブラウザのアドレスバーの鍵アイコンをクリックして証明書の状態を見ると、

f:id:junichim:20181102231512p:plain

『無効』となっていることがわかります(なお、証明書を表示してみると、発行者がNASの名前になっているのがわかります)。

この証明書を例外として認めて、接続後再度コントロールパネルを見ると、

f:id:junichim:20181102155239p:plain

こんな感じにNAS側に正しく設定されていることがわかります。

証明書をインストール

最後にブラウザでアクセスしても問題ないように、自己署名証明書をインストールしておきます。

まずは、NASにログインして、『コントロールパネル』->『システム』->『セキュリティ』->『証明書とプライベートキー』を開きます。 『証明書のダウンロード』ボタンを押すと、

f:id:junichim:20181102155436p:plain

とダウンロードするものを聞かれます。今回は両方にチェックを入れたままにしておきます。 『OK』ボタンをおすと、証明書とプライベートキーをまとめたzipファイルがダウンロードされます。 zipファイルを解凍して、証明書を取り出します。

証明書(.crtのファイル)をダブルクリックすると、

f:id:junichim:20181102230727p:plain

のように証明書が表示されるので、『証明書のインストール』を押します。 証明書のインストールウィザードが開始されます。

f:id:junichim:20181102230815p:plain

『現在のユーザー』のまま、『次へ』をクリックします。

f:id:junichim:20181102230903p:plain

証明書ストアを選択する画面が表示されるので、『信頼されたルート証明書』を選択します。

インストールする前に、

f:id:junichim:20181102231107p:plain

のようなダイアログが表示され、証明書をインストールしてよいか、再度確認されるので、『はい』を選択してインストールします。

確認

証明書のインストールが終わったら、一度ブラウザを終了させて、再度起動します。 NAS に接続すると、何も聞かれず、ログイン画面が表示されます。

ブラウザのアドレスバーの鍵のアイコンをクリックすると

f:id:junichim:20181102231324p:plain

のように、証明書が有効であることがわかります。

これで、無事に証明書がインストールされました。ブラウザでいちいち対応しなくてよくなるので楽になりますね。

(参考)Let's Encrypt の証明書について

ちなみに、先ほどの『証明書とプライベートキー』のところでは、Let's Encrypt の証明書も選べるようです。 ただ、Let's Encrypt の証明書を発行するには、サーバーの80番ポートにアクセスできる必要があるそうです。

vezloaforce.jp

なので、内部向けのプライベートアドレスの証明書は作れないということで、今回はこちらを使うのを諦めました。

(参考)myQnapCloud のSSL証明書

ところで、myQnapCloudの画面を見ると、ここにもSSL証明書をインストールするという画面があります。

f:id:junichim:20181102232711p:plain

たぶん、こちらは myqnapcloud のドメイン名(DDNS)でアクセスする際に使われる証明書になるかと思います。

tech-mmmm.blogspot.com

当面、外からアクセスする予定はないので、こちらは何もせずにほっときます。

QNAP HDD 交換

NAS として QNAP TS-251+ に 2TB の HDD 2台積んで、ミラーリングで運用してます。

初期設定時(こちらの記事)にボリュームをHDD全体でとってしまい、ボリュームに空き領域があるにもかかわらず、新たに iSCSI 用の LUN が作れないという残念な状態になっていました。

ボリュームを一度削除して、少ない容量で再設定すれば空き領域を再利用できるのはわかっているのですが、このボリュームに対していくつかアプリケーションがインストールされています。

f:id:junichim:20181027220232p:plain

App Center のクイックスタートガイドで説明されているように、App Center を使えば、アプリをボリューム間で移動させることもできるようです。

f:id:junichim:20181027220351p:plain

が、残念ながら今インストールされているアプリは対象外のようです。それに、一度ボリュームを削除して、再設定するのも怖いです。

どうしたもんかと悩んでいたところ、別件で NAS をもう一台追加することになったのを機に、容量の大きなディスクをこれに割り当てて、今使ってるHDDは新しいNASに回すことにして、ディスク容量を増やすことにしました。

ということで、HDD交換のメモ書きです。

HDD 交換方法

HDD を交換して容量の増やすのは、わかってしまえば全然難しくないですが、一応手順をまとめておきます。

まず、QNAPの管理画面にログインして、『ストレージ&スナップショット』を選択します。

f:id:junichim:20181027220806p:plain

次に、『ストレージプール』を選択して、『管理』を押すか、『ストレージプール』上でダブルクリックをします。

f:id:junichim:20181027220914p:plain

表示された画面で『RAIDグループ』の『管理』->『ディスクを1台ずつ交換する』を選択します。

f:id:junichim:20181027221025p:plain

交換したいディスクを選んで、画面上部の『変更』ボタンを押します。

f:id:junichim:20181027221132p:plain

選んだディスクの説明が『このドライブを取り外してください』となったら、HDDを取り出します。

その後、新しいHDDをセットします。セット後、自動的にリビルドが始まります。リビルドは、今回で約5時間ぐらいかかっていました(ディスクの使用量は、ユーザー領域で約560GB)。

リビルドが完了したら通知されるので、もう1台も同様に交換します。で、またリビルドが走るので、5時間ほど待ちます。

ここまで完了すると、下記のような状態になっています。

f:id:junichim:20181027221620p:plain

RAID1アレイを構成するディスクの容量が4TB(表示では3.64TB)になりましたが、RAID1自体の容量(ストレージプールの容量)はもとの2TB(表示では1.81TB)のままです。 なので、次はストレージプールの容量を増やす必要があります。

これを行うには、もう一度『RAIDグループ』の『管理』から『ディスクを1台ずつ交換する』を選択し、

f:id:junichim:20181027222006p:plain

画面下部の『容量の拡張』ボタンを押します。すると、また再同期が開始され、RAID1の容量(つまり、ストレージプールの容量)が増加します。 これも約5時間ぐらいかかりました。

無事に完了すると、

f:id:junichim:20181027222234p:plain

となり、既存のボリュームの容量はそのままで、RAID1の容量(ストレージプールの容量)が増えていることがわかります。 あとは、ボリュームを追加するなり、iSCSI LUN を作るなりご自由にできます。

にしても計15時間か。恐ろしいぐらい時間かかりますね。

参考

余談ですが、QNAP のストレージ管理はちょっといろいろあってわかりにくいです。

RAID アレイ上に直接ボリューム(パーティション)を作成するのではなく、RAIDアレイ単位をまとめたストレージプールを介して、ボリュームを管理しています(もっとも、RAID上に直接ボリュームを作るオプションも用意されており、『静的ボリューム』で調べるとでてきます)。 この方式のメリットは、複数のRAIDアレイをまたいで一つのストレージプールを作成できるので、RAIDアレイの容量(すなわちHDDの容量)に制限されずに、大きなストレージ領域を作成できることだと思います。まあ、一種の論理ディスクのようになるのかな?

でも、2台のHDDでRAID1で運用するような個人だと、複雑になるだけで分かりにくいんですけどね。

このあたりのことは、最初マニュアル等を読んでいてもよくわかりませんでしたが、下記の記事の先頭にある図がわかりやすかったです。

www.qnap.com

QNAP のストレージ周り、今一つピンとこないな、とお思いの方、ご参考にしてください。