Release: 2019/04/05 Update: 2019/04/20

バックアップ(RaspberryPiでNASを構築)

ある日突然PCのデータが消える! 想い出の写真やスキル情報が全~部パー(>_<)

そんな思いをしなくて良いように、コンピュータ(Windows、Linux、Mac)のシステムやデータをバックアップするためのNAS(Network Attached Storage)システムを構築する

NAS構築手順

1.USB-HDDのフォーマット
2.RaspberryPi3の基本設定
3.NASサーバー設定
4.Windows側の設定
5.Linux側の設定とバックアップ設定

1.USB-HDDのフォーマット

Macで使うことはほぼ無いと思うが、大容量のバックアップデータを扱うことになるので、ここは迷わずexFATでフォーマットする

(1)PC(windows10)にHDDを(USB)接続し、

   [プログラム]-[Windows管理ツール]-[コンピュータの管理]-[ディスクの管理]で対象のHDDを表示

(2)複数あるパーテーションを一つずつ右クリックし、

   操作メニューの[ボリュームの削除]を選択。

 

 

 

 

 

 

   全てのパーテーションについて実施すると、

   1つの「未割り当て」パーテーションになるので、

   これを右クリックし操作メニュー[新しいシンプル ボリューム]を選択する

   シンプルボリューム作成ウイザードが表示されるので、

   全て[次へ]をクリックして[完了]までいくと、[正常(プライマリ パーテーション)]ができあがる

(3)[正常(プライマリ パーテーション)]を右クリックし、操作メニュー[フォーマット](↓)を選択する

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(4)フォーマットダイアログ(↑)が開くので、

  「ボリュームラベル」を適当に入力し、

  「ファイルシステム」は”exFAT”を選択し、

  [OK]をクリックすると、たちまちフォーマット完了する

2.RaspberryPi3の基本設定

RaspberryPi本体は、余計なパッケージは不要なので、OS:Raspbian Stretch Liteを使用する

立ち上げた後、次の基本的な設定だけを実施

 ①hostnemaの変更

 ②Timezoneの設定をAsia/Tokyoに変更

 ③有線LANの使用、固定IPアドレス化とwifiの無効化

 ④公開鍵/秘密鍵を使ったSSH接続設定

3.NASサーバー設定

いよいよNASを仕込む

(1)exFAT形式のファイルを扱うためのパッケージ(exfat-fuseとexfat-utils)をinstallする

(2)HDDのUUIDの確認

  USB-HDDをRasPiに接続し、次のコマンドでHDD(/dev/sda1)のUUIDを控えておく

(3)HDDが自動マウントされるよう/etc/fstabに追記する

  ここで、UUID:前述のとおり

      /mnt/hdd/nashdd:マウントポイント

      async:データー転送を非同期で行う            (キャッシュ機能を使いHDDへの書き込み終了を待たない)

          他にsync(同期)がある(リアルタイムで書き込みが行われる)

      65534:gidはnogroup、uidはnobodyを表す            ($ cat /etc/groupや$ cat /etc/passwdで確認可能)

  このままでは、webサーバー再起動時に自動mountできないので、$ sudo vi /etc/rc.d/rc.local で最後尾にmount -aを追記

  RasPiを再起動して、$ sudo df で、次のようにマウントされていることを確認

(4)Sambaのinstall

 

(5)使用していないときにHDDの回転を止める  

  ①HDDの回転を止めるパッケージをinstall(hdparmをinstall 他にsdparmパッケージがあるがうまく動かなかった)

  ②実際にコマンドを打って、HDDの回転が止まるのを確認

   (HDDを手で触った状態で次のコマンドを打つと次第(2秒位)に回転振動弱くなり止まるのが分かる)

  ③HDDアクセス監視スクリプトを作る

  ④Systemdを使って/root/hdd_spindown.shをサービス化

これで、NASシステムは完成

4.Windows側の設定

ネットワークドライブを割り当てる方法もあるが、Windows側から常時アクセスする訳ではないので、

ここではファイル共有サービスのためのプロトコルSMB1.0(Server Message Block)だけを有効にしておく

①コントロールパネルを開き[プログラムと機能]を選択、左メニューより[Windowsの機能の有効かまたは無効化]を選択すると

 

 

 

 

 

 

 

 

