自作NASで自宅ファイルサーバー 第6.1回 (NetatalkでTimeMachineに割り当てるディスク領域を制限する)


前回、Netatalkで自作NASをTimeMachineのバックアップ先にする事に成功しました。
⇒(Netatalkを使ったTimeMachineのバックアップ環境構築

ところが、MacのTimeMachineはバックアップ先のディスクがいっぱいになるまでどんどんスナップショット的なファイルを増やす仕様らしく
ディスクがいっぱいになって初めて古いデータを削除する、という事になっているようです。

なので、このままですと私がNetatalkに割り当てた領域を含んでいる2TBのストレージ領域がmacのバックアップファイルだけで食いつぶされてしまいますね
しかもミラーリングしてますので、2TB×2本のHDDがほとんどmacのバックアップ終わってしまうのは悲しすぎます。(個人的な利用で、しかもそこまで過去に遡って復元する事を望んでいません、と言った方が本質的かもしれません)

というわけで、今回はバックアップに使っていい領域の制限をかけたいと思います。
ちょっと考えるといろいろな方法が思いつきましたが、最終的にNetatalkの設定ファイルに数文字書き加えるだけでいけました。

容量制限をかけられる方法5パタン

まず、単純に使って良いディスクのサイズ制限をかけるだけですので色々考えてみると5パターンほ方法が挙ってきました。

1 Netatalkの設定(AppleVolumes.default)を修正

AppleVolumes.defaultファイル内のオプションでバックアップに使う領域の上限値がかけられるそうです。
オプションの追加にあたっては設定ファイルの文法がよくわからなかったのですが、最終的にわかってとても簡単な方法となりました。

一番オヌヌメ

2 MacOS側で制限かけられるように設定する

なにもサーバー側で制限をかけなくともバックアップファイルを生成しているMac側で上限値をかける方法があるようです。
特にこちらのサイトの説明が詳しく、わかりやすかったです。

Time Machineによるバックアップに容量制限をつける方法

ただし、これは自分で買ってきた外付けHDDにバックアップを移すケース(というか一番よくあるケースなのかも・・)は有用ですが工数がかなり多い気がしてしまうのも事実です。
できればmacの設定は触りたくないな・・なんていうmac初心者的心境もあたらいてしまいますね。

3 パーティションきってしまう

一番きっちりした方法でしょう。
コンピュータにお詳しい方でしたら、何を今更だと思うのですが、マウントしているHDDを1個ではなく複数のパーティションに分ければいいのですね。
パーティションを別に切りなおしておけば、それぞれ別のボリュームとしてマウントできるのでTimeMachine専用のディスクパーティションを当ててしまえばよいのです。

後は、万が一サーバーをインスコしなおすなんて事になった場合にも有用かもしれません。

やり方はCentOSの場合LVMで比較的簡単にできそうです。
ただし、すでに私の環境は旧サーバーから引っ越してきたデータやらなんやらが大量に保存されてしまっているので、フォーマットしなおしは勘弁。
つーわけで却下

4 ディスククォータを使う

クォータは指定のディレクトリ(フォルダ)などに保存できるファイルのサイズ上限値を設ける機能です。

Linuxもクォータを実装できるので候補にあがりました。
よくは読んでないですが、こちらのブログに詳しい事が書いてありそうです。

しかし、使ったことのない機能を新たに使用するという気力がわかず・・ 笑

5 サーバーに外付けをもう一本追加してTimeMachin用に・・

今そんなお金はないですぜ!
けどこれはこれで美しいですよね。 外付けHDDを買ってくるけどUSBじゃなくて無線LANでバックアップができるんですから。
ただしさらにコレをミラーリングとか考え出すと、もうかねも時間もないからやめますw

という事でやっぱり1番の手法が簡単そうですね。
設定ふぁいる変更します

設定ファイルにオプションを追記

Netatalkの設定ファイルを修正して上限を設定する場合は、
AppleVolumes.default のオプション指定欄にサイズ上限を記載すればOKなようです。

なお、デフォルトの設定ファイルをよく読むとちゃんと以下の記述があります。

# volsizelimit -> size in MiB. Useful for TimeMachine: limits the
# reported volume size, thus preventing TM from using
# the whole real disk space for backup.
# Example: “volsizelimit:1000” would limit the
# reported disk space to 1 GB.

1000ってかけば1GBなようですね。
とりあえず300GB割り当てることにしました。

以下のようにAppleVolumes.defaultのオプションを変更して保存します。
options:tm

options:tm volsizelimit:300000

そんでもって反映するために、

/etc/init.d/netatalk restart

しました。

さて、端末側でみると、表示がかわるでしょうか・・

ちゃんと減ってますね。
前回まではディスクサイズが1.87TBと表示されていたので、劇的に抑えられて本当によかったです。

なお、最初macをたちあげた際はTimeMachineのアイコンが「!」になっていて、「うわっ!ダメだったの!?」
ってヒヤりとしたんですが、しばらくするとアイコンをクリックした時に「今すぐバックアップを」の選択肢を押したらすぐにバックアップを開始してくれました。
なんだったんだろうか。。

いずれにせよ、ここまで含めてTimeMachineの設定は終わりです。

私のMacBookAirにはたいしたファイルを置いたりしてないですが、やはり男たるものRAIDで組んだストレージにバックアップを置く ですね。
ディスク壊れた事ないんですけどねw



関連記事

Comment





Comment



*