您尚未登录。

#1 2014-12-15 22:58:13

renyuneyun
会员
所在地: 地球
注册时间: 2011-09-30
帖子: 132
个人网站

[已(半)解決]如何備份 btrfs 文件系統?

打算對移動硬盤重新分區,所以希望之前那個 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)


知識很重要,而相當的運用能力更重要。

离线

#2 2014-12-16 09:22:27

atmouse
会员
注册时间: 2011-08-24
帖子: 701

Re: [已(半)解決]如何備份 btrfs 文件系統?

快照用btrfsprog snapshot

完整备份用tar

离线

#3 2014-12-16 09:39:38

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,489
个人网站

Re: [已(半)解決]如何備份 btrfs 文件系統?

是的,需要 ro 的 subvolume。你把你的每一个 rw 子卷创建一个 ro 子卷再 send。我试过,但没成功。

另外不知道能不能通过 raid 的方式弄(尝试前记得备份数据)。

或者直接 dd 文件系统所在分区也成。

dumpe2fs 不是和 btrfs-image 类似的么?

最近编辑记录 依云 (2014-12-16 09:41:06)

离线

#4 2014-12-16 11:16:08

renyuneyun
会员
所在地: 地球
注册时间: 2011-09-30
帖子: 132
个人网站

Re: [已(半)解決]如何備份 btrfs 文件系統?

atmouse 说:

快照用btrfsprog snapshot

完整备份用tar

tar 不大合適,因爲那是一堆增量式的備份,tar 出來有很多冗餘吧……

快照就是 ro 了麼?可以直接 btrfs send 了麼?


知識很重要,而相當的運用能力更重要。

离线

#5 2014-12-16 11:18:10

atmouse
会员
注册时间: 2011-08-24
帖子: 701

Re: [已(半)解決]如何備份 btrfs 文件系統?

。。。 不是说了是完整备份么,
增量备份自带就可以了

离线

#6 2014-12-16 11:18:38

renyuneyun
会员
所在地: 地球
注册时间: 2011-09-30
帖子: 132
个人网站

Re: [已(半)解決]如何備份 btrfs 文件系統?

百合仙子 说:

是的,需要 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)


知識很重要,而相當的運用能力更重要。

离线

#7 2014-12-16 11:19:04

atmouse
会员
注册时间: 2011-08-24
帖子: 701

Re: [已(半)解決]如何備份 btrfs 文件系統?

增量只是为了应付短时间内可以快速恢复的。
真正的备份关键都是在完整备份。

离线

#8 2014-12-16 11:19:54

atmouse
会员
注册时间: 2011-08-24
帖子: 701

Re: [已(半)解決]如何備份 btrfs 文件系統?

说实话,你用btrfs说明你的数据没有备份的价值。

离线

#9 2014-12-16 11:34:50

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,489
个人网站

Re: [已(半)解決]如何備份 btrfs 文件系統?

renyuneyun 说:

需要每個都做成 ro 麼?僅僅把根弄成 ro 不可以麼?

子卷在创建的时候用 -r 指定为只读。你已经存在的子卷只能通过创建只读快照的方式得到只读的版本了。

离线

#10 2014-12-16 11:36:03

renyuneyun
会员
所在地: 地球
注册时间: 2011-09-30
帖子: 132
个人网站

Re: [已(半)解決]如何備份 btrfs 文件系統?

atmouse 说:

。。。 不是说了是完整备份么,
增量备份自带就可以了

修改了說明(補充背景),望重新看一下。
“增量備份”說的是文件系統的東西是一堆增量備份而成的貨。所以纔說 tar 出來有一堆冗餘……

atmouse 说:

说实话,你用btrfs说明你的数据没有备份的价值。

這句話也太傷人家開發團隊的心了吧 LOL。

裏邊就是自己 home 的一些舊有狀態,算是誤操作/刪除的一個後備。

其實主要是見獵心喜,想嚐個鮮……
好歹 btrfs 號稱有這個那個好處,想試試而已。(其實好多文件系統都試過……)
畢竟在新的東西(號稱)更好而且並不怎麼影響其他的基礎上,不能總是守着舊的東西不放不是麼?


知識很重要,而相當的運用能力更重要。

离线

#11 2014-12-16 12:34:33

atmouse
会员
注册时间: 2011-08-24
帖子: 701

Re: [已(半)解決]如何備份 btrfs 文件系統?

我也是被坑过好几次才这么跟你说的。

btrfs 要完整备份, 那就dd + gzip 。  或者按照我说的吧, 只把要的快照tar出来, 不要的都删了吧。

一个操作系统,需要备份的我认为只有这几个 /home /etc 。home要么raid,要么硬盘靠谱点,因为数据实在多,从来不敢在home上乱来。  /etc/ 就简单了,数据小,用git备份下完全简单

离线

#12 2014-12-16 12:40:19

atmouse
会员
注册时间: 2011-08-24
帖子: 701

Re: [已(半)解決]如何備份 btrfs 文件系統?

我用btrfs的时候还没有send recive。。。  完全不知道是啥

离线

#13 2014-12-16 13:09:45

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,489
个人网站

Re: [已(半)解決]如何備份 btrfs 文件系統?

atmouse 说:

/etc/ 就简单了,数据小,用git备份下完全简单

然后某天从 git 备份恢复过来,结果开机一堆服务启动失败。

离线

#14 2014-12-16 13:46:44

atmouse
会员
注册时间: 2011-08-24
帖子: 701

Re: [已(半)解決]如何備份 btrfs 文件系統?

哪里哪里。。。 我不会直接在 /etc/ 上建git的。。。。=.=!

rsync 更新到一个目录再建git

最近编辑记录 atmouse (2014-12-16 13:47:41)

离线

#15 2014-12-16 13:50:27

renyuneyun
会员
所在地: 地球
注册时间: 2011-09-30
帖子: 132
个人网站

Re: [已(半)解決]如何備份 btrfs 文件系統?

百合仙子 说:
renyuneyun 说:

需要每個都做成 ro 麼?僅僅把根弄成 ro 不可以麼?

子卷在创建的时候用 -r 指定为只读。你已经存在的子卷只能通过创建只读快照的方式得到只读的版本了。

那樣的話還是會把相同東西傳多份吧……
還是 dd + 壓縮 好了……

推薦什麼壓縮軟件呢?gzip?

最近编辑记录 renyuneyun (2014-12-16 13:52:07)


知識很重要,而相當的運用能力更重要。

离线

页脚