HDD 高騰時代、NAS が満杯でもまだ増設しない:200 元 TerraMaster + HC620 のコールドデータ構成

HDD 価格が高い時期に、メイン NAS はホットデータだけを残し、コールドデータとバックアップを HC620 に逃がし、TerraMaster F2-220、F2-221、F4 を低コストなコールドデータノードとして使う方法。

HDD 価格が大きく上がっている時期に NAS の容量がいっぱいになっても、すぐにディスクを増設する必要はありません。メイン NAS が正常に動いていて、単に容量が足りなくなってきただけなら、まずデータをアクセス頻度で分けるほうが現実的です。よく使うホットデータは元の NAS に残し、あまり使わないコールドデータとバックアップは別のコールドストレージ用ディスクへ移します。

この記事は低コストな構成の記録です。大容量の HC620 をコールドデータ保存用に使い、安価な TerraMaster F2-220、F2-221、または F4 をコピーとマウント用ノードとして使います。高性能を狙う構成ではありません。今は HDD を更新しにくい時期なので、まずメイン NAS の空き容量を確保するのが目的です。

考え方

まずデータをアクセス頻度で分けます。

  • ホットデータ:写真、作業資料、最近のダウンロード、よく再生する動画。メイン NAS に残す。
  • コールドデータ:古い動画ライブラリ、アーカイブ資料、長期間動かない大きなファイル。HC620 に移す。
  • バックアップデータ:定期的に書き込み、たまに読むだけのデータ。これも HC620 に置ける。

HC620 の用途については、サイト内の記事 Western Digital HC620 SMR ディスクの誤解と正しい使い方 も参考になります。HC620 は順次書き込み、長期保存、ランダム読み出しには向いていますが、頻繁な削除や繰り返し書き込みの多い用途には向きません。

メイン NAS の空きを確保するだけなら、HDD が高い時期に主 NAS のディスクを一気に交換するのはおすすめしません。まず使用頻度の低いデータを外へ出し、メイン NAS はホットデータを担当し続けるほうが費用対効果は高いです。

古い TerraMaster を使う理由

HC620 の問題は容量ではなく、扱いやすさです。OS、インターフェース、使い方に条件があり、USB HDD ケースへ直接入れる運用にはあまり向いていません。

そこで TerraMaster F2-220、F2-221、または一部の F4 機種を低コストなコールドデータノードとして使います。利点は分かりやすいです。

  1. 安い。中古の F2-220 は 200 元以下で見つかることがあります。
  2. 小型で場所を取りにくく、消費電力も許容しやすい。
  3. OS を USB メモリに入れられるので、ディスクベイを消費しない。
  4. 2 個以上の SATA ベイがあり、HC620 をアーカイブディスクとして載せやすい。

この手の古い機種は性能こそ高くありませんが、コールドデータの移動、CIFS マウント、バックグラウンドコピーには十分です。F2-220 の SATA は古い SATA 3G ですが、実測では HC620 の外周側同士のコピーで約 200MB/s 出ています。コールドデータ移行としては十分で、実際のボトルネックはネットワーク、コピー元ディスクの状態、ファイル数になることが多いです。

オンボードのギガビット LAN に不満がある場合は、USB 2.5G LAN アダプタを追加する方法もあります。コールドデータノードに複雑な改造は不要です。OS がアダプタを認識し、スイッチとメイン NAS も 2.5G に対応していれば、ネットワークの上限を一段引き上げられます。

画面出力を用意する

機種に HDMI がない場合、OS インストール時に VGA が必要です。F2-220 には内部 VGA ヘッダがあります。マザーボード用の内部 12Pin VGA 変換ケーブルを使い、片側を内部ピンヘッダへ、もう片側を標準 VGA コネクタとしてモニタへ接続します。

VGA 変換ケーブルの仕様と注意点は、TerraMaster F2-220 に fnOS を入れる:VGA 出力 を参照してください。検索語としては「12Pin VGA 変換ケーブル」「マザーボード 12 ピン VGA 変換」「2.0mm 12Pin to VGA」などが使えます。購入前にピッチ、向き、ピン配列を確認してください。

Ubuntu Server を USB メモリへインストールする

Ubuntu Server は USB メモリへインストールし、HDD ベイはすべてデータディスク用に残すのがおすすめです。

