btrfs文件系统简介
  btrfs文件系统:技术预览版(Centos7)
  Btrfs(B-tree、Butter FS、Better FS),GPL授权,Orale2007提出是想用来取代Ext文件系统
 核心特性:
  1、多物理卷支持:支持将多个底层物理设备组织成同一个文件系统,类似VG,btrfs可由多个底层物理卷组成,支持RAID,以联机实现物理卷的"添加、移除、修改"
  2、写时复制更新机制(CoW):复制、更新及替换指针,而非"就地更新"
    不修改文件时,复制的文件无文件内容,指针仍指向原文件的数据
    修改文件时,不立即修改源文件,而是将源文件复制一份,对新生成的复制文件进行修改,然后把文件名指向新生成的复制文件,源文件保留,方便数据恢复.
    写时复制特性(Cow)
    cp --reflink (只能在btrfs文件系统中使用)
  3、数据及元数据校验码机制:存储每个文件时,把文件的元数据的校验码和数据的校验码,通过文件的属性扩展保存下来.访问文件时,通过扫描校验码,可快速判断文件是否受损一旦受损,自动尝试修复极大保证数据的可靠性
  4、支持子卷(sub_volume):在某卷上创建诸多子卷,每个子卷可以实现单独使用和挂载
  5、快照:基于写时复制机制,比lvm的快照,增加了差异(增量)快照,可以对快照的进行快照.完成对快照后的文件改变进行再次快照.
  6、透明压缩机制:在这个分区上存储文件想节约空间,可以把任何数据流发往btrfs文件系统上,自动周期完成数据压缩存放,用户感知不到,读取时自动解压缩.但会消耗cpu的时钟周期
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命令、子命令、子子命令:
  btrfs filesystem
    show  查看所有btrfs系统信息
    df <MOUNT_POINT>  查看已挂载具体空间使用情况
   resize<MOUNT_POINT>  联机/在线更改大小,减小容量 修改有风险, 操作需谨慎
  btrfs device
    btrfs device add <NEW_DEVCIE> <MOUNT_POINT>添加一个磁盘到挂载点
    btrfs device delete <OLD_DEVCIE> <MOUNT_POINT>删除一个磁盘到挂载点
  btrfs-balance 均衡负载
    btrfs balance start <MOUNT_POINT> 开始均衡负载过程
    state 查看均衡进度
    pause 暂停
    resume 继续
    cancel 取消
  负载均衡将会消耗很大一部分的系统性能, 仅建议在不忙时操作; 可使用pause暂停;
  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)
  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
  btrfs-convert 转换其他格式到btrfs
  btrfs-convert </dev/DEVICE> 转换其他fs到btrfs
    -r 回滚到原来的fs
  命令注意:
  btrfs命令操作对象为挂载后的挂载点,操作非设备文件/dev/sd[a-z]

