zoukankan      html  css  js  c++  java
  • 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,查看文件系统类型
  • 相关阅读:
    JSP,TOMCAT,JD,mysql环境搭建和连接数据库
    jsp基础学习记录
    将d盘根目录下的troydll.dll插入到ID为4000的进程中
    WebSocket内部原理
    基于流(Comet Streaming)
    短轮询
    DjangoWebSocket
    01WebSocket是什么
    Python实现WebSocket
    WebSocket
  • 原文地址:https://www.cnblogs.com/jacky1982/p/7821410.html
Copyright © 2011-2022 走看看