一、btrfs基本概念  

btrfs文件系统是2007年Oracle开发,支持GPL协议,为了取代Linux早期的ext系列文件系统。
btrfs核心特性:
    多物理卷支持:btrfs可由多个底层物理卷组成,支持RAID,以联机添加、移除、修改操作
    写时复制更新机制(CoW):复制、更新及替换指针,而非直接更新原文件
    数据及元数据校验码:checksum
    子卷:sub_volume
    快照:支持快照的快照
    透明压缩:

二、btrfs基本应用

创建btrfs文件系统:  
      mkfs.btrfs:
        -L 'LABEL':
        -m <profile>: 指明元数据存放机制{raid0,raid1,raid5,raid6,raid10,single}
        -d <type>: 指明数据存放时的类型{raid0,raid1,raid5,raid6,raid10,single,dup}
        -O <feature>
          -O list-all: 列出支持的所有feature 
直接格式化: mkfs.btrfs -L mydata /dev/sdab /dev/sdac
    btrfs filesystem show: 显示创建的btrfs文件系统的信息
    btrfs filesystem show /dev/sdb: 查看指定设备btrfs文件系统的信息
    btrfs filesystem [OPTION]
          sync: 将文件系统缓存在内存中的数据同步到磁盘中
          df: 查看一个已挂载的btrfs文件系统空间使用情况: btrfs filesystem df /mydata
          defragment: 磁盘碎片整理
          resize: 修改大小, btrfs filesystem resize -10G /mydata
          label:显示卷标或显示卷标
    btrfs device [OPTION] /dev/sdd: 对硬件设备进行操作
          add: 添加设备
          deleate: 移除设备,数据自动移到其他设备上,不影响正常访问
          scan: 扫描设备
    btrfs balance [OPTION] /dev/DEVICE:均衡数据到新增加的设备上
          start [OPTION]<filters>:开始balance
            -d<filter>:修改数据的组织机制
            -m<filter>: 修改元数据的组织机制
            -s<filter>: 修改系统的组织机制
              filter:
                convert
                  比如btrfs balance start -dconvert=raid5 /mydata 修改数据的raid级别
                  比如 -mconvert 修改元数据的raid级别           pause:暂停
          status:执行状态
          cancel:取消
          resume:继续
    btrfs subvolume : 子卷操作
          create: 创建子卷: 比如:btrfs subvolume create /mydata/logs
          delete: 删除子卷
          list: 列出所有的子卷
          get-default: 查看默认卷
          set-default: 设置默认卷
          snapshot: 快照 比如; btrfs subvolume snapshot /mydata/logs /mydata/logs_snapshot
                对单个文件创建快照: cp --reflink grub2.cfg grub2.cfg_snap
          show: 查看子卷详细信息
    只挂载子卷: 例如 mount -o subvol=logs /dev/sdb /mnt
              或 mount -o subvolid=267 /dev/sdb /mnt
    挂载文件系统:  mount -t btrfs /dev/sdb /MOUNT_POINT
    透明压缩机:    mount -o compress=(lzo|zlib) DEVICE MOUNT_POINT

三、应用

    ext文件系统转为btrfs文件系统:
          1. umount /mnt
          2. fsck -f /dev/sdd1
          3. btrfs -convert /dev/sdd1
          4. btrfs filesystem show
          5. mount /dev/sdd1 :可以挂载使用了
    btrfs文件系统降级回到ext文件系统:
           btrfs -convert -r /dev/sdd1

