HDDを新規追加し、既存データを移行する段取りを紹介します。またZoneMinderはカメラ10台程度であれば、3MByte/秒以上(カメラ1台当たり80kbyte~500kbyte)の書き込みが出来ればいいことから、HDDにはわざとCMRではなくSMR(瓦)の2.5inch HDDを利用しています。
初めに
この投稿では2TBのHDDに引っ越ししていますが、引っ越し前はST1000LM048×2台でLinuxのソフトウェアRAIDを組み、うち500GByteを監視カメラ用の領域として利用していました。
防犯カメラ用のHDDと言うと、一般的には録画用途に専用設計されたHDDを思い浮かべるかと思います。有名どころではWD(ウェスタンデジタル)のPurpleシリーズと、SeagateのSkyhawkです。
まともなメーカーのDVRの場合には、PurpleやSkyhawk等の防犯カメラ専用に売られているHDDでないと、認識すらしてくれないこともある為、SHOP店員さんに「防犯カメラの録画用HDDをください」と言うと、それらシリーズを進められることが多いです。
しかし、PurpleもSkyhawkも高価な為、庶民的な価格のHDDを用いて(必要ならRAID1を組んで)録画データを記録したい為、私は敢えてSMRのHDDを利用しています。Linuxで認識可能なHDDで、かつ速度がある程度出れば利用可能な点もZoneMinderならではの利点ですね。
私は、5インチベイに3.5インチHDDをスロットインで搭載するケースを利用していることもあり、今回24時間365日運用の消費電力削減も狙って東芝の「MQ04ABD200」を購入しました。お値段6000円程度です。
※WDのPurple3TBはAmazonでも9000円程度です。特にこだわりが無ければPurple3TBでも良いかと思います。
※市販品のDVRを利用する場合には、DVRがサポートしているHDD以外は認識しない可能性があります。
引っ越し作業(旧HDD⇒新HDDへ)
引っ越し作業は以下の流れで実施します。
- 新HDDの物理的な取り付け(ケース内部にねじ止めし、電源、SATAケーブルを接続する)
- 新HDDのパーティション作成とフォーマット
- ZoneMinderの停止(データ引っ越し中に常時録画されると困る為)
- 旧HDD⇒新HDDへデータを移動
- /etc/fstabの記載とマウントテスト
- ZoneMinderの開始
- テスト:再起動後に想定した動作となる事を確認
1.新HDDの物理的な取り付け(ケース内部にねじ止めし、電源、SATAケーブルを接続する)
筐体を開けて、HDDの取り付けを適宜行って下さい。2.5インチのHDDを一般的なPCケースに取り付ける場合にはマウンタが必要です。400円ぐらいです。5インチベイに2.5インチHDDを4台取り付け可能な物だと、こういった製品もありますが、少し割高です(私は利用しています)。
2.新HDDのパーティション作成とフォーマット
fdiskに「-l」オプションを付けて実行することで、対象HDDの情報が確認可能です。
今回取り付けたHDDの型番、容量が表示されるHDDがどれかを確認します。
ちなみに、当環境では/dev/sdeでした。
sudo fdisk -l /dev/sda
sudo fdisk -l /dev/sdb
sudo fdisk -l /dev/sdc
sudo fdisk -l /dev/sdd
sudo fdisk -l /dev/sde
sudo fdisk -l /dev/sdf
# Disk /dev/sde: 1.84 TiB, 2000398934016 bytes, 3907029168 sectors
# ↑★ここで/dev/sdeであることを確認
# Disk model: TOSHIBA MQ04ABD2 ←★ここで東芝のMQ04ABD2である事を確認
# Units: sectors of 1 * 512 = 512 bytes
# Sector size (logical/physical): 512 bytes / 4096 bytes
# I/O size (minimum/optimal): 4096 bytes / 4096 bytes
sudo fdisk /dev/sde
# nで新規パーティション追加を指定し、後は、デフォルトを選択。
# 最後にwで保存して終了
Command (m for help): n
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1):
First sector (2048-3907029167, default 2048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-3907029167, default 39070291
Created a new partition 1 of type 'Linux' and of size 1.8 TiB.
Command (m for help): w
sudo mkfs.ext4 /dev/sde
3.ZoneMinderの停止(データ引っ越し中に常時録画されると困る為)
単純にZoneMinderを停止させます。
sudo systemctl stop zoneminder.service
4.旧HDD⇒新HDDへデータを移動
/mnt/tmpディレクトリを作成し、そこに一時的に新HDDの領域をマウントしてデータ移動します。ZoneMinderで録画先として指定している領域のデータを新HDDに移動させます。
以下では移動元を「/var/cache/zoneminder/events」としていますが、ZoneMinderの管理画面「オプション⇒Storage」から確認可能です。
mkdir /mnt/tmp
sudo mount /dev/sde1 /mnt/tmp
cd /var/cache/zoneminder/events
sudo mv ./* ../tmp/
# 最後にマウントを外しておく
sudo umount /mnt/tmp
ディスク容量によりますが、上記作業は1時間以上かかると思いますので、終わるまでひたすら待ちます。
5./etc/fstabの記載とマウントテスト
ずっと昔は/etc/fstabには/dev/sde1がどこにマウントされるかを記載するのが主流だったのですが、HDDの接続先を変更するだけで、sdeだったものがsdcになったりと不安定要素となります。
ですので、最近の流行に倣って/etc/fstabはUUIDで記載します。
# UUIDを確認する
sudo tune2fs -l /dev/sde1 | grep UUID
Filesystem UUID: db2972c3-1c69-4101-90e4-7c778d8f93aa
# /etc/fstabを記載する
sudo vi /etc/fstab
# 以下のように追記します。
# viを上書きして終了するのは、「ESCキー」を押してから「:wq」エンターです
/dev/disk/by-uuid/db2972c3-1c69-4101-90e4-7c778d8f93aa /var/cache/zoneminder/events ext4 defaults 0 0
# マウントテスト
sudo mount -a
df
/dev/sde1 1921802520 89125920 1734984540 5% /var/cache/zoneminder/events
# ↑dfの結果、/etc/fstabに記載した領域がマウントされている事
6.ZoneMinderの開始
開始処理で変なエラーが出ないことと、ZoneMinderの管理画面にログインし、各種カメラが正常に録画されている事等を確認します。
sudo systemctl start zoneminder.service
7.テスト:再起動後に想定した動作となる事を確認
再起動し、再起動後も問題なく動くことを確認します。
sudo reboot
# 再起動後にサービスのステータスと、dfコマンドで追加したHDDが見えていることを確認
sudo systemctl status zoneminder.service
df
「6.ZoneMinderの開始」で実施した確認作業を再度実施し、問題なければ完了です。
最後に
最近のHDDは殆どがSMRになってきていることから、防犯カメラ用HDDについてもSMRのHDDが利用できることを確認できれば、安価に録画システムを構築することが出来ます。更に、2.5インチHDDが利用可能であれば、容量は小さいですが、消費電力を抑えることが出来ます。