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

相关推荐

  • corosync+pacemaker+drbd+mysql来实现mysql的高可用和数据的同步

    实现拓扑图: 实验流程: 先对两主机安装上corosync和pacemaker 两主机安装drbd服务,并且设置好drbd的组设备 选择drbd主节点上,进行数据库的初始化 进行资源的定义和配置 测试 实验前,我们还需要做一些准备工作: 1、时间必须保持同步   使用ntp服务器 2、节点必须名称互相通信    解析节点名称 &…

    Linux干货 2015-11-10
  • 文本处理三剑客之sed

    文本处理三剑客之sed 一、处理文本的工具sed 概念: Stream EDitor, 行编辑器 v sed是一种流编辑器,它一次处理一行内容。处理时,把 当前处理的行存储在临时缓冲区中,称为“模式空间”( pattern space),接着用sed命令处理缓冲区中的内容 ,处理完成后,把缓冲区的内容送往屏幕。接着处理下一 行,这样不断重复,直到文件末尾。文…

    Linux干货 2016-08-12
  • LAMP三个主机的简单配置和php-admin,wordpress

    LAMP:组合应用httpd2.4:yum install httpd.2.4php-fpm:yum install php-fpm php-mysqlmysql: yum install mysql 注意:在做实验时,一定要将iptables和selinux给关了。 http:只需在httpd上写一个必须的文件/etc/httpd/conf.d/fcgic…

    2017-06-06
  • shell脚本编程基础(1)

    一.位置变量相关知识     1.位置变量定义:在脚本代码中调用通过命令行传递给脚本的的参数     2.位置变量种类:              &…

    Linux干货 2016-08-15
  • 计算机运维基础知识 Linux版

    计算机系统由硬件系统和软件系统组成 第一代计算机   电子管时代 第二代计算机   晶体管时代 第三代计算机   集成电路时代 第四代计算机   大规模集成电路时代 1964年,世界第一代计算机ENICA。用来计算弹道轨迹。 冯诺依曼  计算机之父 运算器,控制器,存储器,输入设备,输出设备。 巨型计算机,大…

    Linux干货 2016-08-04