📝

我が家のQNAP(NAS)の運用方法とディスク交換時にやったことまとめ

2020/03/05に公開

最近、自宅のNASのディスク容量が足りなくなってきたので大容量8TBのディスクに交換しました🙌

その際に、セットアップの手順など微妙に忘れていて戸惑ったので、普段の運用の内容と共にディスク交換時にやったことをまとめて記しておこうかと思います。

使っている機種と用途

使っているNASは QNAP TS-231P です。2年半ぐらい使ってますが全然不満ありません。

用途はファイルサーバー兼Plexサーバーで、ローカルMacの一部データのバックアップ先としても使っています。

構成としては以下のような感じです。

  • ディスク1を共有フォルダとして使用
  • Plex Media Serverもディスク1にインストール
  • ディスク2はバックアップフォルダとして使用
  • ローカルMacのデータのバックアップにも使いたいのでRAID1は使わず、別々のボリュームとして初期化してrsyncでバックアップ

Plexサーバーの運用方法

QNAPは もともとPlexに対応していて、管理画面のApp CenterでPlex Media Serverをインストールするだけで使うことができます。

管理画面でPlexをインストールすると、

/share/CACHEDEV1_DATA/.qpkg/PlexMediaServer/Library/Plex\ Media\ Server

このようなパスにライブラリ(メタデータ等の格納場所)が作られます。

  • CACHEDEV1_DATA の部分はどのディスクにインストールしたかによって変わります
  • こちらのヘルプページ によると( qnap でページ内検索してみてください)、以下のコマンドでルートパスを調べることができます
$ getcfg -f /etc/config/qpkg.conf PlexMediaServer Install_path

Plexのライブラリは大事なバックアップデータなので、僕は何となく見える場所に置いておきたいなと思って

  • ライブラリの実体は共有フォルダ(例えば plex などのフォルダ名)直下に移動
  • 上記パスにはsymlinkを作っておく

ということをやっています。

$ ln -sf /share/CACHEDEV1_DATA/plex/Plex\ Media\ Server /share/CACHEDEV1_DATA/.qpkg/PlexMediaServer/Library/Plex\ Media\ Server

rsyncによるバックアップ

QNAPは、sshでログインして直接いろいろなコマンドを実行したり、cronを仕込んだりできます。

なので、cronでrsyncによるバックアップ処理を定期実行するようにしています。

$ ssh {管理ユーザー名}@{QNAPのIPアドレスまたはホスト名}
xxx@xxx's password: {管理ユーザーパスワード}

でログインします。(管理ユーザーは、管理画面にログインするために使っているユーザーで大丈夫です)

cronの設定は

/etc/config/crontab

にあります。(参考

僕の場合は、以下のような感じで1日おきにrsyncを夜間実行するようにしています。

0 1 * * 1,3,5 rsync -auvE --delete /share/CACHEDEV1_DATA/data/ /share/CACHEDEV2_DATA/backup/data
0 1 * * 1,3,5 rsync -auvE --delete /share/CACHEDEV1_DATA/plex/ /share/CACHEDEV2_DATA/backup/plex

僕の環境では、ディスク1(ボリューム1)が /sahre/CACHEDEV1_DATA 、ディスク2(ボリューム2)が /sahre/CACHEDEV2_DATA です。ご自身の環境でディレクトリ名がどうなっているかは実際に中身を覗いて確認してみてください。

crontabを変更したら、変更を適用するために忘れずにcrondを再起動しましょう。

$ /etc/init.d/crond.sh restart

vimが動かない?

QNAP内でviコマンドを実行すると

E437: terminal capability "cm" required

というエラーになることがあります。

この場合は

$ export TERM="xterm" # 先にこれをする
$ vi

とすれば正常に動作すると思います。

ローカルMacのバックアップ

QNAP内に仕込んだのと同様に、ローカルMacにも例えば以下のような感じでcronを仕込んであります。

# ~/Music/iTunes/ と ~/Movies/ を /Volumes/backup/mac 配下にrsync
0 1 * * 2,4,6 cd ~ ; rsync -auvER --delete Music/iTunes/ Movies/ /Volumes/backup/mac

ディスク交換時にやったこと

最後に、今回のディスク交換の際に具体的にやったことをメモがてら記しておきます。

1. 新しいディスクにボリュームを作成

  1. メニューから ストレージ&スナップショット を開く
  2. サイドバー内の ストレージ > ストレージ/スナップショット を開く
  3. 右上の 作成 > 新規ボリューム をクリック
  4. 静的ボリューム を新しいディスクに容量MAXで作成

2. 新しいボリュームに共有フォルダを作成

  1. メニューから File Station を開く
  2. 左のツリービューの DataVol1 (など、今作ったボリューム)の右にある から 共有フォルダの作成 をクリックして共有フォルダを作成
    • 僕の場合は、今回は data plex という2つの共有フォルダを作りました
    • data は汎用、 plex はPlexのライブラリの実体を置いておく用です

なお、システムボリュームの場合、 Web Public Multimedia Download といったデフォルトの共有フォルダが自動で作られます。

邪魔なので削除しようと思ったのですが、どうやら削除することはできなくて、非表示にすることしかできないようです。(参考

非表示にする方法は、

  1. メニューから コントロールパネル を開く
  2. 権限設定 > 共有フォルダー を選択
  3. 非表示にしたいフォルダの列の右端の アクション の中から プロパティの編集 をクリック
  4. ネットワークドライブの非表示 にチェックして保存

です👍

3. バックアップデータを新しいボリュームの共有フォルダにコピー

念のため、前のディスクを取り除く前に、バックアップデータを最新化するためにrsyncコマンドを1回実行しておきます。

その上で、ディスク交換後、バックアップデータを改めて新しいボリュームの共有フォルダにrsyncでコピーしました。

$ rsync -auvE --delete /share/CACHEDEV2_DATA/backup/data/ /share/CACHEDEV1_DATA/data

全部で数TBあってめちゃくちゃ時間がかかるので1日ぐらい待ちます。

注意点として、 このコピー作業をしている間は、QNAP内に仕込んでおいたcron経由のrsyncは実行されないようにしておく必要があります。

そうしないと、大事なバックアップデータが「無」で上書きされてしまうという悲劇が起きるので😱

crontabの該当行をコメントアウトした上で、 忘れずにcrondを再起動しておきましょう。

まとめ

  • QNAPはPlexサーバーを簡単に導入できて便利
  • QNAPはcronも仕込めるのでrsyncを定期実行するようにしておくとRAIDを組まなくてもバックアップ体制を作れる
GitHubで編集を提案

Discussion