• btrfs文件系统管理与应用


    技术预览版

    b-tree FS, butter FS, better FS

    GPL授权

    由Oracle在2007年前后开始研发,CoW

    核心特性:

    • 多物理卷支持:btrfs可由多个底层物理卷组成;支持RAID,以联机“添加”,“移除”,“修改”
    • 写时复制更新机制(CoW):复制,更新及替换指针,而非“就地”更新

    • 数据及元数据校验码:checksum
    • 子卷:sub_volume
    • 快照:支持快照的快照(增量快照)
    • 透明压缩

    文件系统创建:

    • mkfs.btrfs
      • -L 'LABEL'
      • -d <type>: RAID0, RAID1, RAID5, RAID6, RAID10, single
      • -m <profile>:RAID0, RAID1, RAID5, RAID6, RAID10, single, dup
      • -O <feature>
        • -O list-all:列出支持的所有feature
    • 创建b-tree文件系统: 
      • fdisk -l:查看磁盘情况
      • mkfs.btrfs -L mydata /dev/sdb /dev/sdc,在sdb和sdc上创建一个btrfs文件系统(多卷支持)
      • btrfs filesystem show:检查是否创建成功,也可以使用blkid /dev/sdb或者blkid /dev/sdc查看

    btrfs子命令:filesystem,device,balance,subvolume

    属性查看:

    • btrfs filesystem show

    挂载文件系统

    • mount -t btrfs /dev/sdb mount_point(挂载哪个卷都行,最后都是一样的)

    透明压缩机制

    • mount -o compress={lzo | zlib} DEVICE MOUNT_POINT

    调整大小

    • btrfs filesystem resize -10G /mydata
    • btrfs filesystem resize max /mydata,调整为最大

    添加一个设备

    • btrfs device add /dev/sdd /mydata

    往新添加的设备里移动一些数据(数据平衡)

    • btrfs balance start /mydata
      • pause
      • resume
      • cancel
      • status

    删除一个设备

    • btrfs device delete /dev/sdd /mydata

    改变RAID级别

    • btrfs balance start -mconvert=raid5 /mydata,注意:RAID5必须要有三个设备

    创建子卷

    • btrfs subvolume create /mydata/logs

    列出子卷

    • btrfs subvolume list /mydata

    子卷挂载

    • mount -o subvol=logs /dev/sdb /mnt
    • mount -o subvolid=ID /dev/sdb /mnt

    显示子卷详细信息

    • btrfs subvolume show /mnt

    注:挂载父卷时,子卷也会自动挂载上来,可以通过路径访问;如果单独挂载子卷,父卷的内容无法访问

    删除子卷

    • btrfs subvolume delete /mydata/logs

    创建子卷快照

    • btrfs subvolume snapshot /mydata/logs /mydata/logs_snapshot
    • 注:子卷快照必须与子卷放在同一个父卷上;同样,快照卷必须与原卷放在同一个卷组上
    • 删除快照卷和删除子卷是一样的方法

    在btrfs文件系统中可以对某个文件创建快照

    • cp --reflink grub2.cfg grub2.cfg_snap

    ext文件系统转换为btrfs文件系统

    • umount /mnt,联机操作比较危险,所以要先卸载
    • fsck -f /dev/sdd1,强制检测
    • btrfs-convert /dev/sdd1
    • mount /dev/sdd1 /mnt,挂载使用
    • umount /mnt,卸载
    • btrfs-convert -r /dev/sdd1,回滚回ext系统
    • blkid /dev/sdd1,查看文件系统类型
  • 相关阅读:
    测试人生 | 年薪50w+ 并入职名企大厂,这是双非学历小哥哥给自己30岁的礼物
    测试人生 | 年薪超过40W,一位测试媛宝妈的 BAT 大厂逆袭之旅
    测试人生 | 折腾 6 年踩坑无数的”笨小孩“:方向对了,路就不会遥远!
    mongodb 数据块的迁移流程介绍
    Makefile基础知识
    IMX6ULL基本环境搭建
    VmWare虚拟机和主机配置为同一网段IP
    探索Django验证码功能的实现 DjangoStarter项目模板里的封装
    DjangoRestFramework框架三种分页功能的实现 在DjangoStarter项目模板中封装
    基于.NetCore开发博客项目 StarBlog (3) 模型设计
  • 原文地址:https://www.cnblogs.com/jacky1982/p/7821410.html
Copyright © 2020-2023  润新知