moli3
2016-09-22 22:14 deepin
沙发自己的
Reply Like 0 View the author
https://bbs.deepin.org/post/43821
那么,遇到csum error估计是没救了。我之前遇到过,不光extent本身损坏,而是整个csum tree都损坏了,快照 ...
https://bbs.deepin.org/post/43821
你说的问题,我还没碰到过,可以说下操作步骤吧?
我当时不理解,删过子卷,然后果然系统挂了。
https://bbs.deepin.org/post/43821
目前看到的问题原因是由lzo压缩导致的csum error,而且还是今年才出现的。我在上一台笔记本里面跑btrfs+ ...
https://bbs.deepin.org/post/43821
我也已经用 btrfs 作为主要文件系统格式用了两年多了,不过快照管理一直都是自己手动写脚本来做一键快照的 ...
https://bbs.deepin.org/post/43821
snapper这个工具就是从一个快照状态将文件还原到当前的系统。因为btrfs本身就是cow的,所以这个相当于一 ...
https://bbs.deepin.org/post/43821
btrfs 本身原理我是知道,只是不清楚如何通过命令从一个快照状态将文件还原到当前的系统。。。如果不用sn ...
https://bbs.deepin.org/post/43821
建议烦劳写到深度百科里面去
https://bbs.deepin.org/post/43821
btrfs 本身原理我是知道,只是不清楚如何通过命令从一个快照状态将文件还原到当前的系统。。。如果不用sn ...
https://bbs.deepin.org/post/43821
貌似并没有完全等价的命令,snapper做了很多的扩展应用:https://www.suse.com/documentation/sled-12/bo ...
大致就是引导进入目标快照,删除原来的子卷,并将目标快照的挂载点修改一下就可以了。
https://bbs.deepin.org/post/43821
我猜你应该是想问这个
http://serverfault.com/questions/399894/does-btrfs-have-an-efficient-way-to- ...
https://bbs.deepin.org/post/43821
不推荐没有硬raid的用户使用btrfs,不然东西坏了,只能哭。
Rankings
Popular Events
More
1、系统安装
在安装的过程中,这里选择【专家模式】。
选择你即将安装的磁盘'1,文件系统选择btrfs'2,挂载点选择/根目录'3。建议选中格式化一下。后面的安装步骤根据官方的方法正常安装。
2、软件安装
根据上述步骤,系统已经对btrfs文件系统支持了。但是为了更方便的管理快照需要安装snapper。
sudo apt-get install snapper
3、初始环境
目前根目录/已经使用了btrfs文件系统。管理使用的snapper是根据配置文件指定的路径来管理文件系统的。所以初始化需要创建配置文件。
sudo snapper create-config /
创建配置之后的系统环境就可以用snapper管理快照了。查看快照效果如下。
sudo snapper list
第一列为快照类型'1,第二列为快照id‘2,第三个地方为快照的备注'3,方便记忆。
4、创建快照
我们经常用到的快照为手动创建的single快照。创建方式如下。
sudo snapper create -d "来说点什么吧"
然后使用上述查看快照的方式就可以查看快照了。
5、恢复快照
如果当前系统已经被手残折腾坏了。那么这个救急的方法就可以排上用场了。直接一键恢复以前的某个状态了。(前提,一定要记得备份;没备份也没事,snapper默认过一会给你备份一次。)
sudo snapper undochange 2..0
上面命令的意思是将当前系统还原到快照id为2的状态。是不是,一下刚才系统进步了桌面,现在已经复活了。
1、文件的读写对于使用者是透明的。由btrfs驱动控制读写到的数据状态。
2、我们读写的都是subid 为5的文件系统状态。
3、当创建快照的时候即保存了一个状态。当前的状态所有的修改都是基于快照差异化保存。所以理论上我修改了一个字母,state2对于snap1多了一个字母。
4、当使用恢复快照的时候,就是丢掉当前状态相对于snap1的修改。这样子系统就得以还原。(所以这里注意一个问题,如果你把快照删了,又把当前系统给删了,那就没救了。)
- 注意事项
想更了解和掌握btrfs 可以学习下百度百科。问题解决:
1、由于btrfs 创建在 /根目录,所以所有文件都会被快照。这样对于日志等经常更新的文件造成较大的冗余。
解决办法:我们可以在/创建子卷将这些目录排除。——上级目录的快照不会备份子卷,利用这个特性我们可以排除部分目录。
sudo btrfs sub create /var/@log
这样我就创建了一个路径为/var/@log的子卷,我们将这个路径挂载到/var/log。这样在对/目录快照的时候就不会备份该目录。
然后修改/etc/fstab,将需要挂载的目录添加进去。
/dev/sda1 / btrfs rw,relatime,ssd,space_cache,subvolid=5,subvol=/ 0 0
/dev/sda1 /srv btrfs rw,relatime,ssd,space_cache,subvol=/@srv 0 0
/dev/sda1 /tmp btrfs rw,relatime,ssd,space_cache,subvol=/@tmp 0 0
/dev/sda1 /var/crash btrfs rw,relatime,ssd,space_cache,subvol=/var/@crash 0 0
/dev/sda1 /var/lib/libvirt/images btrfs rw,relatime,ssd,space_cache,subvol=/var/lib/libvirt/@images 0 0
/dev/sda1 /var/lib/mailman btrfs rw,relatime,ssd,space_cache,subvol=/var/lib/@mailman 0 0
/dev/sda1 /var/lib/mariadb btrfs rw,relatime,ssd,space_cache,subvol=/var/lib/@mariadb 0 0
/dev/sda1 /var/lib/mysql btrfs rw,relatime,ssd,space_cache,subvol=/var/lib/@mysql 0 0
/dev/sda1 /var/lib/named btrfs rw,relatime,ssd,space_cache,subvol=/var/lib/@named 0 0
/dev/sda1 /var/lib/pgsql btrfs rw,relatime,ssd,space_cache,subvol=/var/lib/@pgsql 0 0
/dev/sda1 /var/log btrfs rw,relatime,ssd,space_cache,subvol=/var/@log 0 0
/dev/sda1 /var/opt btrfs rw,relatime,ssd,space_cache,subvol=/var/@opt 0 0
/dev/sda1 /var/spool btrfs rw,relatime,ssd,space_cache,subvol=/var/@spool 0 0
/dev/sda1 /var/tmp btrfs rw,relatime,ssd,space_cache,subvol=/var/@tmp 0 0
具体添加哪些目录参考上面的目录,创建子卷并且添加到/etc/fstab文件。这样系统开机会自动挂载这些目录。
2、systemd日志出现异常
当使用systemctl status dnsmasq 查看某个服务的状态时候,会提示以下信息
Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.并且服务输出的日志也都不可见。
这是由于btrfs 挂载的/var/log路径比systemd-journald.service启动时间晚导致。[size=1em]所以我们需要修改[size=1em]systemd-journald.service ,在After=local-fs.target添加local-fs.target。这样systemd-journald.service就比文件系统挂载晚。该问题就可以得到解决。
3、不懂的千万不要用snapper rollback功能rollback会创建当前系统的快照,并且将目标快照恢复到一个新的快照。
并且修改了当前状态的指向。
问题:
4、出现意外情况检查以下问题