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 19:00
下一篇 2016-04-12 19:00

相关推荐

  • 日志分析工具Awstats实战之Apache篇-多站点日志分析

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://nolinux.blog.51cto.com/4824967/1318052 前面两篇都在讲述如何去部署nginx下的awstats日志分析工具,现在终于轮到apache。作为老牌的网页服务器,awstats对apache…

    Linux干货 2016-08-15
  • Linux文件系统的创建、检测、修复、分区等工具的使用

    一、文件系统管理 什么是文件系统?     我的理解是文件系统是对磁盘上的数据和文件结构的管理规范。     如果文件系统没有继承性,那么以前文件系统的数据就无法传到新的文件系统中。     Linux的文件系统有这么几种:ext2, ex…

    系统运维 2016-03-03
  • LVS负载均衡集群详解

    一、LVS概述  1.LVS:Linux Virtual Server          四层交换(路由):根据请求报文的目标IP和目标PORT将其转发至后端主机集群中的某台服务器(根据调度算法);      …

    系统运维 2016-04-30
  • 倒排索引-搜索引擎的基石

    1.概述       在关系数据库系统里,索引是检索数据最有效率的方式,。但对于搜索引起,他它并不能满足其特殊要求:       1)海量数据:搜索引擎面对的是海量数据,像Google,百度这样大型的商业搜索引擎索引都是亿级甚至几千的网页数量 ,面对…

    Linux干货 2015-12-10
  • Linux的自动化安装实现

    在介绍自动化安装系统之前让我们来回顾一下系统的启动流程,系统的启动大概分为一下几个步骤:加电自检 boot sequence(mbr)— boot loader –>kernel(initramfs)—>rootfs  /sbin/init大概就是这么几个过程了,接下来来介绍系统的安装,安装系统虽然看起来简单,普…

    系统运维 2016-09-19
  • 批量部署lxc虚拟机

    前言:lxc是一种操作系统层虚拟化(Operating system–level virtualization)技术,为Linux内核容器功能的一个用户空间接口。它将应用软件系统打包成一个软件容器(Container),内含应用软件本身的代码,以及所需要的操作系统核心和库。通过统一的命名空间和共用API来分配不同软件容器的可用硬件资源,创造出应用程…

    Linux干货 2016-03-20