btrfs基础的更多相关文章

  1. Linux基础介绍【第九篇】

    服务器添加3块磁盘的体系结构 [root@oldboylinux test]# free -m              total used free shared buffers cached M ...

  2. docker基础入门之二

    一.docker文件系统: linuxFS包括boot file system 和 root file system boot file system (bootfs),包含bootloader和ke ...

  3. Linux文件管理浅析(一) _磁盘管理基础

    本文主要讨论一些磁盘管理相关的基本概念,同时也是这一系列文章的第一篇,就是下图中的最下一层的一部分. 在Linux中,SATA/USB/SCSI接口都是使用SCSI模块实现的,所以使用这些接口的硬盘在 ...

  4. 存储那些事儿(五):BTRFS文件系统之Btree结构详解

    Btree数据结构可以说是BTRFS文件系统的基础.它提供了一个通用的方式去存储不同的数据类型.它仅仅存储3个数据类型:key, item和block header. btrfs_header的定义如 ...

  5. OpenStack实践系列①openstack简介及基础环境部署

    OpenStack实践系列①openstack简介及基础环境部署 一.OpenStack初探1.1 OpenStack简介 OpenStack是一整套开源软件项目的综合,它允许企业或服务提供者建立.运 ...

  6. Ceph基础知识和基础架构认识

    1  Ceph基础介绍 Ceph是一个可靠地.自动重均衡.自动恢复的分布式存储系统,根据场景划分可以将Ceph分为三大块,分别是对象存储.块设备存储和文件系统服务.在虚拟化领域里,比较常用到的是Cep ...

  7. Docker容器学习梳理 - 基础知识(1)

    Docker是PaaS 提供商 dotCloud 开源的一个基于 LXC 的高级容器引擎,源代码托管在 Github 上, 基于go语言并遵从Apache2.0协议开源.Docker是通过内核虚拟化技 ...

  8. Hadoop学习之路(六)HDFS基础

    HDFS前言 HDFS:Hadoop Distributed File System ,Hadoop分布式文件系统,主要用来解决海量数据的存储问题 设计思想 1.分散均匀存储 dfs.blocksiz ...

  9. Ceph 基础知识和基础架构认识

    1  Ceph基础介绍 Ceph是一个可靠地.自动重均衡.自动恢复的分布式存储系统,根据场景划分可以将Ceph分为三大块,分别是对象存储.块设备存储和文件系统服务.在虚拟化领域里,比较常用到的是Cep ...

随机推荐

  1. [容斥原理] hdu 1796 How many integers can you find

    题意: 给一个N.然后给M个数,问1~N-1里面有多少个数能被这M个数中一个或多个数整除. 思路: 首先要N-- 然后对于每一个数M 事实上1~N-1内能被其整除的 就是有(N-1)/M[i]个 可是 ...

  2. Swift版音乐播放器(简化版)

    这几天闲着也是闲着,学习一下Swift的.于是到开源社区Download了个OC版的音乐播放器,练练手,在这里发扬开源精神. 希望对大家有帮助! 这个DEMO里.使用到了 AudioPlayer(对音 ...

  3. 使用NDIS驱动监測以太网络活动

    转载自: http://blog.csdn.net/ddtpower/article/details/656687   本论文提供了NDIS的主要的理解,应用程序怎样与驱动程序交互.发挥驱动程序最佳性 ...

  4. 【Spark】DAGScheduler源代码浅析

    DAGScheduler DAGScheduler的主要任务是基于Stage构建DAG,决定每个任务的最佳位置 记录哪个RDD或者Stage输出被物化 面向stage的调度层.为job生成以stage ...

  5. 查找两个大文件(1G以上)的相同内容PHP版

    这是是一个大文件处理,面试官出题的意图并不希望你两层for循环进行遍历,这种答案肯定是不会要的! 这道题目的解法思路是: 顺序读取两个文件的的全部记录 将每条记录经过hash->转换为10进制- ...

  6. 浅谈java缓存

    java中要用到缓存的地方很多,首当其冲的就是持久层缓存,针对持久层谈一下: 要实现java缓存有很多种方式,最简单的无非就是static HashMap,这个显然是基于内存缓存,一个map就可以搞定 ...

  7. Android 信息提示——Toast方式

    Toast用于向用户显示一些帮助/提示.一下列举了5中样式. 一.默认的效果(显示在屏幕的底部) 代码: Toast.makeText(getApplicationContext(), "默 ...

  8. POJ1061 青蛙的约会 exgcd

    这个题虽然很简单,但是有一个比较坑的地方,就是gcd不一定是1,有可能是别的数.所以不能return 1,而是return a; 题干: Description 两只青蛙在网上相识了,它们聊得很开心, ...

  9. 杂项:BPM

    ylbtech-杂项:BPM 1.返回顶部 1. BPM,即业务流程管理,是一种以规范化的构造端到端的卓越业务流程为中心,以持续的提高组织业务绩效为目的的系统化方法,常见商业管理教育如EMBA.MBA ...

  10. Python3基础复习

    目录 基本语法 运算符 输出格式 数据类型 数据结构 函数 面向对象 补充 异常 模块和包 文件 时间 线程和进程 基本语法 基本语法只列举与Java不一样的. 运算符 and, or而非 & ...