高级文件文件系统管理之btrfs系统

一.概述

btrfs文件系统:

    技术预览版

    btrfs (B-tree,Butter FS,Better FS),GPL,Oracle,2007,CoW

    ext3/ext4,xfs

核心特性:

    多物理卷支持:btrfs可由多个底层物理卷组成,支持RAID,以及联机“添加”、“移除”,“修改”

    写时复制更新机制(CoW):复制、更新及替换指针,而非“就地”更新;(修改一个文件,会首先复制文件,然后在修改复制之后的文件,保护源文件,以防修改出错)

    数据及元数据校验码:checksum (保证文件的可靠性)

    子卷:sub_volume

    快照:支持快照的快照;(能实现增量快照机制)

    透明压缩;(节约空间)

btrfs文件系统的使用:

    mkfs.btrfs:

        -L : 'LABEL'

        -d <type>:  raid0,raid1,raid5,raid6,raid10,single

        -m <profile>:raid0,raid1,raid5,raid6,raid10,single,dup

        -O <feature>

            -O list-all:列出处置的所有feature;

属性查看:

    btrfs filesystem show

挂载文件系统:

    mount -t btrfs /dev/sdb MOUNT_POINT

透明压缩机制:

    mount -o compress={lzo|zlib} DEVICE MOUNT_POINT

首先我们创建一个40G的btrfs文件系统.成员为/dev/sdd和/dev/sde

-f 是强制覆盖源磁盘的文件系统

blob.png

我们可以使用命令 btrfs filesystem show 来查看所有的btrfs文件系统的属性

blob.png

btrfs filesystem show –mounted  显示已挂载btrfs文件系统的属性

btrfs filesystem show all-devices 显示所有btrfs文件系统的属性

现在我们来挂载btrfs文件系统到目录

blob.png

mydate的btrfs文件系统包含/dev/sdd和sde,所以这边可以随便写哪个硬盘设备都等同于mydate的btrfs文件系统

实现透明压缩文件机制:

mount -o compress={lzo|zlib} DEVICE MOUNT_POINT

blob.png

compress是选择一个压缩加密方式.

现在我们还可以自由调整文件系统的大小.

man btrfs

btrfs filesystem resize -10G /mydata  减少10G

blob.png

blob.png

btrfs filesystem resize +5G /mydata    增加5G

blob.png

btrfs filesystem resize max /mydata    增加空间到最大

blob.png

查看

df–lh; btrfsfilesytemdf/mydata

blob.png

添加设备:man btrfs-device

btrfs device add /dev/sdd /mydata

blob.png

btrfs filesystem show mydata;df

blob.png

平衡数据:

man btrfs-banlance

btrfs banlance status /mydata

blob.png

btrfs banlance start /mydata

blob.png

btrfs banlance pause /mydata

btrfs banlance cancel /mydata

btrfs banlance resume /mydata

删除设备

btrfs device delete /dev/sdb /mydata

btrfs filesystem show

blob.png

修改raid级别:注意raid对成员数量的要求

btrfs balance start -mconvert=raid1|raid0|raid5 /mydata

btrfs balance start -dconvert=raid1|raid0|raid5 /mydata

blob.png

blob.png

子卷管理:

man btrfs-subvolume

btrfs subvolumelist /mydata 查看子卷ID等信息

btrfs subvolume create /mydata/subv1

umount /mydata

mount -o subvol=subv1 /dev/sdd /mnt/subv1

btrfs subvolume show /mnt/subv1

mount /dev/sdb/mydata挂父卷,子卷自动挂载

mount -o subvolid=### /dev/sdd/mnt/subv1

blob.png

创建了2个子卷

blob.png

将2个子卷挂载到目录上..

blob.png

 

        

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

(0)
KartikKartik
上一篇 2016-09-11 20:23
下一篇 2016-09-11 20:56

相关推荐

  • LVM逻辑卷管理器详解

    一、LVM简介 LVM是 Logical Volume Manager(逻辑卷管理)的简写,它由Heinz Mauelshagen在Linux 2.4内核上实现。LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性。…

    Linux干货 2016-09-05
  • 函数定义、使用

        1、函数介绍         函数function是由若干条shell命令组成的语句块,实现代码重用和模块化编程。           &nb…

    Linux干货 2016-08-22
  • MySQL基础入门详解

    MySQL MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。 想要使用MySQL来存储并操作数…

    2017-09-16
  • shell脚本

    shell脚本 简介:         使用脚本编程语言的好处是,它们多半运行在比编译型语言还高的层级,能够轻易处理文件与目录之类的对象。缺点是:它们的效率通常不如编译型语言。不过权衡之下,通常使用脚本编程还是值得的:花一个小时写成的简单脚本,同样的功能用C或C++来编写实现,可…

    Linux干货 2016-08-15
  • DNS相关配置

    DNS基础概念: DNS全称为Domain Name System。它作为将域名和IP地址相互映射的得一个分布式数据库,能够使人更方便的访问互联网 DNS使用TCP和UDP得53号端口 BIND是DNS得实现方式之一 named是bind程序得运行的进程名 named进程的主要运行者是named用户,为了安全起见,它的程序也应该以named用户运行 配置正向…

    Linux干货 2017-05-30
  • openssl建立私有CA和申请证书

    实验环境: 虚拟机:VMware® Workstation 12 Pro 主机A:ip为10.1.255.55/16,创建CA并给其他主机提供CA服务 主机B:为httpd服务器,ip为10.1.249.115/16 1、查看openssl的配置文件/etc/pki/tls/openssl.cnf [root@localhost…

    Linux干货 2016-09-23