Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Linux学习笔记之Btrfs 文件系统

Linux学习笔记之Btrfs 文件系统

作者头像
Jetpropelledsnake21
发布于 2019-07-10 09:46:37
发布于 2019-07-10 09:46:37
2K00
代码可运行
举报
文章被收录于专栏:JetpropelledSnakeJetpropelledSnake
运行总次数:0
代码可运行

0x00 btrfs文件系统简介 

btrfs文件系统:技术预览版(Centos7) Btrfs(B-tree、Butter FS、Better FS),GPL授权,Orale2007提出是想用来取代Ext文件系统

0x01 btrfs核心特性

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#  1、多物理卷支持:支持将多个底层物理设备组织成同一个文件系统,类似VG,btrfs可由多个底层物理卷组成,支持RAID,以联机实现物理卷的"添加、移除、修改"

#  2、写时复制更新机制(CoW):复制、更新及替换指针,而非"就地更新"
#    不修改文件时,复制的文件无文件内容,指针仍指向原文件的数据
#    修改文件时,不立即修改源文件,而是将源文件复制一份,对新生成的复制文件进行修改,然后把文件名指向新生成的复制文件,源文件保留,方便数据恢复.
#    写时复制特性(Cow)
#    cp --reflink (只能在btrfs文件系统中使用)

#  3、数据及元数据校验码机制:存储每个文件时,把文件的元数据的校验码和数据的校验码,通过文件的属性扩展保存下来.访问文件时,通过扫描校验码,可快速判断文件是否受损一旦受损,自动尝试修复极大保证数据的可靠性

#  4、支持子卷(sub_volume):在某卷上创建诸多子卷,每个子卷可以实现单独使用和挂载

#  5、快照:基于写时复制机制,比lvm的快照,增加了差异(增量)快照,可以对快照的进行快照.完成对快照后的文件改变进行再次快照.

#  6、透明压缩机制:在这个分区上存储文件想节约空间,可以把任何数据流发往btrfs文件系统上,自动周期完成数据压缩存放,用户感知不到,读取时自动解压缩.但会消耗cpu的时钟周期

0x02 btrfs文件系统使用

卷创建

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#  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

属性查看

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#  btrfs filesystem show 此处命令在下面的btrfs中有
  列出当前文件系统中的btrfs,并显示信息
  加上<DEVICE>将显示指定设备的信息

挂载

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#  mount [–t btrfs] /dev/sdb MOUNT_POINT
  -t可选可不选
  以 /dev/sdb 做btrfs系统示例

