MacBookからMacBookAir(M4)に乗り換えて1年、ろくに遊ぶ暇がないからかバックアップの設定すらしていなかった。
MacBook(12″)ではSynologyのNASがTimeMachineの受け先として機能してくれていたのだけれど、ストレージ全般が急騰している現在、わざわざRAID運用しているNASでそれなりの容量を確保し続けるのも不経済な気がしてきた。
※なにせストレージ価格が2倍以上に跳ね上がってますからね…いつまで上がり続けるんだろう
なにかほかに活用できるバックアップ先は無いものかと周囲を見渡してみると、いたいた、24時間365日稼働し続けてくれている宅内サーバーが。
というわけで、NASからバックアップ領域を排除して、宅内サーバーに外付けHDDをマウントすることでTimeMachineバックアップ先にしてしまおう、というのが今回の企み。

■Ubuntu22ですが、24でも26でも同様に
活躍してもらうサーバーはUbuntu22です。特に不具合もないのでアップグレードしないままきっとEOLまで稼働してもらうことになるだろう。
まずはUSB接続のHDDをつないでマウントし、潔くext4でフォーマットしてしまいます。
lsblk -o NAME,SIZE,MODEL
で対象ディスクを特定し、
sudo parted /dev/sdb
フォーマットができたらマウントポイントを準備して
mkdir -p /mnt/timemachine
起動時に自動マウントもさせましょう。
sudo nano /etc/fstab
UUID=1ebba3af-2b52-4b59-a0f7-ae842bf00891 /mnt/timemachine ext4 defaults,noatime,nofail 0 2 #といった感じUUIDはlsblkで調べてね
そして、稼働中のSambaにTImeMachine領域を追加させます(もしSambaを稼働させてない人がいたらSambaのインストールを先にやってしまいましょう)
sudo nano /etc/samba/smb.conf
[global]
vfs objects = catia fruit streams_xattr ←をglobalセクションに追記
[TimeMachine]
path = /mnt/timemachine
browseable = yes
read only = no
guest ok = yes
# TimeMachine設定
fruit:time machine = yes
fruit:time machine max size = 900G ←を接続したHDDの容量を上限に記載
fruit:metadata = stream
fruit:model = MacSamba
fruit:posix_rename = yes
fruit:veto_appledouble = no
fruit:nfs_aces = no
設定を反映させるため、Sambaサービスを再起動。
sudo systemctl restart smbd
そして次に、MacOSから見つけてもらえるようにAvahiデーモンを起動。
sudo apt install avahi-daemon -y
sudo systemctl enable –now avahi-daemon
ここまでであっさりとMacOS側のTimeMachine.appからバックアップ先ドライブとして見つけてもらうことができます。すごく楽ちん!
■なぜか失敗する
想像以上に簡単だなあと思ってたらだいたいは落とし穴が待っています。
ハマりましたw
なにやらTimeMachineバックアップが始まるととたんに「失敗」するのです。
ログを追いかけてみると「権限」とか「Not Found」とかいう記述が残されているので、なにか権限周りで足りないことがあるのかな?と。
原因らしきものを探すべく、ChatGPTさんやGeminiさんたちと相談するものの、なかなか遠回りをしているような感覚。
※実際に遠回りどころか明後日の方向へ行ってました
共有フォルダのPermissionが悪いのか?
SMBのバージョンに問題でもあるのか?
smb.confでfruite:の設定に不備があるのか?
などなど、AIさんたちに 右へー左へーと対策を試させられたあげく、どれもハズレだったようで。
■日本語になるからか!
先人の猛者がたの解説によると、Unicodeの正規化形式(NFD/NFC)問題ということらしい。
ざっくり言うと、「バ」とか「プ」がシステム内で本来の文字とは別の文字として処理されてしまい、フォルダやファイルを見失ってしまう問題があるのだとか。
そう、TimeMchine先のドライブに「わたし用MacBookのバックアップ」という感じで日本語が入るのが問題点でした。
対策として、バックアップ先ドライブ内の ~.sparsebundleファイルを標準のDiskImageMounterでマウントして名前を書き換える、といったことが昔はできたようなのですが、私が試したところ名前の書き換えがそもそもできなかった…
■結局、回り道するのが最も楽だった
原因が特定できてもサーバー側で回避する方法も見当たらない。
あれこれと無駄な抵抗をしたあげく、MacBookを一時的に日本語モードから英語モードにしてバックアップ先を作る、という結論に至りました。
特に再起動は必要なく(ログインしなおしだけでOK)、システム設定で英語を最上位にしてからログインしなおし、TimeMachine.appでバックアップ先を指定してバックアップ開始!
終了するのを待つ必要はなく適当にログアウトし、再びログインしてから日本語モードに戻してしまえば準備完了。
これで難なくTimeMachineバックアップが定期的に動いてくれます。いつもユーザーのやりたい事にスマートに応えてくれるAppleさんにしてはちょっと不格好な不具合でしたね。
—
安心安全安価なSDカードデータ復元・HDDデータ復元は
長年の信頼と実績の『株式会社パソコントラブル救助隊』へ。
https://hqsecure.net/
株式会社パソコントラブル救助隊で公式サイトを含めたウェブマスターを兼任しています。
趣味はカメラとぶらり散歩。フォトマスターは2級。日々感じたことを忘れないうちに雑記帳に書いています。
