打算對移動硬盤重新分區,所以希望之前那個 btrfs 中的數據可以完整保留下來。
現在已經把大部分東西備份好,剩下一些(備份用的)快照之類的。裏面有一些東西需要恢復,但是一時記不得是什麼,所以希望可以把它們完整備份出來。
快照是增量式的,所以複製粘貼不大合適,會造成大量冗餘。
需要類似 dumpe2fs 那樣的東西。經仙子大大提醒及查閱發現 dumpe2fs 與自己想的功能不一樣,被名稱坑了……
在網上查到可以用 btrfs send 和 btrfs receive 兩個來完成,(btrfs image 貌似衹備份 metadata 而不包含 data,)但是不確定如何使用。
用 btrfs send 時候總是要求 read-only,但是使用 ro 掛載依然如此。猜測是要 ro 的 subvolume,但是不知道如何操作。
上面是我查到的方案,但不知道有否其他手段。若有其他方案,望周知。
====== 2014-12-27 ======
最後還是採用了(貌似低效的) dd + gzip 方式……
最近编辑记录 renyuneyun (2014-12-17 20:07:51)
知識很重要,而相當的運用能力更重要。
离线
快照用btrfsprog snapshot
完整备份用tar
离线
是的,需要 ro 的 subvolume。你把你的每一个 rw 子卷创建一个 ro 子卷再 send。我试过,但没成功。
另外不知道能不能通过 raid 的方式弄(尝试前记得备份数据)。
或者直接 dd 文件系统所在分区也成。
dumpe2fs 不是和 btrfs-image 类似的么?
最近编辑记录 依云 (2014-12-16 09:41:06)
离线
快照用btrfsprog snapshot
完整备份用tar
tar 不大合適,因爲那是一堆增量式的備份,tar 出來有很多冗餘吧……
快照就是 ro 了麼?可以直接 btrfs send 了麼?
知識很重要,而相當的運用能力更重要。
离线
。。。 不是说了是完整备份么,
增量备份自带就可以了
离线
是的,需要 ro 的 subvolume。你把你的每一个 rw 子卷创建一个 ro 子卷再 send。我试过,但没成功。
另外不知道能不能通过 raid 的方式弄(尝试前记得备份数据)。
或者直接 dd 文件系统所在分区也成。
dumpe2fs 不是和 btrfs-image 类似的么?
需要每個都做成 ro 麼?僅僅把根弄成 ro 不可以麼?
每個子卷 ro 然後 send 是分別發送麼……這樣的話,感覺上 send 和直接 tar (的數據量)沒什麼大區別了啊……
什麼時候試的沒有成功呢?
沒有足夠的硬盤,raid 還是算了……
dd 的話數據量也太大了……用來備份的那個盤空間不夠……
而且還有一堆沒用的非數據部分……
我錯了……發現自己對 dumpe2fs 理解錯了……
最近编辑记录 renyuneyun (2014-12-16 11:21:08)
知識很重要,而相當的運用能力更重要。
离线
增量只是为了应付短时间内可以快速恢复的。
真正的备份关键都是在完整备份。
离线
说实话,你用btrfs说明你的数据没有备份的价值。
离线
需要每個都做成 ro 麼?僅僅把根弄成 ro 不可以麼?
子卷在创建的时候用 -r 指定为只读。你已经存在的子卷只能通过创建只读快照的方式得到只读的版本了。
离线
。。。 不是说了是完整备份么,
增量备份自带就可以了
修改了說明(補充背景),望重新看一下。
“增量備份”說的是文件系統內的東西是一堆增量備份而成的貨。所以纔說 tar 出來有一堆冗餘……
说实话,你用btrfs说明你的数据没有备份的价值。
這句話也太傷人家開發團隊的心了吧 LOL。
裏邊就是自己 home 的一些舊有狀態,算是誤操作/刪除的一個後備。
其實主要是見獵心喜,想嚐個鮮……
好歹 btrfs 號稱有這個那個好處,想試試而已。(其實好多文件系統都試過……)
畢竟在新的東西(號稱)更好而且並不怎麼影響其他的基礎上,不能總是守着舊的東西不放不是麼?
知識很重要,而相當的運用能力更重要。
离线
我也是被坑过好几次才这么跟你说的。
btrfs 要完整备份, 那就dd + gzip 。 或者按照我说的吧, 只把要的快照tar出来, 不要的都删了吧。
一个操作系统,需要备份的我认为只有这几个 /home /etc 。home要么raid,要么硬盘靠谱点,因为数据实在多,从来不敢在home上乱来。 /etc/ 就简单了,数据小,用git备份下完全简单
离线
我用btrfs的时候还没有send recive。。。 完全不知道是啥
离线
/etc/ 就简单了,数据小,用git备份下完全简单
然后某天从 git 备份恢复过来,结果开机一堆服务启动失败。
离线
哪里哪里。。。 我不会直接在 /etc/ 上建git的。。。。=.=!
rsync 更新到一个目录再建git
最近编辑记录 atmouse (2014-12-16 13:47:41)
离线
renyuneyun 说:需要每個都做成 ro 麼?僅僅把根弄成 ro 不可以麼?
子卷在创建的时候用 -r 指定为只读。你已经存在的子卷只能通过创建只读快照的方式得到只读的版本了。
那樣的話還是會把相同東西傳多份吧……
還是 dd + 壓縮 好了……
推薦什麼壓縮軟件呢?gzip?
最近编辑记录 renyuneyun (2014-12-16 13:52:07)
知識很重要,而相當的運用能力更重要。
离线