Btrfs文件系统

  1. btrfs文件系统特性:

1、多物理卷支持

Btrfs可由多个底层物理卷组成:支持raid,以联机添加,移除,修改

2、写时复制机制(cow)

    复制,更新及替换指针,而非就地更新。在文件进行修改的时候,首先将文件复制一份出来,在复制的文件中进行修改,修改完成后,将指向原有文件的指针指向到修改完成的文件上,若修改完成的文件出现错误,则我们可以通过源文件进行修复

3、数据及元数据校验码

    Checksum,当存储某个文件上时,checksum会将数据的源数据和数据的校验码分别通过文件的属性进行保存,当我们再次读取数据时,可以方便的读取数据是否受损,若受损,可以完成自动修复

4、子卷

    Sub_volume,在一个卷上创建多个子卷,在每个子卷上创建文件系统,并挂载使用

5、快照

    支持快照的快照,因此可以实现类似增量快照的机制

6、透明压缩

    如果我们在存储文件时,进行压缩存储,那么在文件发往btrfs时,会自动占用时间周期,以完成数据的压缩存储,而用户并不知情,在用户读取文件时,会自动进行文件的解压缩,可以节约磁盘空间,但会占用时钟周期

  1. btrfs文件系统的创建

mkfs.btrfs

        -L ‘LABLE’:指定文件系统卷标

        -d <type>:raid0,raid1,taid5,raid6,raid10,single指明数据的存放方式

        -m <profile>:raid0,raid1,taid5,raid6,raid10,single,dump,指明元数据的存放方式

        -O <feature>:在格式化文件系统的时侯,是否直接开启文件系统的某些特性

        -O list-all:列出支持的所有特性

Btrfs文件系统

Btrfs文件系统

Btrfs文件系统

可以看出来两个卷的uuid相同,但子卷uuid不同

Btrfs文件系统

挂载文件系统,只需挂载一个,另一个也会挂载上

Btrfs文件系统

  1. 调整文件系统大小(逻辑上)

btrfs filesysstem resize [devid:][+/-]<size>[gkm]|[devid:]max <filesystem>

联机缩减文件系统大小:

Btrfs文件系统

联机扩张文件系统大小:

Btrfs文件系统

扩展至最大:

Btrfs文件系统

  1. 调整物理边界大小

Btrfs device add <dev> [<dev>..] <path> 增加设备

Btrfs device delete <dev> [<dev>..] <path> 减少设备

Btrfs文件系统

  1. 透明压缩

在挂载时使用-o指定压缩方式即可,可以选择lzo或zlib两种压缩方式

格式:mount –o compress={lzo|zlib}DEVICE MOUNT_POINT

  1. Btrfs文件均衡

格式:btrfs balance {start|pause|resume}[options] <files> MOUNT_POINT

btrfs [filesystem] balance start [options] <path>

Balance chunks across the devices

btrfs [filesystem] balance pause <path>

Pause running balance

btrfs [filesystem] balance cancel <path>

Cancel running or paused balance

btrfs [filesystem] balance resume <path>

Resume interrupted balance

btrfs [filesystem] balance status [-v] <path>

Show status of running or paused balance

常用选项:-d:指定数据的组织机制 组织格式:centos 6 上支持的较少(没有raid5)

     -s:指定元数据的存储机制

     -m:指定文件系统的组织机制

     -f:强制转换数据的组成机制

     -(d | s |m)convert=<组织机制>

Btrfs文件系统

  1. 创建子卷

btrfs subvolume create /挂载点/PATH 此路径必须是在btrfs文件系统的挂载目录下

btrfs subvolume list /挂载点

Btrfs文件系统

ID266是子卷ID ,可以用来挂载子卷

挂载子卷

可以只挂载子卷,而不挂载父卷

挂载子卷命令:mount –o subvol=subvol1 /dev/sdb1 /MOUNT_POINT

  1. 创建子卷快照

btrfs subvolume snapshot /mydata/subvol1

删除:btrfs subvolume delete

Btrfs文件系统

  1. Ext4与btrfs相互转换

Ext4转btrfs

  1. umount /挂载点
  2. fsck –f /dev/设备
  3. btrfs-convert /dev/设备
  4. 挂载
  5. btrfs filesystem show

转回:btrfs-convert -r /dev/设备

原创文章,作者:血刀老祖,如若转载,请注明出处:http://www.178linux.com/14588

(0)
血刀老祖血刀老祖
上一篇 2016-04-10 13:25
下一篇 2016-04-10 20:40

相关推荐

  • Linux 文件管理常用基本命令

    马哥教育网络班21期+第二周练习 目录管理 ls (list):列出目录及内容 ls [OPTION]… [FILE]…     -l:长格式显示文件的详细属性信息         -rwxr-xr-x.&nbs…

    Linux干货 2016-07-17
  • MariaDB基础

    MariaDB基础 关系型数据库的基础概念: 1)数据类型:作用:存储格式、数据范围、所能参与的运算、排序方式         字符型:         定长字符型:CHAR(#),BIARNY(#)…

    Linux干货 2016-11-07
  • nginx及I/O介绍原理

    上课笔记

    2018-03-12
  • 进程管理的总结

    进程管理的总结 进程相关概念: Process: 运行中的程序的一个副本,是被载入内存的一个指令集合。进程是程序的基本执                      行实体;程序是指令、数据及其组织形式的描述,进程是程序的实体 Process ID:进程的标记号码 task struct:Linux内核存储进程信息的数据结构格式 task list:多个任务的…

    2017-12-23
  • Linux用户和组管理常用命令

    Linux用户和组管理常用命令 1、useradd:创建用户   useradd [options] LOGIN     -u UID: [UID_MIN, UID_MAX]指定uid,(默认500|1000开头)定义在/etc/login.defs     -o 配合-u 选项, 不检查…

    Linux干货 2017-04-04
  • Linux基础知识之文本处理三剑客sed

    处理文本的工具sed     1.sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”。接着用sed命令处理缓冲区中的内容,完成处理后,把缓冲区中的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。sed主要用来自动编…

    Linux干货 2016-08-11