在完成了 DIY 的「仿 AirPort Time Capsule」之後,已經可以順便的讓 OS X 自動備份,可是我們的 Linux Server 並不是只有讓 Time Machine 專用,若是沒有進行硬碟空間用量的限制,照 Time Machine 備份的頻率,很快的就有為硬碟廠商促進經濟的機會了 !!!
我們先來看一下 Time Machine 備份的時機。
基本上就是每個小時會備份一次,如果硬碟爆掉的時候,會自動把時間最舊的備份刪除掉,所以備份的頻率非常的高。
在 Linux 裡想要限制硬碟空間的用量,不外乎要使用「磁碟配額 (qouta)」的功能,但是有下面幾點限制要注意:
- 無法針對單一目錄進行限制,只能對一整個檔案系統,也就是整個分割區進行限制。
- 核心必須支援,在 2.4 版之後才有支援。
- 無法對 root 帳號進行限制。
我們將用幾個簡單的步驟,達成進行備份的時候,最大只能用到 100GB 空間的目標。
開始實作
請先依照 用「仿 AirPort Time Capsule」讓 OS X 執行 Time Machine 來備份,讓 Time Machine 可以正常備份。
這個方法「應該」適用於所有的 Linux 發行版,因為只需要用到內建的指令,不需要額外安裝套件,至少我試過 CentOS 跟 Raspbian 是沒問題的。
首先我們利用 dd 指令讓 /dev/zero 寫入 10 萬次以 1MB 為單位的空字元 (null),合計為 100GB,存到 /backup/time-machine.img 映像檔裡。
dd if=/dev/zero of=/backup/time-machine.img bs=1M count=100000
再用 CentOS 6.5 預設的 ext4 檔案格式,將剛剛產生的映像檔格式化。
mkfs.ext4 /backup/time-machine.img
變更映像檔的權限,讓系統可以正常讀寫。
chown tm-user:tm-user /backup/time-machine.img
再把映像檔掛載起來測試。
mount -o loop /backup/time-machine.img /backup/time-machine
如果忘記格式化,系統會無法辨識檔案系統格式而不能掛載。
自動掛載映像檔
測試 OK 之後,要系統自動掛載映像檔有兩個方法。
第一種方法是讓檔案系統自動掛載,這也是比較推薦的方法。
vi /etc/fstab
在最後一列加入
/backup/time-machine.img /backup/time-machine ext4 defaults 0 0
第二種方法是讓系統自動執行 mount 指令。
vi /etc/rc.d/rc.local
在最後一行加入
mount -o loop /backup/time-machine.img /backup/time-machine
這樣子,在重新開機之後就可以限制 Time Machine 最多只能用到 100GB 的硬碟空間了。
調整大小
日後如果 100GB 不敷使用,想要調整大小的話,可以照下列的步驟來做。
先把映像檔卸載下來 。
umount /backup/time-machine
接著執行磁碟修復。
e2fsck -f /backup/time-machine.img
調整到指定大小,這裡示範從 100GB 縮小到 1G,放大也是一樣,把最後一個參數改大就可以了。
resize2fs /backup/time-machine.img 1G
磁碟修復的動作是系統的強制要求,沒有先執行的話,resize2fs 指令會沒有辦法執行。
最後大小調整完成之後,就可以重新掛載,讓 Time Machine 繼續進行備份了。
mount -o loop /backup/time-machine.img /backup/time-machine
其實這樣的作法還多了一個好處,
要轉移或備份 Time Machine 的資料,只要把 time-machine.img 映像檔 copy 起來就可以了,甚至 LAN 的頻寬夠快的話,直接把映像檔放到 NAS 或 SAN 上面也是可以的哦!!!
系列文章
- 用「仿 AirPort Time Capsule」讓 OS X 執行 Time Machine 來備份
- 限制「仿 AirPort Time Capsule」的硬碟空間用量
- 「仿 AirPort Time Capsule」無法備份的異常排除
參考資料
- 鳥哥的 Linux 私房菜 - 第八章、Linux 磁碟與檔案系統管理
- 鳥哥的 Linux 私房菜 - 第十五章、磁碟配額(Quota)與進階檔案系統管理
- 鳥哥的 Linux 私房菜 新手討論區 - 限制資料夾下的容量不可超過 100MB
- Tsung's Blog - Linux dd 遇到 容量不足 的 resize 解法
更新紀錄
- 2014/10/20 撰文。
0 意見 :
張貼留言