Windows機能の有効/無効ダイアログが開くので、[SMB 1.0/CIFS ファイル共有のサポート]に✔を入れて[OK]を押下

PCを再起動する

②NASが見えるか、explorerで確認(explorer左メニューの「ネットワーク」に「NAS_SERVER1」が見えればOK

 

 

 

 

 

 

5.Linux側の設定とバックアップ設定

バックアップソフトMondo Rescue(フリー)を使用して、Webサーバー(OS:CentOS6.*)のシステムバックアップを取る

以下は全て、Webサーバー側での作業

(1)MondoRescueパッケージのinstall

(2)MondoRescueの動作確認

  ①バックアップデータの出力先を作成

   # mkdir /backup

  ②バックアップの実行

   # mondoarchive -O -i -L -N -s 4200m -d /backup -E /backup

   <パラメータの意味>

     -O:バックアップを実行(他に-V:ヴェリファイがある)

     -i :バックアップデータをISOイメージで出力する

     -L :bzip2の代わりに速い圧縮エンジンのlzo を使います

     -N :ネットワークファイルシステム(NFS,SMBなど)を除外

     -s :出力するISOファイルサイズを指定する。          

                         作成するファイルサイズが指定より大きくなる場合は複数に分割される

     -d :出力先(ディレクトリやバックアップデバイス)を指定

     -E :除外するディレクトリを指定。          

                       自動で(/mnt/floppy, /mnt/cdrom, /proc, /sys, /run, /tmp)は除外される

   # ls -l で出力確認してみる

       -rw-r–r– 1 root root 1909047296 3月 19 09:13 2019 mondorescue-1.iso

       ちなみに1.9Gで10分程度で出力される

  ③バックアップデータ(ISOファイル)をDVD(-R)に焼く

   DVDドライブのデバイス名確認

   # wodim –devices

     wodim: Overview of accessible drives (1 found) :

     ————————————————————————-

     0 dev=’/dev/scd0′ rwrw– : ‘HL-DT-ST’ ‘DVD+-RW GSA-H31N’

     ————————————————————————-

   DVDドライブにDVDをセットして次のコマンドを打つ

   # cd /backup

   # wodim -v -eject speed=8 dev=/dev/scd0 -data mondorescue-1.iso

  ④リストア-

   いざと言うときのためにリストア-をやってみた(笑

   サーバーにDVDをセットし、CDドライブからコンピュータを起動

   「boot:」プロンプトに、nuke と入力するだけ 元のシステムに復元できました !(^^)!

(3)バックアップを定期で実施するように設定する

さてさて、これで完成かと思いきや、Windowsからバックアップを実施するとことごとくエラーが発生

 [ファイルのバックアップ]:エラー0x80070005

 [システム イメージの作成]:エラー0x80780047

どうやらHDDをexFATでフォーマットしたことが原因と思われる

早速、NTFSでフォーマットを実施する(Macは使わないので最初からこれにしておけば良かったのに (-_-;)

 

6.HDDのフォーマット変更

(1)WebサーバーからNASHDDをUNMOUNT

(2)PCのネットワークドライブ解除

  もともと、ネットワークドライブとして割り当てているわけでは無く、ネットワークにNASサーバーが見えてるだけなので

  特段の切断措置は不要

(3)NASサーバーをシャットダウン

(4)HDDをPCに接続し直してNTFSでフォーマット

  今後の拡張性を考慮して、ボリューム名をNASHDD1とした

(5)NASサーバーの起動

  HDDを接続し直し、NASサーバーを起動しても立ち上がらない!!

  /etc/fstabに登録したHDDのUUIDが変わったため、HDDドライブを組み込めず起動途中でストップする

  ここはOSのinstallからやり直すが、NTFSフォーマットにしたことで「3.NASサーバー設定」の変更点は次の通り

  ①exfat-fuseとexfat-utilsのinstallに変えて、ntfs-3gをinstallする

  ②fstabへの登録は、次のようになる

(6)Webサーバー、PCにMOUNT、ネットワークドライブ接続

(7)Linux,Windows側からバックアップ動作確認

HOME



コメントはお気軽にどうぞ

メールアドレスは公開されません。
また、* が付いている欄は必須項目ですので、必ずご記入をお願いします。

内容に問題なければ、下記の「コメントを送信する」ボタンを押してください。