一、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. JSP知识点

    1.九大内置对象: request HttpServletRequest类的实例 response HttpServletResponse类的实例 out PrintWriter类的实例,用于把结果输 ...

  2. STL(标准模板库)基本概念

    一.什么是STL STL(Standard Template Library,标准模板库)的从广义上讲分为三类:algorithm(算法).container(容器)和iterator(迭代器),容器 ...

  3. linux设置时间显示格式和系统版本

    [修改显示日期格式] vim /etc/bashrc alias ll='ls -l --time-style="+%Y-%m-%d %H:%M:%S"' alias date=' ...

  4. hdu5125 树状数组+dp

     hdu5125 他说的是n个人每个人都有两个气球a,b,气球各自都有相应的体积,现在让他们按照序号排列好来,对他们的a气球体积值计算最长上升子序列,对于这整个排列来说有m次机会让你将a气球替换成b气 ...

  5. linux监控性能和网络的命令

    vmstat查看机器实时的综合情况:load,内存,swap,cpu使用率等方面 procs: r:运行队列中进程数量 b:等待IO的进程数量 memory(内存): swpd:使用虚拟内存大小 fr ...

  6. 关于js闭包之小问题大错误

    闭包是 JavaScript 开发的一个关键方面:匿名函数可以访问父级作用域的变量. 如果闭包的作用域中保存着一个 HTML 元素,则该元素无法被销毁.(下面代码来自高程) 刚看到一个关于闭包自己没注 ...

  7. js定时器优化

    在js中如果打算使用setInterval进行倒数,计时等功能,往往是不准确的,因为setInterval的回调函数并不是到时后立即执行,而是等系统计算资源空闲下来后才会执行.而下一次触发时间则是在s ...

  8. Git HEAD detached from XXX (git HEAD 游离) 解决办法

    本文 Git 图片主要来自:图解 Git,非常感谢! 读完本文你将了解: 什么是 HEAD HEAD 游离状态的利与弊 具体解决操作 Thanks 什么是 HEAD Git 中的 HEAD 可以理解为 ...

  9. winscp中使用sudo的方法

    用截图了解如何在 WinSCP 中使用 sudo. 首先你需要检查你尝试使用 WinSCP 连接的 sftp 服务器的二进制文件的位置.你可以使用以下命令检查 SFTP 服务器二进制文件位置: [ro ...

  10. getElementsByClassName方法的封装

    Element.prototype.getElementsByClassName = function(searchClass,node,tag){ if(document.getElementsBy ...