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
下一篇 2016-04-10

相关推荐

  • SED命令

    sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件,简化对文件的反复操作,编写转…

    Linux干货 2017-05-01
  • N25 第三周作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [jizo@jizo ~]$ who | cut -d" " -f1 | uniq jizo  2、取出最后登录到当前系统的用户的相关信息。 [root@jizo ~]# who | tail -l jizo     …

    Linux干货 2016-12-18
  • Hadoop集群配置

    通常,集群里的一台机器被指定为 NameNode,另一台不同的机器被指定为JobTracker。这些机器是masters。余下的机器即作为DataNode也作为TaskTracker。这些机器是slaves\ 官方地址:(http://hadoop.apache.org/common/docs/r0.19.2/cn/cluster_setup.ht…

    Linux干货 2015-06-03
  • shell脚本变成之数组、字符串处理及其它功能补充

    数组定义:                  能够存储多个元素的内存空间,每个元素在数组中具有特定的索引编号,我们可以通过变量名和索引编号来查看数组中的某一元素。    &nbsp…

    Linux干货 2016-08-24
  • centos 7 修改sshd服务默认端口号

    由于最近sshd服务默认端口号22被匿名进行试探性的进行登入,为防止匿名用户再次进行试探性的登入,将sshd服务的默认端口号进行修改。 环境:centos 7.3  xshell 思路:先将sshd的被指文件进行修改,把sshd服务的默认端口号修改为所需要的端口号,然后重启sshd服务,发现重启报错。找其原因是应为selinux不允许自定义sshd…

    Linux干货 2017-04-06
  • CentOS 5,6 系统启动流程详解

        一、linux 组成介绍          1.linux 组成:              Lin…

    Linux干货 2016-09-11