btrfs, B-tree File System, GPL开源文件系统, 支持CoW即读时写入.

核心特性:

  1. 多物理卷支持;
    • btrfs可由多个底层磁盘组成
  2. 支持RAID
    • mkfs.btrfs 命令的man文档支持: raid0, raid1, raid5, raid6,raid10, single or dup
  3. 联机"添加, 移除, 修改"
  4. CoW写时复制更新机制
    • 对文件做更改时, 先复制一份, 而后对复制过的文件做更改并且替换指针, 而非就地更新
  5. 数据及元数据校验码: checksum*
  6. 子卷: sub_volume
  7. 快照: 支持快照的快照
  8. 透明压缩

创建文件系统: mkfs.btrfs

  • 卷创建:
    • mkfs.btrfs [options] <device> [<device>...]
      • -L ‘Label’ : 设置卷标
      • -d <data-profile> : raid0,raid1,raid5,raid6,raid10, single, dup
      • -m<metadata-profile>: raid0,raid1,raid5,raid6,raid10, single, dup
      • -O<feature>
        • -O list-all: 列出所有支持的feature
  • 属性查看:
    • btrfs filesystem show //此处命令在下面的btrfs中有
      • 列出当前文件系统中的btrfs,并显示信息
      • 加上<DEVICE>将显示指定信息
  • 挂载:
    • mount [–t btrfs] /dev/sdb MOUNT_POINT
      • -t可选可不选
      • 以 /dev/sdb 做btrfs系统示例
  • 透明压缩机制:
    • 解释: 在写入时自动压缩, 读取时自动解压; [un]compress过程对用户隐藏;
    • mount -o compress={ lzo|zlib } DEVICE MOUNT_POINT
                   lzo,  zlib压缩机制
  • btrfs命令, 以及其子命令, 子子命令:
    1. btrfs filesystem
      1. show: 查看所有btrfs系统信息
      2. df <MOUNT_POINT>: 查看已挂载 *具体空间使用情况*
      3. resize<MOUNT_POINT>: 联机/在线更改大小
        • 减小容量 修改有风险, 操作需谨慎
    2. btrfs device
      1. btrfs device add <NEW_DEVCIE> <MOUNT_POINT>添加一个磁盘到挂载点
      2. btrfs device delete <OLD_DEVCIE> <MOUNT_POINT>删除一个磁盘到挂载点
    3. btrfs-balance 均衡负载
      1. btrfs balance start <MOUNT_POINT> 开始均衡负载过程
        • state 查看均衡进度
        • pause 暂停
        • resume 继续
        • cancel 取消
          • 负载均衡将会消耗很大一部分的系统性能, 仅建议在不忙时操作; 可使用pause暂停;
      2. btrfs balance start -mconvert=<profile> <MOUNT_POINT> 修改raid级别
        • <profile>: raid0, raid1, raid10, raid5, raid6, dup,single
        • -dconvert//数据区 data blocks
        • -mconvert//元数据区 metadata chunks
        • -sconvert//系统区 system chunks (requires -f)
    4. btrfs-subvolume 子卷
      • 挂载子卷:
        • mount -o subvol=' ' /dev/DEVICE MOUNT_POIN
          • #先查看待挂载的subvolume的id
            • # btrfs subvolume list /mnt/btrf
            • ID 256 gen 9 top level 5 path su
            • 或者通过路径挂载也可以
      • list: 显示所有子卷
      • create:创建子卷
      • delete:删除子卷
        • 注意:delete子卷不会真正删除物理卷上的数据, 如需要可使用-c
      • snapshot
        • btrfs subvolume snapshot /MOUNT_POINT/SUB  /MOUNT_POINT/SUB_snapsho
    5. btrfs-convert 转换其他格式到btrfs
      • btrfs-convert </dev/DEVICE>: 转换其他fs到btrfs
        • -r 回滚到原来的fs
    6. 命令注意:
      • btrfs命令仅对挂载后的挂载点生效, 直接操作/dev/sd[a-z]不可行

btrfs子命令: filesystem, device, balance, subvolume, convert