F2-220 は性能が低めなので、本体で直接インストールするとかなり遅くなります。より楽な方法は、USB メモリを別の速い PC に挿して Ubuntu Server をインストールし、完了後に TerraMaster へ戻して起動することです。起動方式が合っていれば、通常そのまま使えます。

インストール後はネットワーク設定を必ず確認します。ネットワークがつながらないと、起動しても SSH で管理できません。

ネットワーク設定

システムに入ったら、まずネットワークインターフェース名を確認します。

1
lshw -c network

出力例では logical name を確認できます。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
  *-network
       description: Ethernet interface
       product: RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet Controller
       vendor: Realtek Semiconductor Co., Ltd.
       physical id: 0
       bus info: pci@0000:02:00.0
       logical name: enp2s0
       version: 07
       serial: 6c:bf:b5:00:63:ab
       size: 1Gbit/s
       capacity: 1Gbit/s
       width: 64 bits
       clock: 33MHz
       capabilities: bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=6.8.0-111-generic duplex=full firmware=rtl8168e-3_0.0.4 03/27/12 ip=192.168.8.205 latency=0 link=yes multicast=yes port=twisted pair speed=1Gbit/s
       resources: irq:17 ioport:e000(size=256) memory:d0604000-d0604fff memory:d0600000-d0603fff

この例のインターフェース名は enp2s0 です。次に netplan 設定ファイルを編集します。

1
sudo more /etc/netplan/01-install-config.yaml

ファイルが存在しない場合は新規作成し、次の内容にします。

1
2
3
4
5
network:
  version: 2
  ethernets:
    enp2s0:
      dhcp4: true

enp2s0 は実際のインターフェース名に置き換えてください。保存後に実行します。

1
sudo netplan apply

ネットワークが復旧したら、この TerraMaster に SSH で接続できます。その後はモニタをつなぎっぱなしにする必要はありません。

HC620 を btrfs にフォーマットする

HC620 が新しいディスク、または中のデータが不要だと確認済みなら、先に btrfs にフォーマットします。以下の操作は対象ディスク上のデータを消します。実行前に必ずデバイス名を確認し、メイン NAS の共有ディレクトリやシステム USB メモリを誤ってフォーマットしないようにしてください。

現在のディスクを確認します。

1
lsblk -o NAME,SIZE,MODEL,SERIAL,FSTYPE,MOUNTPOINTS

より安定したディスクパスも確認できます。

1
ls -l /dev/disk/by-id/

HC620 に対応するデバイス名を確認したら、既存のマウントを解除します。

1
2
sudo umount /dev/sda 2>/dev/null
sudo umount /dev/sda1 2>/dev/null

ディスク全体をそのまま btrfs にする場合は、次を実行します。

1
sudo mkfs.btrfs -f -O zoned -d single -m single -L HC620_01 /dev/sda

各パラメータの意味は次の通りです。

  • -f:ファイルシステム作成を強制し、古い署名で止まるのを避ける。
  • -O zoned:zoned 機能を有効化する。HC620 のようにゾーン単位の順次書き込みが必要なディスクに向く。
  • -d single -m single:データとメタデータを単一ディスクモードにする。
  • -L HC620_01:識別しやすいようにラベルを設定する。

システムやカーネルの zoned btrfs 対応が不安定な場合は、以前の実測記録 約 600 元の新品 WD HC620 14T は買う価値があるか も参照してください。この種のディスクは、カーネルバージョン、SATA コントローラ、ファイルシステム対応に影響されます。異常がある状態で本番データを入れないほうが安全です。

フォーマット後、まず一時的にマウントして確認します。

1
2
3
sudo mkdir -p /mnt/disk1
sudo mount /dev/sda /mnt/disk1
df -h

正常にマウントできることを確認してから、/etc/fstab に書いて自動マウントします。長期運用では /dev/sda ではなく /dev/disk/by-id/ を使うほうが、再起動後のデバイス名変化を避けられます。

マウントを設定する

このコールドデータノードでは、通常二種類のパスをマウントします。

  1. メイン NAS の共有ディレクトリ。移行対象データを読むために使う。
  2. ローカルの HC620 データディスク。コールドデータとバックアップを保存するために使う。

まずマウントディレクトリを作成します。

1
sudo mkdir -p /mnt/xxxxx /mnt/disk1 /mnt/disk2

CIFS/SMB 共有をマウントする場合はツールをインストールします。

1
2
sudo apt update
sudo apt install cifs-utils

次に /etc/fstab を編集し、次のような内容を追加します。

