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

相关推荐

  • SHELL网络爬虫实例剖析

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://nolinux.blog.51cto.com/4824967/1552472        前天简单分享了用 shell 写网络爬虫的一些见解,今天特地把代码发出来与51博…

    Linux干货 2016-08-15
  • 用shell脚本实现每天定时收集全网日志到一台服务器

    需求 现在公司有这样一个需求,需要收集每天全网运行业务的设备上的某个特定目录底下的日志到一台服务器(这台服务器我们简称logserver),这并在这台logserver上生成以日期为名字的目录 解决思路: 在logserver的crontab里设置两个脚本,在当日晚上23:30执行脚本1收集当日即将被删除的全网脚本;在并在早上8:30执行脚本2,收集昨日全网…

    Linux干货 2015-07-27
  • Python入门之闭包,匿名函数,过滤器,映射器,折叠

    在学习python函数的过程中,函数的高阶应用包括闭包lambda函数,过滤器等都让我头痛不已.接下来我把课堂中听到的笔记进行整理,再写一遍,希望在提醒自己的同时也能帮助到别人. 首先,我们来看一下什么是闭包,闭包(closure)是函数式编程的重要的语法结构。函数式编程是一种编程范式 (而面向过程编程和面向对象编程也都是编程范式)。在面向过程编程中,我们见…

    Linux干货 2015-12-19
  • zabbix报警信息提取

    zabbix报警信息提取     在日常的监控中,我们除了日常的zabbix操作外,我们有的时候还涉及到与其他公司进行数据对接。由于别的公司的数据对接很多时候并不是按照zabbix的数据结构(尤其是大型厂家,或是专业监控厂家,并不会直接使用zabbix,多数是自己开发或是对其他监控软件进行二次开发之类),在这种需求基础…

    Linux干货 2015-12-19
  • Linux DNS服务系列之主从复制、子域授权和转发、view配置详解

    前言 上文我们讲解了DNS服务的原理及正反向解析配置,相信大家对DNS服务已经有了初步了解。接下来,让我们进一步了解DNS服务的其它功能,本文将详解主从复制、子域授权和转发以及view的相关配置。 主从服务器配置 主从服务器关系 如果公司内DNS服务器负载过重或者为了实现冗余这一类功能就需要用到一个备份DNS服务器,备份服务器和主DNS服务器就形成了主从关系…

    Linux干货 2015-04-13
  • MySQL架构

    1.MySQL整体逻辑架构 我们先下图看看MySQL整体逻辑架构(MySQL’s Logical Architecture)                       图1  第一层,即最上一层,所包含的服务并不是MySQL所独有的技术。…

    Linux干货 2015-04-13