一、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. hdu5422 最大表示法+KMP

    #include <iostream> #include <algorithm> #include <string.h> #include <cstdio&g ...

  2. 互联网级监控系统必备-时序数据库之Influxdb技术

    时间序列数据库,简称时序数据库,Time Series Database,一个全新的领域,最大的特点就是每个条数据都带有Time列. 时序数据库到底能用到什么业务场景,答案是:监控系统. Baidu一 ...

  3. XML系列之--对电文格式XML的简单操作(三)

    前两章介绍了关于Linq创建.解析SOAP格式的XML,在实际运用中,可能会对xml进行一些其它的操作,比如基础的增删该查,而操作对象首先需要获取对象,针对于DOM操作来说,Linq确实方便了不少,如 ...

  4. 使用yaml+groovy实现Java代码可配置化

    背景与目标 在使用函数接口和枚举实现配置式编程(Java与Scala实现),使用了函数接口和枚举实现了配置式编程.读者可先阅读此文,再来阅读本文. 有时,需要将一些业务逻辑,使用配置化的方式抽离出来, ...

  5. 转:CTE(公共表表达式)——WITH子句

    来自:<Microsoft SQL Server 2008技术内幕:T-SQL语言基础> 一.公共表表达式(CTE,Common Table Expression)是在SQL Server ...

  6. Symfony2 UserSecurityEncoder实现自己的验证方式

    fosuserbundle默认使用sha512加密 如果要实现自己的加密方式 需要继承Symfony\Component\Security\Core\Encoder\BasePasswordEncod ...

  7. 苹果手机显示分享链接的方法html页面

    function onBridgeReady(){ WeixinJSBridge.call('showOptionMenu'); } if (typeof WeixinJSBridge == &quo ...

  8. 通过 Java 线程堆栈进行性能瓶颈分析

    改善性能意味着用更少的资源做更多的事情.为了利用并发来提高系统性能,我们需要更有效的利用现有的处理器资源,这意味着我们期望使 CPU 尽可能出于忙碌状态(当然,并不是让 CPU 周期出于应付无用计算, ...

  9. Python进阶【第一篇】:Python简介

    Python简介 1.Python的由来 Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言. 2.C 和 Python.Ja ...

  10. c#md5加密的简单用法

    using System.Security.Cryptography; //MD5 md5 = MD5.Create(); MD5 md5 = new MD5CryptoServiceProvider ...