TL;DR
SSHでログイン.SSHを無効にしている場合は,別の方法を探してください.
ssh admin@<server-name>.local
以下のコマンドを実行し,システムボリュームをアンロック,マウント.
mkdir /share/CE_CACHEDEV1_DATA
storage_util --encrypt_pwd pwd=YOUR_PW_HERE | sed 's/Encrypted passwd is://g' | cryptsetup -v luksOpen /dev/mapper/cachedev1 ce_cachedev1
mount /dev/mapper/ce_cachedev1 /share/CE_CACHEDEV1_DATA -t ext4
/etc/init.d/init_lvm.sh
管理画面用のHTTPサーバーを再起動.
/etc/init.d/Qthttpd.sh restart # /etc/init.d/services.shでもいいかも
再起動時に毎回これをするのは面倒なので,安全性は犠牲になってしまいますが,システムボリュームは暗号化しないか,暗号化して鍵を保存してしまうのが一番簡単です.
教訓:必ずログインする方法を2つ以上用意すること
経緯
ことの発端
QNAPを買いました.PCに保存されているデータのバックアップのためです.
以下の理由からすべてのボリュームを暗号化することにしました.
- 最初の起動時に,全くボリュームを作らなくても管理画面にログインできたので,システムボリュームがマウントされていなくても管理画面にはログインできると思い込んだ(これが不幸の始まり..)
- 管理画面からすべてのボリュームをアンロックできると思った
- 後から暗号化する場合,データをすべてコピーし直さないといけないので面倒(逆の場合も同じ)
- 暗号化してもそれほど遅くならないようだし,暗号化時でも十分な速度が出ているようだった
一通りデータをコピーした後,再起動したときに問題が発生した..
管理画面にログインできない問題
再起動後,管理画面をブラウザで開くとエラーページにリダイレクトされ,ログイン画面が表示されません.理由は不明ですが,QNAPはいくつもHTTPサーバーを起動しているようなので(管理画面からWebサーバー機能などを無効にしても,なぜか起動し続けている),そちらのポートにも接続を試みて見ましたがだめでした.
問題発生時にメールを送信するように設定していたため,以下のような内容のメールが届きました.
The default network shared folders (Public, Web, Multimedia, Download) are inaccessible. You must restore (or unlock) the system volume to a normal state. If the system volume is normal, the default network shared folders can also be restored in "Control Panel > Shared Folders".
安全のため暗号化鍵は保存しなかったから,当然起動時にシステムボリュームをマウントできません.それは予想通りだったのですが,初期起動時にはボリュームなしでも起動できたじゃないか..
データをコピーする前に確認すべきだったと反省しても後の祭り..すでに削除済みのデータのあったため,かなり衝撃を受けました.
助けてGoogle先生
よし,検索だ.
Encryption - Can you enter the password via the command line - QNAP NAS Community Forum
SSHでログインできればなんとかなるようです.
試してはいませんが,wgetの方法でも解決できるかもしれません.ただし,管理画面のUIが変わっていると動作しなくなると考え,storage_utilを使うことにしました.
補足
HTTPサーバーポート
HTTPサーバーのポート設定の項目が幾つかありますが,これは変更しないことを強くお勧めします.
QNAPの管理画面から設定を変更した場合,設定ファイルが再生成される場合があります.この場合,以前設定した情報は上書きされ消えてしまいます.
例えば,System port
を80に変更した後で(これを80に設定するのも結構面倒です),Disable and hide multimedia functions
を有効にすると,http://<server-name>.local
から管理画面にログインできなくなります.これは,Disable and hide multimedia functions
を有効にするとWeb Serverの設定が再生成され,初期値の80番ポートに戻ってしまうためです.QNAPはWeb Serverを無効にしてもなぜかWeb Server用のHTTPサーバーを起動します.恐らく,Web Server用のHTTPサーバーは管理画面用のHTTPサーバーよりも先に起動するため,管理画面用のHTTPサーバーが80番ポートで起動できなくなるのだと推測されます.
システムボリュームと管理画面へのログイン
後から調べて分かったことですが,Disable and hide multimedia functions
を有効にすると,システムボリュームがマウントされていなくても管理画面にログインできるようになります.ただし,前述の点に注意が必要です.
暗号化鍵を外部USBメモリーに保存
試してはいませんが,起動スクリプトに手を加えることで,暗号化鍵を保存しなくても済むかもしれません.例えば,ボリュームのマウント時に外部USBメモリーに保存されているパスワードもしくは暗号化鍵を使用するとか.
類似の議論は2009年からあるみたいです.
[Request] Use USB device for encryption key - QNAP NAS Community Forum