透明压缩机制

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
解释:在写入时自动压缩, 读取时自动解压; [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]
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-07-08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
用好了下一代文件系统 Btrfs 这些新特性,从此数据安全乐无忧!
对于大部分文件系统来说,在磁盘上创建好文件系统,然后再挂载到系统中去就完事了。但对于 Btrfs 来说,除了在格式化和挂载的时候指定不同的参数外,还支持很多其他的功能。比如:管理多块硬盘、支持 LVM 和 RAID 等,具体的可以参考它的「官方文档」或者「Linux 下常见文件系统对比」。
iMike
2019/10/31
3.8K0
Btrfs
btrfs 1.特性 可由多个块设备组合成一个btrfs文件系统,多物理卷支持 支持RAID(0,1,5,6,10),dup(冗余),single(单盘)和热更新 写时复制更新机制(Cow): 复制、更新及替换指针,而非就地更改源文件 支持元数据校验码机制,一旦文件计算后发现受损会自动尝试修复 支持创建子卷(子卷本质是在btrfs文件系统中由btrfs创建的一个文件夹,可以单独被拿出来挂载到别的某一个目录中) 快照,还支持快照的快照(可以实现快照的增量备份) 透明压缩(无需用户参与) 支持
Tianlin_Zz
2022/11/01
8350
Linux基础——RAID和LVM
一、RAID 独立冗余磁盘阵列 条带化技术,分散存储在多个盘上 (做切割数据的,存在盘上的对应位置,在外观看来就是条带状的) raid的一种 raid级别,仅仅代表raid的组成方式是不一样的,没有上下级之分 raid级别:速度、可用性 利用校验码的形式来保证数据的可靠性(比较麻烦)浪费比例1/n raid类型: 1、raid0 (条带) 性能提升:读写 冗余能力:不具备 空间利用率:n 至少两块盘 2、raid1 (镜像) 性能提升:写性能下降,读性能提高 冗余能力:具备 空间利用率:1/2 正好两个
L宝宝聊IT
2018/06/20
6.7K0
技术|哪个文件系统最适合你的 Linux 系统?
文件系统:它们不是世界上最激动人心的技术,但是仍然很重要。本文我们将细数那些流行的Linux文件系统-它们是什么,它们能够做什么,以及它们的目标用户。
用户8710643
2021/07/12
2.1K0
Linux学习笔记之RAID笔记
RAID: Redundant Arrays of Inexpensive Disks Independent Berkeley: A case for Redundent Arrays of Inexpensive Disks RAID 提高IO能力: 磁盘并行读写; 提高耐用性; 磁盘冗余来实现 级别:多块磁盘组织在一起的工作方式有所
Jetpropelledsnake21
2019/07/10
1.9K0
Btrfs:认识、从Ext4迁移与快照方案
对于Arch系等依赖滚动更新的发行版,Btrfs的快照功能真的是太具有吸引力了。纵使我已经很久没有遇到“滚炸”、纵使就算“滚炸”去Manjaro论坛看一眼一般都能解决,但是这些都不如一个“后悔药”来得实在——遇到问题,重启、选择老快照、恢复,一切都是那么美好。因此,前阵子(指12月中旬)我就把系统分区迁移到Btrfs上了。这篇博客就主要记录了迁移与快照的各种实现方案。
KAAAsS
2022/01/31
5.9K1
5.4K Star神器!!!Windows读取Linux磁盘格式工具
Btrfs(B-tree File System,B树文件系统)是一种用于Linux操作系统的现代文件系统
开源日记
2024/05/28
10.4K0
5.4K Star神器!!!Windows读取Linux磁盘格式工具
3.btrfs管理及应用
Btrfs(通常念成Butter FS),由Oracle于2007年宣布并进行中的COW(copy-on-write式)文件系统。目标是取代Linux目前的ext3文件系统,改善ext3的限制,特别是单一文件大小的限制,总文件系统大小限制以及加入文件校验和特性。加入目前ext3/4未支持的一些功能,例如可写的磁盘快照(snapshots),以及支持递归的快照(snapshotsof snapshots),内建磁盘阵列(RAID)支持,支持子卷(Subvolumes)的概念,允许在线调整文件系统大小。
py3study
2020/01/13
1K0
CentOS7 部署 RAID 磁盘阵列
RAID (Redundant Array of lndependent Disk 独立冗余磁盘阵列)就是把多块独立的物理磁盘按不同的方式组合起来形成一个磁盘组(逻辑硬盘)。从而提供比单个磁盘更高的存储性能和提供数据备份技术。
全栈程序员站长
2022/08/14
2.5K0
CentOS7 部署 RAID 磁盘阵列
linux磁盘简介
现在磁盘最常用的可简单分为普通的机械盘和SSD(Solid-state drive或Solid-state disk)两种,他们都已不同的接口协议和主板链接,在了解命令之前,我们先来看下,现在服务器磁盘的接口协议。这样可以更好的了解磁盘。
用户1516716
2020/06/29
8.8K0
linux磁盘简介
RAID、LVM、LVM操作实例详解
磁盘阵列(Redundant Arrays of Independent Disks,RAID),有"独立磁盘构成的具有冗余能力的阵列"之意。
用户8449980
2021/07/12
1.2K0
ZFS文件系统与Freenas介绍
ZFS文件系统的英文名称为Zettabyte File System,也叫动态文件系统(Dynamic File System),是第一个128位文件系统。最初是由Sun公司为Solaris 10操作系统开发的文件系统。作为OpenSolaris开源计划的一部分,ZFS于2005年11月发布,被Sun称为是终极文件系统,经历了 10 年的活跃开发。而最新的开发将全面开放,并重新命名为 OpenZFS。
DB之路
2021/04/30
5.4K0
图文并茂 RAID 技术全解 – RAID0、RAID1、RAID5、RAID100……
  RAID 技术相信大家都有接触过,尤其是服务器运维人员,RAID 概念很多,有时候会概念混淆。这篇文章为网络转载,写得相当不错,它对 RAID 技术的概念特征、基本原理、关键技术、各种等级和发展现状进行了全面的阐述,并为用户如何进行应用选择提供了基本原则,对于初学者应该有很大的帮助。