1
2
3
//192.168.x.xxx/xxxxx   /mnt/xxxxx cifs auto,username=xxxxx,password=xxxxx,uid=997,gid=997,file_mode=0777,dir_mode=0777,nofail 0 0
/dev/sda  /mnt/disk1  auto  defaults,nofail  0  0
/dev/sdb  /mnt/disk2  auto  defaults,nofail  0  0

1 行目はメイン NAS の共有ディレクトリをマウントします。後ろの 2 行はローカルディスクをマウントします。

実運用では、データディスクには /dev/disk/by-id/ のような安定したパスを使うことをおすすめします。再起動後に /dev/sda/dev/sdb の順番が変わることを避けるためです。HC620 のフォーマットとマウントの注意点は、以前の記録 約 600 元の新品 WD HC620 14T は買う価値があるか も参考になります。

編集後はマウントをテストします。

1
2
sudo mount -a
df -h

メイン NAS の共有ディレクトリとローカルデータディスクが表示されることを確認してから、データ移行を始めます。

バックグラウンドでファイルをコピーする

大量データの移行では、SSH の前景で普通の cp を直接実行するのはおすすめしません。ここでは screen + mc を優先します。screen は SSH が切れてもタスクを残すため、mc は見やすい 2 ペインのファイル管理画面を使うためです。

mc はコールドデータを手作業で整理する用途に向いています。左側にメイン NAS のマウントディレクトリ、右側に HC620 のデータディスクを開き、ファイルを選んで F5 を押すだけでコピーできます。コピー中は現在のファイル進捗と全体進捗が表示されるため、大量ファイルの移動では単なるコマンド出力より分かりやすいです。

Midnight Commander コピー進捗のイメージ

上の画像はファイルコピー時の進捗ウィンドウのイメージです。Midnight Commander 公式マニュアル でも、コピー、移動、削除操作は verbose モードでファイル操作ダイアログを表示し、現在ファイルと全体の進捗を表示できると説明されています。

ツールをインストールします。

1
sudo apt install screen mc rsync

バックグラウンドセッションを開始します。

1
screen -S cold-data

screen の中で mc を起動します。

1
mc

基本的な使い方は、左右のペインでコピー元とコピー先を開き、ショートカットで操作する形です。

  • Tab:左右ペインを切り替える。
  • Insert:複数のファイルやディレクトリを選択する。
  • F5:反対側のペインへコピーする。
  • F6:移動またはリネームする。
  • F8:削除。慎重に使う。

スクリプト化しやすく、繰り返し実行できる同期が必要な場合は rsync を使います。

1
rsync -avh --progress /mnt/xxxxx/old-data/ /mnt/disk1/old-data/

コピー中に SSH が切れても、screen セッションは残ります。再接続後に次を実行します。

1
screen -r cold-data

元のコピー作業へ戻れます。

使用上のおすすめ

この構成はコールドデータとバックアップ向けです。HC620 を高頻度書き込みディスクとして使うのは避けます。おすすめの使い方は次の通りです。

  • メイン NAS はホットデータと日常サービスを担当する。
  • HC620 には長期保存の大きなファイル、動画ライブラリ、アーカイブ資料を置く。
  • データ移行は順次書き込みを中心にし、頻繁な削除や小ファイルの反復書き込みを避ける。
  • 重要データは少なくとも 2 コピー残す。唯一のコピーを 1 台のディスクだけに置かない。
  • 移行後はファイルをサンプル確認し、ディレクトリ数とファイル数が自然か確認する。

今後 HDD 価格が下がれば、メイン NAS アレイの更新を検討しても遅くありません。現時点では、低コストノードで容量圧力を逃がすほうが、リスクと費用の両面で扱いやすいです。

まとめ

NAS の空き容量がなくなっても、すぐに新しいディスクを買って増設する必要はありません。メイン NAS をホットデータ用、HC620 をコールドデータとバックアップ用に分け、安価な TerraMaster F2-220、F2-221、または F4 をマウントとコピー用ノードとして使う構成は、投入コストが低く、実用性の高い一時対応です。

重要なのは性能ではなく役割分担です。メイン NAS は日常利用の快適さを維持し、コールドデータは別に保存する。これにより空き容量を確保しつつ、HDD 高騰期の大きな出費を避けられます。

関連リンク

记录并分享
Hugo で構築されています。
テーマ StackJimmy によって設計されています。