Btrfs管理及应用的更多相关文章

  1. 第9天【btrfs文件系统、压缩工具及for语句、程序包管理】

    btrfs文件系统管理与应用(01)_recv halt centos7: mkfs.btrfs命令: -L:指定卷标 -m:元数据 -d:指定数据存储的类型,raid1.5.10.single 实验 ...

  2. btrfs的介绍与使用

    源文献:http://www.ibm.com/developerworks/cn/linux/l-cn-btrfs/index.html#ibm-pcon 简单看了一下这篇文章,对其中一些机制的实现还 ...

  3. 新一代 Linux 文件系统 btrfs 简介

    https://www.ibm.com/developerworks/cn/linux/l-cn-btrfs/ Btrfs 简介 文件系统似乎是内核中比较稳定的部分,多年来,人们一直使用 ext2/3 ...

  4. 磁盘及文件系统管理(以及btrfs)

    Linux系统管理 磁盘分区及文件系统管理 raid lvm 网络属性管理 程序包管理 sed及awk 进程查看和管理 内核管理(内核的编译和安装) 系统启动流程 定制,编译内核,busybox 系统 ...

  5. btrfs文件系统简单学习

    1 btrfs文件系统 btrfs文件系统在生产环境应用还不多,因此,本文仅仅简单学习. 1.1 btrfs文件系统核心特性 1)多物理卷支持:btrfs可由多个底层物理卷组成(可以是单块物理磁盘,也 ...

  6. 学习OpenStack之 (4): Linux 磁盘、分区、挂载、逻辑卷管理 (Logical Volume Manager)

    0. 背景: inux用户安装Linux操作系统时遇到的一个常见的难以决定的问题就是如何正确地评估各分区大小,以分配合适的硬盘空间.普通的磁盘分区管理方式在逻辑分区划分好之后就无法改变其大小,当一个逻 ...

  7. Docker存储驱动之Btrfs简介

    简介 Btrfs是下一代的copy-on-write文件系统,它支持很多高级特性,使其更加适合Docker.Btrfs合并在内核主线中,并且它的on-disk-format也逐渐稳定了.不过,它的很多 ...

  8. linux下fdisk分区管理、文件系统管理、挂载文件系统等

    分区管理工具有:fdisk, parted, sfdisk fdisk:对于一块硬盘来讲,最多只能管理15分区: # fdisk -l [-u] [device...]  查看硬盘设备分区信息 # f ...

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

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

随机推荐

  1. hbase-java-api001

    package api; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfig ...

  2. python对缩进的严格要求

    一般的编辑器都会默认Tab键为四格缩进,但是在python脚本中,Tab与直接4个tablespace空格是有区别的. 一般表现为报错信息如下: IndentationError: unindent ...

  3. java 基础功能

    1.str.length();// 获取整个字符串的长度 public class Test { public static void main(String[] args) { String s = ...

  4. hdu5029 树链剖分 + 线段树

      将树映射在线段上进行操作 然后每个 重链变成一个连续的区间 #include <iostream> #include <cstdio> #include <strin ...

  5. Qt信号之自定义数据类型

    [1]为什么需要自定义数据类型? 内置类型毕竟很有局限性,否则为什么还需要类呢.总之,有时候,我们多么希望信号能发送自定义数据类型. 幸哉~ Qt是支持自定义信号,且自定义信号可以发送自定义数据类型的 ...

  6. linux常用命令:more 命令

    more命令,功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上. more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会 ...

  7. 禁用HTTP.sys,导致80端口被禁用和IIS服务无法启动解决办法

    由于端口被占用,使用 win+r 运行 cmd 输入netstat -ano 可以看到端口被PIF 4占用,可以找到对应的进程NT kernel& System 该进程是Http.sys,是h ...

  8. android使用ARouter跳转activity(阿里巴巴开源的)

    android使用ARouter跳转activity(阿里巴巴开源的) 使用ARouter方式,点击按钮跳转到其他activitypublic void buyOrSell(String str){ ...

  9. Git从远程仓库里拉取一条本地不存在的分支方法

    Git从远程仓库里拉取一条本地不存在的分支方法 从远程仓库里拉取一条本地不存在的分支时,进入到对应目录先执行git fetch然后再执行git checkout -b 本地分支名 origin/远程分 ...

  10. JustOj 1929: 多输入输出练习1

    题目描述 给定很多行数据,要求输出每一行的最大值. 输入 程序有多行输入,每一行以0结束. 输出 有多行输出,对应输入的行数. 样例输入 23 -456 33 78 0 43 23 987 66 -1 ...