V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
kyonn
V2EX  ›  Linux

[btrfs]咨询几个关于 btrfs 的问题.

  •  
  •   kyonn · 2023-09-20 17:08:21 +08:00 · 1438 次点击
    这是一个创建于 440 天前的主题,其中的信息可能已经有所发展或是发生改变。
    • 把子卷 @rootfs 挂载到 / 后, 如果出现误操作, 恢复到某个快照状态的话能否不重启? 假如做了快照后, 执行了 apt install, 但是后悔了, 想回退到 install 之前. 我看网上的方法都是把原来的 old 子卷重名名, 然后把快照的子卷 mv 为 @rootfs, 或者针对快照再做一个 rw 的快照, 命名为 @rootfs. 这时候我发现必须重启才能生效. 尝试过 mount -a 执行的操作不行.

    想到一种方法是直接 cp --reflink 覆盖, 但是不知道靠谱与否.

    • 感觉 btrfs 的功能跟虚拟机的 qcow2 重复, 不知道大家如果将 btrfs 跟虚拟机一起使用时, 都是怎么用的. 是宿主机用 btrfs, 还是虚拟机文件系统用 btrfs, 要不要用 qcow2, 还是关闭 btrfs 的 COW ?
    第 1 条附言  ·  2023-10-05 10:46:19 +08:00
    最终还是用重启方案, 不重启要处理的细节太多, 不划算.
    9 条回复    2023-10-05 10:58:05 +08:00
    mokiki
        1
    mokiki  
       2023-09-20 17:14:44 +08:00
    我虚拟机用 raw 格式磁盘,不用 qcow2 快照功能。做快照用 cp --reflink 。我用 XFS
    kyonn
        2
    kyonn  
    OP
       2023-09-20 17:24:54 +08:00
    @mokiki 那请问 xfs 恢复根文件系统一般是怎么个做法? 需要重启吗? 类似我上面描述的这种情况, 不是系统损坏,而是想回退一些操作.
    mokiki
        3
    mokiki  
       2023-09-20 17:50:53 +08:00 via Android
    我是针对虚拟机部分说的,btrfs 恢复和备份没用过
    msg7086
        4
    msg7086  
       2023-09-20 18:34:45 +08:00
    可以,但是就算不重启,也还是要重启很多服务,让他们重新在原来的 subvol 上启动。

    用 pivot_root 可以替换根分区。把原本的 subvol 找个地方挂载,然后把日常虚拟 FS 挂进去,最后 pivot_root 换根分区,然后再逐步重启所有正在运行的程序,包括 init 。

    参考 https://dreamlayers.blogspot.com/2012/10/running-linux-from-ram.html
    cgglyle
        5
    cgglyle  
       2023-09-21 14:29:42 +08:00
    我现在使用的是 btrfs ,使用 snapper 备份系统。以我的经验来说,使用 snapper 回滚到某一个节点是不用重启的。但是可能会遇到 4 楼说的情况。不过我没注意到。还可以使用 timeshift 备份,这个就需要重启。
    limon
        6
    limon  
       2023-09-21 23:07:03 +08:00
    不如用 NixOS 吧,可以 rollback
    kyonn
        7
    kyonn  
    OP
       2023-10-05 10:44:51 +08:00
    @msg7086 嗯, 这样莫不如直接重启了.
    kyonn
        8
    kyonn  
    OP
       2023-10-05 10:45:51 +08:00
    @cgglyle 没重启进程数据应该还跑在原来的子卷上, 比如安装 samba 前快照一次, 安装完成后恢复快照, 实际还能执行 samba 命令.
    kyonn
        9
    kyonn  
    OP
       2023-10-05 10:58:05 +08:00
    @limon 原理应该都一样, 跟用什么发行版无关.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1552 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 17:07 · PVG 01:07 · LAX 09:07 · JFK 12:07
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.