Wener Site

Btrfs

约 6 分钟阅读

尽量不要用 BTRFS & LVM

  • ext4 没什么不好
  • btrfs 优于 lvm, raid
  • btrfs raid5 raid6 还不够成熟稳定 - 可能会损坏数据
  • 做 nas 优先选择 zfs
bash
apk add btrfs-progs btrfs-progs-extra
modprobe btrfs

btrfs device scan --all-devices

btrfs filesystem show
btrfs fi show

DEV=/dev/mapper/cachedev_0
btrfs scrub status $DEV

btrfs scrub start $DEV
btrfs scrub status $DEV

Usage

text
usage: btrfs [--help] [--version] <group> [<group>...] <command> [<args>]

    btrfs subvolume create [-i <qgroupid>] [<dest>/]<name>
        Create a subvolume
    btrfs subvolume delete [options] <subvolume> [<subvolume>...]
        Delete subvolume(s)
    btrfs subvolume list [options] [-G [+|-]value] [-C [+|-]value] [--sort=gen,ogen,rootid,path] <path>
        List subvolumes (and snapshots)
    btrfs subvolume snapshot [-r] [-i <qgroupid>] [-u <subvolume id>|<subvolume path>] <source> <dest>|[<dest>/]<name>
        Create a snapshot of the subvolume
    btrfs subvolume get-default <path>
        Get the default subvolume of a filesystem
    btrfs subvolume set-default <subvolid> <path>
        Set the default subvolume of a filesystem
    btrfs subvolume find-new <path> <lastgen>
        List the recently modified files in a filesystem
    btrfs subvolume show <subvol-path>
        Show more information of the subvolume
    btrfs subvolume sync <path> [<subvol-id>...]
        Wait until given subvolume(s) are completely removed from the filesystem.
    btrfs subvolume size [-v] [-p] [-m] [-r <volume_path>] <subvolume|subvol_id> [<subvolume|subvol_id>...]
        Query the actual disk usage exclusively owned by selected snapshots.

    btrfs filesystem df [options] <path>
        Show space usage information for a mount point
    btrfs filesystem du [options] <path> [<path>..]
        Summarize disk usage of each file.
    btrfs filesystem show [options] [<path>|<uuid>|<device>|label]
        Show the structure of a filesystem
    btrfs filesystem sync <path>
        Force a sync on a filesystem
    btrfs filesystem defragment [options] <file>|<dir> [<file>|<dir>...]
        Defragment a file or a directory
    btrfs filesystem resize [devid:][+[?]/-]<newsize>[kKmMgGtTpPeE]|[devid:]max <path>
        Resize a filesystem
    btrfs filesystem label [<device>|<mount_point>] [<newlabel>]
        Get or change the label of a filesystem
    btrfs filesystem usage [options] <path> [<path>..]
        Show detailed information about internal filesystem usage .
    btrfs filesystem corrupted <mount_point>
        Pop the path of a cksumfailed file on this volume
    btrfs filesystem reclaim-space [options] <file>|<dir> [<file>|<dir>...]
        reclaim space from a file or a directory

    btrfs balance start [options] <path>
        Balance chunks across the devices
    btrfs balance pause <path>
        Pause running balance
    btrfs balance cancel <path>
        Cancel running or paused balance
    btrfs balance resume <path>
        Resume interrupted balance
    btrfs balance status [-v] <path>
        Show status of running or paused balance

    btrfs device add [options] <device> [<device>...] <path>
        Add a device to a filesystem
    btrfs device delete <device>|<devid> [<device>|<devid>...] <path>    btrfs device remove <device>|<devid> [<device>|<devid>...] <path>
        Remove a device from a filesystem
    btrfs device scan [(-d|--all-devices)|<device> [<device>...]]
        Scan devices for a btrfs filesystem
    btrfs device ready <device>
        Check device to see if it has all of its devices in cache for mounting
    btrfs device stats [-z] <path>|<device>
        Show current device IO stats.
    btrfs device usage [options] <path> [<path>..]
        Show detailed information about internal allocations in devices.

    btrfs scrub start [-BdqrRf] [-c ioprio_class -n ioprio_classdata] <path>|<device>
        Start a new scrub. If a scrub is already running, the new one fails.
    btrfs scrub cancel <path>|<device>
        Cancel a running scrub
    btrfs scrub resume [-BdqrR] [-c ioprio_class -n ioprio_classdata] <path>|<device>
        Resume previously canceled or interrupted scrub
    btrfs scrub status [-dR] <path>|<device>
        Show status of running or finished scrub

    btrfs check [options] <device>
        Check structural inegrity of a filesystem (unmounted).

    btrfs rescue chunk-recover [options] <device>
        Recover the chunk tree by scanning the devices one by one.
    btrfs rescue super-recover [options] <device>
        Recover bad superblocks from good copies
    btrfs rescue zero-log <device>
        Clear the tree log. Usable if it's corrupted and prevents mount.

    btrfs restore [options] <device> <path> | -l <device>
        Try to restore files from a damaged filesystem (unmounted)

    btrfs inspect-internal inode-resolve [-v] <inode> <path>
        Get file system paths for the given inode
    btrfs inspect-internal logical-resolve [-Pv] [-s bufsize] <logical> <path>
        Get file system paths for the given logical address
    btrfs inspect-internal subvolid-resolve <subvolid> <path>
        Get file system paths for the given subvolume ID.
    btrfs inspect-internal rootid <path>
        Get tree ID of the containing subvolume of path.
    btrfs inspect-internal min-dev-size [options] <path>
        Get the minimum size the device can be shrunk to. The
    btrfs inspect-internal dump-tree [options] device
        Dump tree structures from a given device
    btrfs inspect-internal dump-super [options] device [device...]
        Dump superblock from a device in a textual form
    btrfs inspect-internal tree-stats [options] <device>
        Print various stats for trees
    btrfs inspect-internal tree-info <[-t <tree_id> <mnt_point>]|[subvolume_path]>
        Get tree information about given tree id or subvolume path.
    btrfs inspect-internal punch-info [-o <offset>] -l <len> <file_path>
        Syno punch check with offset & len.
    btrfs inspect-internal chunk-info [-m] <volume_path>
        Get chunk information about given volume path.

    btrfs property get [-t <type>] <object> [<name>]
        Gets a property from a btrfs object.
    btrfs property set [-t <type>] <object> <name> <value>
        Sets a property on a btrfs object.
    btrfs property list [-t <type>] <object>
        Lists available properties with their descriptions for the given object.

    btrfs send [-ve] [-p <parent>] [-c <clone-src>] [-f <outfile>] <subvol> [<subvol>...]
        Send the subvolume(s) to stdout.
    btrfs receive [-ve] [-f <infile>] [--max-errors <N>] <mount>
        Receive subvolumes from stdin.

    btrfs quota enable <path>
        Enable subvolume quota support for a filesystem.
    btrfs quota enable-v1 <path>
        For 4.4 and 3.10 kernel, it enables syno v1 quota.
    btrfs quota enable-v2 <path>
        For 4.4 and 5.10 kernel, it enables syno v2 quota.
    btrfs quota disable <path>
        Disable subvolume quota support for a filesystem.
    btrfs quota unload <path>
        Unload qgroup from memory but do not erase on-disk quota btree.
    btrfs quota remove-v1 <path>
        Remove on-disk v1 quota btree.
    btrfs quota rescan [-sw] <path>
        Trash all qgroup numbers and scan the metadata again with the current config.
    btrfs quota syno-status <path>
        Show quota status of specified volume and subvolume.
    btrfs quota syno-rescan [-prR] <path>
        Do qouta 2.0 rescan on specified subvolume.

    btrfs qgroup assign [options] <src> <dst> <path>
        Assign SRC as the child qgroup of DST
    btrfs qgroup remove <src> <dst> <path>
        Remove a child qgroup SRC from DST.
    btrfs qgroup create <qgroupid> <path>
        Create a subvolume quota group.
    btrfs qgroup destroy <qgroupid> <path>
        Destroy a quota group.
    btrfs qgroup show -pcreFf [--sort=qgroupid,rfer,excl,max_rfer,max_excl] <path>
        Show subvolume quota groups.
    btrfs qgroup limit [options] <size>|none [<qgroupid>] <path>
        Set the limits a subvolume quota group.

    btrfs replace start [-Bfr] <srcdev>|<devid> <targetdev> <mount_point>
        Replace device of a btrfs filesystem.
    btrfs replace status [-1] <mount_point>
        Print status and progress information of a running device replace
    btrfs replace cancel <mount_point>
        Cancel a running device replace operation.

    btrfs usrquota enable <path>
        Enable subvolume usrquota support for a filesystem.
    btrfs usrquota enable-v1 <path>
        For 4.4 and 3.10 kernel, it enables syno v1 usrquota.
    btrfs usrquota enable-v1 <path>
        For 4.4 and 5.10 kernel, it enables syno v2 usrquota.
    btrfs usrquota disable <path>
        Disable subvolume usrquota support for a filesystem.
    btrfs usrquota unload <path>
        Unload user quota from memory but do not erase on-disk user quota btree.
    btrfs usrquota remove-v1 <path>
        Remove on-disk v1 user quota btree.
    btrfs usrquota show [-an] [-u <uid>|-U <user name>] <path>
        Show subvolume usrquota.
    btrfs usrquota limit -u <uid>|-U <user name> <size>|none <path>
        Set usr quota limit on a subvolume.
    btrfs usrquota rescan [-sw] <path>
        Trash all usrquota info items

    btrfs syno-usage enable <volume_path>
        Enable syno usage given volume path.
    btrfs syno-usage disable <volume_path>
        Disable syno usage given volume path.
    btrfs syno-usage status <volume_path>
        Get syno usage status given volume path.
    btrfs syno-usage rescan <volume_path>
        Rescan syno usage given volume path.
    btrfs syno-usage rescan-pause <volume_path>
        Rescan syno usage given volume path.
    btrfs syno-usage subvol-type-set <type> <subvol_path>
        Set syno usage type [2,255] given subvol path.
    btrfs syno-usage subvol-type-get <subvol_path>
        Get syno usage type given subvol path.
    btrfs syno-usage show <volume_path>
        Show usage for all type.

    btrfs syno-cache-protection enable <volume_path>
        Enable syno cache protection given volume path.
    btrfs syno-cache-protection disable <volume_path>
        Disable syno cache protection given volume path.
    btrfs syno-cache-protection replay [-v] <volume_path>
        Replay syno cache protection given volume path.
    btrfs syno-cache-protection clear <volume_path>
        Clear syno cache protection passive instance given volume path
    btrfs syno-cache-protection status <volume_path>
        Show syno cache protection status given volume path

    btrfs syno-xattr get -k <xattr key name> [-r <root_tree> -i <inode>] [-v] <device>
        manage xattr from raw device

    btrfs syno-feat-tree enable <volume_path>
        Enable syno feature tree for the given volume path.
    btrfs syno-feat-tree disable <volume_path>
        Disable syno feature tree for the given volume path.
    btrfs syno-feat-tree status <volume_path>
        Get status of syno feature tree for the given volume path.

    btrfs help [--full]
        Display help information
    btrfs version
        Display btrfs-progs version

BTRFS critical (device dm-2): corrupt leaf

系统损坏,需要离线修复。

关联信息

反向链接和本文引用的外部资料。

References

其他外链

1 条
最近更新commit cb5a33cEdit

On this page