はじめに
前々から「オンラインのTime Machineサーバーを用意したい!」と思っていた.
このクラウド全盛期の時代にバックアップ取るためだけにサーバーを構築するのもなにやら悔しい…ということで,Azure上にTime Machine領域を確保することも検討.
しかし,
- 当方の環境では速度が出ない
- OSが破損しリカバリー領域から復元する時に多大なる手間がかかりそう
という課題があり,最終的にラズパイでTime Machineサーバーを構築する方針とした.
ネットをぐぐってみると,AFP(Apple Filing Protocol)ならびにnetatalkを用いたやり方については多数ヒット.
しかし,SMBを使用した方法については全くヒットしなかったので,拙いながら記事に起こしてみた.
結論としては,OpenMediaVaultのGUIで簡単に設定可能.
ラズパイのセットアップ工程が不要の人はSMB(Time Machine)領域設定までスキップしていただきたい.
なぜSMBにこだわる?
なんとなく前時代的なプロトコルを使いたくなかったから
最近のMacで標準となっているAPFSファイルシステムの場合,バックアップ先としてAFP領域を指定できなくなっている.らしい.
環境
- Raspberry Pi 4 Rev 1.2
- MacBook Pro 2019 (macos Mojave 10.14.6)
#Raspi4のセットアップ
Raspbianのインストール
せっかくなので,最近リリースされたRaspberry Pi Imagerを用いてやり直す.
公式サイトから各OSのImagerをダウンロード,SDカードを読み込み,イメージを書き込むだけ.
今回,ヘッドレスで使用するため,Raspbian Liteを使用する.
トップに戻ったら「WRITE」を押すと書き込み開始.
完了したら,以下の画面が表示される.
リモートアクセスの設定をするため,SDカードを刺し直す.
リモートアクセスの設定
SSHの有効化
多くのサイトに記載されているが,SDカードの直下に「SSH」というファイルを置くだけ.
$ cd /Volumes/boot/
$ touch ssh
$ ls -l
#「ssh」が存在することを確認.
RNDISを有効化し,MacとUSB1本でSSH
ラズパイのUSB-Cポートは充電だけではなく,データ通信も可能.
そのため,RNDISを有効化すると,USBケーブル一本でIP通信が可能となる.
手持ちのMacBookもUSB-C端子のみのモデルのため,C-Cのケーブル一本でラズパイのセットアップができるのは非常に大きなメリット.
ほぼClassmethodさんのサイトの流用になってしまうので,要点だけ記載する.
config.txtの末尾にdtoverlay=dwc2という1行を追記します。
次にcmdline.txtを編集します。rootwaitのうしろにスペースひとつ空けてmodules-load=dwc2,g_etherと追記します。
上記を実施し,rootwait後を比較し,ビフォーアフターが以下の通りになれば問題ない.
1c1
< console=serial1,115200 console=tty1 root=PARTUUID=738a4d67-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait modules-load=dwc2,g_ether quiet init=/usr/lib/raspi-config/init_resize.sh
---
> console=serial0,115200 console=tty1 root=PARTUUID=738a4d67-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet init=/usr/lib/raspi-config/init_resize.sh
ここまで実施したらUSB-Cをmacとつなぎ電源ON.
あとはインターネット共有で「RNDIS/Ethernet Gadget」に対してインターネットルート(当方ではWi-Fi)を共有すればOK.
SSHで接続したら完了.
$ ssh pi@raspberrypi.local
Raspbian初期設定
-
とりあえずsudo raspi-configする.
2.1. piユーザーのパスワード変更.
2.2. ホスト名を変更した.「raspi4」とした.
2.3. ホスト名を反映させるため,sudo reboot -
sudo apt-get update
-
sudo apt-get upgrade
#OpenMediaVaultのセットアップ
OpemMediaVaultのインストール
2-30分程度かかります.
$ cd /opt
$ wget -O - https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install | sudo bash
$ sudo reboot
なお,rebootしたら,なぜかUSB経由で接続ができなくなった.
原因わかる人いましたらコメントを………
気を取り直して,ブラウザからhttp://raspi4.local/
に接続.
admin / openmediavault が初期ID.
HDDのセットアップ
今回,まっさらなHDDを接続したため,フォーマットやパーティショニングもWebUIから実施する.
ストレージ
→ディスク
→使うディスクを選択→ワイプ
を選択.
まっさらなHDDのためクイック
を選択しフォーマット.
ストレージ
→ファイルシステム
→作成
を選択.
先程フォーマットしたドライブを選択し,ラベルの入力とファイルシステムの選択を行う.
今回はXFSとしてみた.(ググった痕跡が見られるが,最終的に深い理由はない)
アカウント設定
今回,通常のファイル共有で使うアカウントとTime Machineで使うアカウントを分けた.
理由は後述のクォータ設定をしたいため.
アクセス権の管理
→ユーザー
→追加
でアカウントを作成.
スクリーンショットを取り忘れたので編集画面になっているが,シェルは/usr/sbin/nologin
にした.
同様にTime Machine用のアカウントも作成した.
クォータ設定
ストレージ
→ファイルシステム
→クォータ
を選択.
任意の容量を設定するだけ.
SMB(Time Machine)領域設定
サービス
→SMB/CIFS
→共有
タブ→追加
共有フォルダの横の+
ボタンを押し,共有フォルダの設定を投入する.値は任意.
保存
を押し,もとの画面に戻る.
下にスクロールするとTime Machineサポート
という項目があるので有効化する.
保存
を押し,もとの画面に戻る.
おまけ:macosの設定
システム環境設定→Time Machineを選択.
うまくいけばなにもしないでも領域が表示されているはず.
全体容量が1.3TBくらいとなっており,クォータもほぼ正常に働いている模様.
参考
- Apple、Time MachineバックアップをサポートするネットワークボリュームからAFPを削除し、「Time Machine over SMB」のNASへ変更。 | AAPL Ch.
- macOS High Sierra の APFS の導入準備を進める - Apple サポート
- Raspberry Pi 4とMacをUSB type Cケーブルで接続してMacのインターネット接続を共有する手順 #RaspberryPi | Developers.IO
- 【2019年12月版】ラズパイとMacの接続はUSB-C ケーブルだけでOK?!→ラズパイ七変化 - Qiita
- 【西川和久の不定期コラム】「Raspberry Pi 4 Model B / 4GB」Part2 ~実践編。openmediavaultでNAS化に挑戦! そしてDockerで遊ぶ - PC Watch