Btrfs 文件系统
btrfs文件系统简介
btrfs文件系统:技术预览版(Centos7)
Btrfs(B-tree、Butter FS、Better FS),GPL授权,Orale2007提出是想用来取代Ext文件系统
核心特性:
1、多物理卷支持:支持将多个底层物理设备组织成同一个文件系统,类似VG,btrfs可由多个底层物理卷组成,支持RAID,以联机实现物理卷的"添加、移除、修改"
2、写时复制更新机制(CoW):复制、更新及替换指针,而非"就地更新"
不修改文件时,复制的文件无文件内容,指针仍指向原文件的数据
修改文件时,不立即修改源文件,而是将源文件复制一份,对新生成的复制文件进行修改,然后把文件名指向新生成的复制文件,源文件保留,方便数据恢复.
写时复制特性(Cow)
cp --reflink (只能在btrfs文件系统中使用)
3、数据及元数据校验码机制:存储每个文件时,把文件的元数据的校验码和数据的校验码,通过文件的属性扩展保存下来.访问文件时,通过扫描校验码,可快速判断文件是否受损一旦受损,自动尝试修复极大保证数据的可靠性
4、支持子卷(sub_volume):在某卷上创建诸多子卷,每个子卷可以实现单独使用和挂载
5、快照:基于写时复制机制,比lvm的快照,增加了差异(增量)快照,可以对快照的进行快照.完成对快照后的文件改变进行再次快照.
6、透明压缩机制:在这个分区上存储文件想节约空间,可以把任何数据流发往btrfs文件系统上,自动周期完成数据压缩存放,用户感知不到,读取时自动解压缩.但会消耗cpu的时钟周期
btrfs文件系统使用:
卷创建:
mkfs.btrfs [options] <device> [<device>...]
-L 'Label' 设置卷标
-d <data-profile> 指明数据存储类型{raid0,raid1,raid5,raid6,raid10, single(单文件), dup(冗余)}
-m<metadata-profile> 指明元数据存储类型{raid0,raid1,raid5,raid6,raid10, single, dup}
-O<feature> 在格式化时指明开启的特性
-O list-all 列出所有支持的feature
属性查看:
btrfs filesystem show 此处命令在下面的btrfs中有
列出当前文件系统中的btrfs,并显示信息
加上<DEVICE>将显示指定设备的信息
挂载:
mount [–t btrfs] /dev/sdb MOUNT_POINT
-t可选可不选
以 /dev/sdb 做btrfs系统示例
透明压缩机制:
解释:在写入时自动压缩, 读取时自动解压; [un]compress过程对用户隐藏
mount -o compress={lzo|zlib} DEVICE MOUNT_POINT
lzo、zlib压缩算法
btrfs命令、子命令、子子命令:
btrfs filesystem
show 查看所有btrfs系统信息
df <MOUNT_POINT> 查看已挂载具体空间使用情况
resize<MOUNT_POINT> 联机/在线更改大小,减小容量 修改有风险, 操作需谨慎
btrfs device
btrfs device add <NEW_DEVCIE> <MOUNT_POINT>添加一个磁盘到挂载点
btrfs device delete <OLD_DEVCIE> <MOUNT_POINT>删除一个磁盘到挂载点
btrfs-balance 均衡负载
btrfs balance start <MOUNT_POINT> 开始均衡负载过程
state 查看均衡进度
pause 暂停
resume 继续
cancel 取消
负载均衡将会消耗很大一部分的系统性能, 仅建议在不忙时操作; 可使用pause暂停;
btrfs balance start -mconvert=<profile> <MOUNT_POINT> 修改raid级别
<profile>:raid0, raid1, raid10, raid5, raid6, dup,single
-dconvert 数据区 data blocks
-mconvert 元数据区 metadata chunks
-sconvert 系统区 system chunks (requires -f)
btrfs-subvolume 子卷
挂载子卷:
mount -o subvol=' ' /dev/DEVICE MOUNT_POIN
#先查看待挂载的subvolume的id
# btrfs subvolume list /mnt/btrf
ID 256 gen 9 top level 5 path su
或者通过路径挂载也可以
list 显示所有子卷
create 创建子卷
delete 删除子卷
注意:delete子卷不会真正删除物理卷上的数据, 如需要可使用-c
snapshot
btrfs subvolume snapshot /MOUNT_POINT/SUB /MOUNT_POINT/SUB_snapsho
btrfs-convert 转换其他格式到btrfs
btrfs-convert </dev/DEVICE> 转换其他fs到btrfs
-r 回滚到原来的fs
命令注意:
btrfs命令操作对象为挂载后的挂载点,操作非设备文件/dev/sd[a-z]

