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系统启动流程

    linux系统启动流程 CentOS(5、6)系统启动流程 具体流程: 加载BIOS的硬件信息与进行自我测试,并依据设置取得第一个可启动的设备; 读取并执行第一个启动设备内MBR的boot Loader 依据boot Loader的设置加载Kernel,Kernel会开始检测硬件与加载驱动程序 硬件驱动成功后,Kernel会主动调用init进程,而init会…

    Linux干货 2016-09-11
  • HAProxy实现请求的80端口转发至后端的8000端口并实现动静分离

    一 实验目的 用HAProxy作为负载均衡器,实现把前端请求调度到后端,前端监听80端口,转发至后端的8000端口,并会对访问资源进行判断实现不同的访问内容转发至相对应的服务器。 二 实验拓扑 三 实验环境 IP 功能 192.168.20.108 HAProxy 192.168.237.129 Nginx 192.168.237.130 Nginx+PHP…

    Linux干货 2016-12-19
  • 第三周练习

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次: who | cut -d” ” -f1 | uniq 2、取出最后登录到当前系统的用户的相关信息 id `last | head -1 | cut -d” ” -f1` 3、列出当前系统上被用户当作默认shell的最多的那个shell cut -d: -f7 /etc/p…

    Linux干货 2017-07-16
  • 利用nginx实现基于传输层的四层负载均衡

    nginx利用ngx_stream_core_module实现四层的负载均衡服务。作为四层负载均衡nginx和lvs的区别在于: lvs工作于内核层,相对来说效率更高,性能更强; nginx工作于用户空间; lvs不会受到套接字数量的限制; nginx作为四层负载均衡也需要监听套接字来和客户端,后台服务器进行连接,会受到套接字数量限制,不过这个问题可以通过k…

    2017-07-03
  • N25第三周作业

    .列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登陆多次,则只显示一次即可。 此题主要考察命令who,cut,sort以及管道的基本用法:who:列出当前已登陆的用户名,登陆设备名,时间以及ip地址。 cut:    顾名思义就是截取之意, -d 指定要截取信息的分隔符,此处是以空格为分隔符,-f指定要截取的字段,此…

    Linux干货 2016-12-20
  • Linux下vim编辑器的使用

    vim编辑器 概括 vim,是vi的升级版本,它不仅兼容vi的所有指令,还有一些新的特性在里面。 使用vi和vim的三种主要模式 vim在工作过程当中有三种模式,编辑模式(命令模式)、输入模式、末行模式     1、编辑模式:也叫命令模式,键盘操作常被理解为编辑命令;     2…

    Linux干货 2016-08-10