$30 off During Our Annual Pro Sale. View Details »

Btrfsのころしかた(だったもの)

naota
December 08, 2013

 Btrfsのころしかた(だったもの)

naota

December 08, 2013
Tweet

More Decks by naota

Other Decks in Technology

Transcript

  1. バージョン別 BtrFS のころしかた
    ( だったものです )

    View Slide

  2. 自己紹介

    青田直大 ( あおた なおひろ )
    – @naota344

    大阪大学 学生
    – 他の学生は進級やばいとか言ってましたが、わたし
    は余裕でもう卒業研究だけで順調な感じですね

    来年からは慶応
    – Tokyo ではたらいてお金がほしい感じ

    View Slide

  3. 注意
    このスライドは
    BtrFS が不安定であることを示唆したり
    BtrFS をころすことを目的とした
    ものではありません
    はずだった

    View Slide

  4. Linux 3.9

    btrfs: Drop inode if inode root is NULL

    http://git.kernel.org/cgit/linux/kernel/git/torv
    alds/linux.git/commit/fs/btrfs?id=6379ef9fb2482a
    92b5fe09f927d6ce1f989c0c6d

    inode を作りそこねたら死ぬ

    理論上は inode を作りまくって限界までいくと
    死ぬ

    View Slide

  5. Linux 3.11

    Btrfs: fix oops caused by the space balance
    and dead roots

    http://git.kernel.org/cgit/linux/kernel/git/tor
    valds/linux.git/commit/fs/btrfs?id=c00869f1ae6a
    8fa49802d5e60d843b7051a112ec

    space balance しつつ、 snapshot けすと死ぬ

    View Slide

  6. Linux 3.12

    Btrfs: do a full search everytime in
    btrfs_search_old_slot

    http://git.kernel.org/cgit/linux/kernel/git/tor
    valds/linux.git/commit/fs/btrfs?id=d4b4087c43cc
    00a196c5be57fac41f41309f1d56

    snapshot aware defrag したら死ぬ

    View Slide

  7. Demo.....

    したかったけど、いざやってみるとなかなか死
    なない

    家の PC につなげばすぐ再現できる環境がある
    のだが・・・

    View Slide

  8. で、いじめてた

    さっきのやつを再現しようと VM の btrfs いじ
    めてた

    なかなかうまく再現できない、つらい
    – このままでは LT のねたにならない

    なんかおもいな ? 動かないな ?

    電源おとして reboot

    View Slide

  9. View Slide

  10. やったね !btrfs 直せるよ !!

    mount -o recovery
    – ( わかってたけど ) だめ

    btrfs-zero-log
    – これで直ると思ってた

    View Slide

  11. View Slide

  12. そして ?
    ごらんのように動いてますよ !!!

    View Slide

  13. GRUB2

    /etc/grub.d/40_custom
    #!/bin/sh
    exec tail -n +3 $0
    menuentry "SYSTEMRESCUECD" {
    load_video
    loopback loop /boot/systemrescuecd.iso
    linux (loop)/isolinux/rescue64 nomodeset vga=865
    docache setkmap=us isoloop=/boot/systemrescuecd.iso
    initrd (loop)/isolinux/initram.igz
    }

    View Slide


  14. System Rescue 起動

    もうこのまま復旧 LT するかー ?

    まあとりあえず mount ためしてみるか
    – なぜか mount できた

    じゃあ reboot ・・・

    ちゃんと普通に起動できた !
    – 簡単ですね !!

    View Slide

  15. ところで

    View Slide

  16. kconfig help text が変わった

    btrfs: update kconfig help text

    http://git.kernel.org/cgit/linux/kernel/git/tor
    valds/linux.git/commit/fs/btrfs?id=4204617d142c
    0887e45fda2562cb5c58097b918e

    Btrfs is highly experimental, and THE DISK
    FORMAT IS NOT YET FINALIZED. You should
    say N here unless you are interested in testing
    Btrfs with non-critical data.

    View Slide

  17. after

    The filesystem disk format is no longer
    unstable, and it's not expected to change
    unless there are strong reasons to do so. If
    there is a format change, file systems with a
    unchanged format will continue to be
    mountable and usable by newer kernels.

    View Slide

  18. まとめ

    Btrfs はいろいろな死に方を経験して大人になった

    SuSE の人が kconfig help から「 You should say
    N here 」を削除したのだし大丈夫

    ね、 いまもすぐ直ったでしょ ?
    もし mount できなくなったらご連絡を ?

    View Slide