菲宇
2019/06/13
6.7K0
图文并茂 RAID 技术全解 – RAID0、RAID1、RAID5、RAID100……
如何在Ubuntu 18.04上使用mdadm创建RAID阵列
该mdadm实用程序可用于使用Linux的软件RAID功能创建和管理存储阵列。管理员可以非常灵活地协调各自的存储设备,并创建具有更高性能或冗余特性的逻辑存储设备。
所有的酒都不如你
2018/09/25
19.3K0
RAID技术详解:从基础到实战的存储指南
RAID(Redundant Array of Independent Disks)不是简单的磁盘堆叠,而是通过算法将多块物理硬盘虚拟化为逻辑存储单元的核心技术。其核心价值体现在:
Lethehong
2025/03/09
2960
RAID技术详解:从基础到实战的存储指南
磁盘RAID 笔记
RAID:独立磁盘冗余阵列(Redundant Array of Independent Disks),简称硬盘阵列。RAID是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来,形成一个硬盘组(逻辑硬盘)。将逻辑硬盘挂载给操作系统,在系统中读取到的是单块硬盘(即逻辑硬盘)而非多块硬盘(独立的物理磁盘)。RAID技术通过增加硬盘的数量增加了平均故障间隔时间(MTBF),从而提供比单个硬盘更高的存储性能和提供数据备份技术。
小石头
2022/11/30
6780
磁盘RAID 笔记
Raid0、 Raid1、 Raid5、 Raid10的原理、特点、性能区别[通俗易懂]
RAID ( Redundant Array of Independent Disks )即独立磁盘冗余阵列,简称为「磁盘阵列」,其实就是用多个独立的磁盘组成在一起形成一个大的磁盘系统,从而实现比单块磁盘更好的存储性能和更高的可靠性。
全栈程序员站长
2022/09/17
92.1K0
Raid0、 Raid1、 Raid5、 Raid10的原理、特点、性能区别[通俗易懂]
RAID磁盘阵列——扫盲篇
在单机时代,采用单块磁盘进行数据存储和读写的方式,由于寻址和读写的时间消耗,导致I/O性能非常低,且存储容量还会受到限制。
小忽悠
2018/11/29
1.4K0
磁盘配置
目前 CPU 的处理性能越来越强,目前单颗 CPU 已经可以达到 128 线程。CPu 高速计算,内存也有着较高的读写速度,但与此同时,硬盘设备的性能提升却不是很大,逐渐成为计算机整体性能的瓶颈。并且生物数据往往都比较大,动辄就达到数 Tb 的数据。由于硬盘设备需要进行持续、频繁、大量的 IO 操作,相较于其他设备,其损坏机率也大幅增加,导致重要数据丢失的机率也随之增加。因此,服务器的磁盘配置非常重要。
生信喵实验柴
2022/10/25
1K0
磁盘配置
如何在Ubuntu 16.04上使用mdadm管理RAID阵列
通过将各个磁盘组合到特定配置的虚拟存储设备中,RAID阵列可提供更高的性能和冗余。在Linux中,该mdadm实用程序可以轻松创建和管理软件RAID阵列。
GeekZ
2018/10/19
4.7K0
相关推荐
用好了下一代文件系统 Btrfs 这些新特性,从此数据安全乐无忧!
更多 >
交个朋友
加入HAI高性能应用服务器交流群
探索HAI应用新境界 共享实践心得
加入架构与运维学习入门群
系统架构设计入门 运维体系构建指南
加入架构与运维工作实战群
高并发系统设计 运维自动化实践
换一批
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档