btrfs管理和应用

一、btrfs概念

       在btrfs中存在三种类型的数据,data, metadata和system。它们表示:

       DATA           数据块。

       METADATA       源数据。

       SYSTEM         映射关系、raid关系等信息。

          

       可以用btrfs filesystem show观察到这些信息,也可以简写为 btrfs fi sh 。

       RAID是profile的一种描述,包括条带(raid0, raid10),mirror(raid1),奇偶校验(raid 5,6)。

       profile         

       profile和block group结合起来,用来描述数据的分配策略或约束。例如:

       single表示只存一份数据,即每个block group都是独一无二的。

       DUP表示在一个块设备中存双份数据,即每个block group在 同一个块设备 中有一个一样的block group副本。

       RAID0表示条带,单个block group可能跨块设备存储。

       RAID10表示镜像加条带,单个block group可能跨块设备存储,其中每个部分都会在两个块设备中存成镜像。

二、创建btrfs文件系统

    例子:     

       mkfs.btrfs -n 4096 -m raid10 -d raid10 -L mydata  /dev/sdb /dev/sdc /dev/sdd /dev/sde

       -n 设置nodesize大小 -m -d 分别对应 data和metadata数据块的profile级别,-L 设置lable名称。

       raid10 最少需要4个块设备,所以这里加了4个盘。

三、挂载

     mount /dev/sdb  /mydata  mount选项里面有几个针对ssd固态硬盘的选项,如ssd ,ssd_spread , discard 以及 compress={no|lzo|zlib}。

四、调整btrfs文件大小

     btrfs fi resize +10G /mnt 有多个块设备的话需要指定块设备  btrfs fi resize 1:+10G /mnt 表示对第一个块设备增加10G空间 使用全部空间可以使用max表示

五、增加减少块设备

    btrfs device add /dev/sdf /mnt

    btrfs device delete /dev/sdf /mnt

六、负载均衡一下

    btrfs balance start /mnt

    同时通过 -mconvert=raid5 -dconvert=raid5 可以改变profile属性

    btrfs balance start -dconvert=raid5 -mconvert=raid5 /mnt

七、subvolume以及snapshot快照

    btrfs subvolume create /mnt/logs

    btrfs subvolume delete /mnt/logs

    btrfs subvolume list /mnt

    mount -o subvol=logs /dev/sdb /mnt(可以单独挂子卷到目录)

    btrfs subvolume snapshot /mnt/logs /mnt/logs_snapshot (建快照)

常用命令 

    btrfs filesystem show /mnt

    btrfs device scan

    btrfs filesystem df /mnt

    btrfs rescuse super-recover /dev/sdb

   

原创文章,作者:duiduifei,如若转载,请注明出处:http://www.178linux.com/14700

(0)
duiduifeiduiduifei
上一篇 2016-04-12
下一篇 2016-04-12

相关推荐

  • 使用mysql-mmm实现高可用mysql读写分离

    MMM介绍:  MMM全称为Multi-Master Replication Manager for MySQL,即为主主复制管理器;根据MMM官网介绍,其工作原理类似于lvs,都是利用vip地址;但lvs只有一个组件便可以正常工作,而MMM则使用三个组件,分别是mysql-mmm、mysql-mmm-agent、mysql-mmm-monitor…

    Linux干货 2015-08-04
  • 推荐-虚拟化网络之OpenvSwitch(二)

    上一篇介绍了openvswitch的基础知识,接下来我们来做一个实验,利用GRE通道搭建一个跨多宿主机的虚拟化网络,深入了解openvswitch的功能。 一、实验拓扑 ip地址分配:  A1:192.168.10.1/24  A2:192.168.10.10/24   B1:192.168.10.2/24 &nbsp…

    2016-03-27
  • linux上安全软件SElinux

    selinux简介 SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的 实现,是 Linux历史上最杰出的新安全子系统。NSA是在Linux社区的帮助下开发了一种访问控制体系,在这种访问控制体系的限制下,进程只能访问那些在他的 任务中所需要文件。SELinux 默认安装在 Fedora 和 Red …

    系统运维 2016-09-19
  • grep用法

    一、前言 grep是功能强大的文本处理工具,全称:global search regular expression and print out the line,grep一行一行使用正则表达式匹配文本,之后对匹配到的文本整行显示(除非使用特定的选项取反,如 grep -v)。 二、grep用法 grep命令用法:    &nbs…

    Linux干货 2015-08-24
  • parted使用说明

    一.为什么使用parted命令     传统的MBR(Master Boot Record)分区方式,有一个局限:无法支持超过2TB的硬盘分区(单个分区超过2TB)。     GPT(GUID Partition Table)的分区表很好的解决了这个问题,但在Linux系统中,传…

    Linux干货 2015-04-13
  • 再不自动化就晚啦!优云教你4步打造基于CentOS的产品镜像

    随着Linux程序的增多,软件的安装过程中经常出现如下问题: 1、硬件配置类似或者相同时,批量安装系统和软件,希望实现自动化安装,减少安装时间和人为出错。 2、工程实施人员在不同客户现场进行系统和软件安装(硬件配置不同),由于硬件有差别,不容易实现自动化。 笔者针对以上场景,从提高生产效率,减少误操作的立场,提出如下解决方案,希望能达到抛砖引玉的目的,并能与…

    系统运维 2016-07-16