CentOS7.4-btrfs管理及使用的更多相关文章

  1. centos7服务的管理

    centos7上服务管理  author:headsen chen     2017-10-16  16:03:53       1,启动服务(每条都可以) systemctl start httpd ...

  2. [转帖]备忘:CentOS-7 使用systemctl 管理的服务,文件打开数上限1024要改

    备忘:CentOS-7 使用systemctl 管理的服务,文件打开数上限1024要改 https://blog.csdn.net/toontong/article/details/50440272 ...

  3. CentOS7使用firewalld管理防火墙与端口

    firewalld的基本使用 启动: systemctl start firewalld 关闭: systemctl stop firewalld 查看状态: systemctl status fir ...

  4. CentOs7下systemd管理知识要点

    centOs7的一个巨大的变动就是用systemd取代了原来的System V init.systemd是一个完整的软件包,安装完成后有很多物理文件组成,大致分布为,配置文件位于/etc/system ...

  5. centos7/linux 磁盘管理入门

    添加新磁盘并挂载: 设置虚拟机系统里添加磁盘,重启虚拟机后,虚拟机目录/dev下会增加一个sdb设备. 使用fdisk /dev/sdb 管理磁盘分区,首先p 查看磁盘分区信息,然后n增加一个主分区, ...

  6. Centos7 使用firewall管理防火墙

    一.Centos7使用firewall的管理防火墙 1.firewalld基本使用 启动:systemctl start firewalld 关闭:systemctl stop firewalld 状 ...

  7. Centos7中磁盘管理及扩展

    前提要求: 虚拟机:centos7 虚拟机软件:VMware Workstation 12 在安装Centos系统时,磁盘选择为LVM逻辑卷.当选择为LVM后才能创建逻辑卷等(必须) 数据格式选择的是 ...

  8. CentOS7开机启动管理systemd简介及使用

    systemd提供更优秀的框架以表示系统服务间的依赖关系实现系统初始化时服务的并行启动,同时达到降低Shell的系统开销的效果systemd的目标是:尽可能启动更少进程:尽可能将更多进程并行启动.sy ...

  9. Btrfs管理及应用

    一.btrfs基本概念 btrfs文件系统是2007年Oracle开发,支持GPL协议,为了取代Linux早期的ext系列文件系统. btrfs核心特性: 多物理卷支持:btrfs可由多个底层物理卷组 ...

  10. 从零开始学Linux系统(三)安装CentOS-7及软件包管理操作

    推荐博文: VirtualBox安装CentOS7步骤详解: https://my.oschina.net/AaronDMC/blog/840753 如何安装CentOS7字符界面 :http://b ...

随机推荐

  1. zzulioj--1777--和尚特烦恼3——何时能下山(水题)

    1777: 和尚特烦恼3--何时能下山 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 203  Solved: 111 SubmitStatusWeb ...

  2. 解决django.db.utils.InternalError: (1049, "Unknown database 'exam_db'")

    先检查seeting数据库配置DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'eaxm_db', ' ...

  3. Codeforces 701E Connecting Universities 贪心

    链接 Codeforces 701E Connecting Universities 题意 n个点的树,给你2*K个点,分成K对,使得两两之间的距离和最大 思路 贪心,思路挺巧妙的.首先dfs一遍记录 ...

  4. java的可查的异常和不可查的异常讲解

    java的可查的异常和不可查的异常讲解: Java的异常(包括Exception和Error)分为:可查的异常(checked exceptions)和不可查的异常(unchecked excepti ...

  5. (转载)安卓6.0之前的系统 判断app是否有录音权限

    卓6.0之前的系统 判断app是否有录音权限   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ...

  6. atom安装插件失败 latex

    用atom写latex 链接 http://www.cnblogs.com/schaepher/p/5934184.html 但在gui下安装插件失败 按照以下步骤解决了 安装gitbash cd . ...

  7. js函数参数理解

    eg: function setName(obj){ obj.name = "Nicholas"; obj = new Object(); obj.name = "Gre ...

  8. NodeJS学习笔记 (3)域名解析-dns(ok)

    域名解析:dns.lookup() 比如我们要查询域名 www.qq.com 对应的ip,可以通过 dns.lookup() . var dns = require('dns'); dns.looku ...

  9. BZOJ 3790 神奇项链(回文自动机+线段树优化DP)

    我们预处理出来以i为结尾的最长回文后缀(回文自动机的构建过程中就可以求出)然后就是一个区间覆盖,因为我懒得写贪心,就写了线段树优化的DP. #include<iostream> #incl ...

  10. [NOI2014]动物园(KMP)

    题意 题解 因为,一直用j=nxt[j]来遍历,可以遍历前i个字符所有相等的前后缀长度,所以有一个暴力的想法,就是对于每一个长度,开始遍历,记录长度小于i/2的相等的前后缀数量,最后累加即可. 但显然 ...