Btrfs 文件系统的更多相关文章
- 存储那些事儿(五):BTRFS文件系统之Btree结构详解
Btree数据结构可以说是BTRFS文件系统的基础.它提供了一个通用的方式去存储不同的数据类型.它仅仅存储3个数据类型:key, item和block header. btrfs_header的定义如 ...
- Linux学习笔记之 Btrfs文件系统简介及使用
Btrfs 也有一个重要的缺点,当 BTree 中某个节点出现错误时,文件系统将失去该节点之下的所有的文件信息.而 ext2/3 却避免了这种被称为”错误扩散”的问题. Btrfs相关介绍: Btrf ...
- Linux学习笔记之Btrfs 文件系统
0x00 btrfs文件系统简介 btrfs文件系统:技术预览版(Centos7)Btrfs(B-tree.Butter FS.Better FS),GPL授权,Orale2007提出是想用来取代Ex ...
- btrfs文件系统简单学习
1 btrfs文件系统 btrfs文件系统在生产环境应用还不多,因此,本文仅仅简单学习. 1.1 btrfs文件系统核心特性 1)多物理卷支持:btrfs可由多个底层物理卷组成(可以是单块物理磁盘,也 ...
- Linux btrfs文件系统
btrfs,它名字挺多:B-tree fs;Butter fs;Better fs 开源协议是GPL,2007年由Oracle研发 核心特性: 多物理卷支持,btrfs可由多个物理卷组成:支持RAID ...
- RAID、LVM和btrfs文件系统
一.RAID: Redundant Arrays of Inexpensive Disks,廉价磁盘冗余阵列: Redundant Arrays of Independent Disks,独立磁盘冗余 ...
- 第9天【btrfs文件系统、压缩工具及for语句、程序包管理】
btrfs文件系统管理与应用(01)_recv halt centos7: mkfs.btrfs命令: -L:指定卷标 -m:元数据 -d:指定数据存储的类型,raid1.5.10.single 实验 ...
- Linux下如何选择文件系统:EXT4、Btrfs 和 XFS
老实说,人们最不曾思考的问题之一是他们的个人电脑中使用了什么文件系统.Windows 和 Mac OS X 用户更没有理由去考虑,因为对于他们的操作系统,只有一种选择,那就是 NTFS 和 HFS+. ...
- 新一代 Linux 文件系统 btrfs 简介
https://www.ibm.com/developerworks/cn/linux/l-cn-btrfs/ Btrfs 简介 文件系统似乎是内核中比较稳定的部分,多年来,人们一直使用 ext2/3 ...
随机推荐
- [Python] Use Static Typing in Python 3.6
In this lesson, you will learn how to statically type variables in Python 3.6 Static typing can help ...
- python Flask JQuery使用说明
0.前言 近期因为某种原因再次学习Flask框架.借助博客整理相关内容.Flask框架和Apache+PHP存在少许不同,Flask框架中JS和CSS文件存放于一个相对固定的位置. 普通情况下 ...
- JS禁用右键+禁用Ctrl+u+禁用F12
第一种方法: , , ]; document.oncontextmenu = new Function("event.returnValue=false;"),//禁用右键 doc ...
- js动态创建表格------Day59
刚刚不知道怎么回事,CSDN博客一直打不开,就在博客园完毕了今天的记录,结果临关机,登录了下.发现又好了,就再多花个几分钟转下吧,也无论到底在意的是什么了,权当强迫症了... 前几天记录了动态的加入一 ...
- HDU 2027 汉字统计
汉字统计 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- ArcGIS Python实现Modis NDVI批量化月最大合成
最大合成法(MVC)能够在Envi中的Band Math中进行,式子是B1>B2,可是无法批量化.本文实如今ArcGIS中利用Python代码批量进行,例如以下: 用到的Modis NDVI数据 ...
- VIM中括号的自动补全与删除
先放来源 http://oldj.net/article/vim-parenthesis/ 很多现代 IDE 都有自动补全配对括号的功能,比如输入了左括号“(”,IDE 就自动在后面添加一个对应的右括 ...
- 0x59 单调队列优化DP
倍增DP太难啦心情好再回去做 poj1821 先让工匠按s排序,f[i][j]表示枚举到第i个工匠涂了j个木板(注意第j个木板不一定要涂) 那么f[i][j]可以直接继承f[i-1][j]和f[i][ ...
- solaris 10 关闭ftp、telnet
安装solaris10,启动后发现找不到ftp.telnet的关闭方法, 管理命令 svcadm(服务状态管理,启动.停止等) # svcs 查看当前所有的服务状态,可以使用|管道符重定向作更个性化的 ...
- 如何提升SQL语句的查询性能
在对数据库进行操作时,如果SQL语句书写不当,对程序的效率会造成很大影响. 提高SQL效率可以从一下几个方面入手: 1,数据库设计与规划 Primary Key字段的长度尽量小,能用small int ...