btrfs文件系统——更加高级的文件系统

Btrfs 文件系统:

Btrfs ( B-tree ,Butter FS ,Better FS )

GPL ,Oracle公司在2007年研发,支持CoW(对文件快照),为了取代ext3,ext4,xfs

核心特点:

         多物理卷支持:btrfs可由多个底层物理卷组成,支持RAID,以及联机“添加”、“移除”,“修改”

         写时复制更新机制(CoW) :复制、更新及替换指针,而非“就地”更新

         数据及元数据校验码:checksum

         子卷:sub_volume

         快照:支持快照的快照

         透明压缩

文件系统的创建:

mkfs.btrfs

         -L 'LABEL':设定卷标

         -d <type>:数据块组成type:raid0, raid1, raid5, raid6, raid10, single

         -m <profile>:元数据块组成type:raid0, raid1, raid5, raid6, raid10, single, dup

         -O <feature>

         -O list-all:  列出支持的所有feature

例如:mkfs.btrfs -L mybtr /dev/sd{b,c,d}

    把3块磁盘创建为一个btrfs系统

属性查看(filesystem):

btrfs filesystem show

    查看btrfs分区信息

btrfs filesytem df /挂载点

    显示分区使用情况

btrfs filesystem resize <+|->#[MG] /挂载点

    增加或减少挂载点多少空间

btrfs filesystem resize max /挂载点

    增加全部空间至挂载点

挂载文件系统:

mount -t btrfs /dev/DEVICE MOUNT_POINT

    /dev/DEVICE;可为btrfs中任意一块磁盘

扩展空间(向已存在的btrfs系统增加空间)(device):

btrfs device add /dev/DEVICE /挂载点

    向挂载点增加一个磁盘空间

btrfs device delete /dev/DEVICE /挂载点

    把挂载点某个磁盘卸载

扩展空间后必须使用命令来平衡btrfs系统中数据存放

    btrfs balance start /挂载点

改变btrfs系统属性(balance):

btrfs banlance start MOUNT_POINT

    平衡btrfs系统中数据

btrfs banlance status MOUNT_POINT

    显示btrfs平衡数据过程(磁盘数据过少,不容易看到)

btrfs balance start -dconvert=single MOUNT_POINT

    修改btrfs文件系统的数据存放格式

btrfs balance start -mconvert=raid1 MOUNT_POINT

    修改btrfs文件系统的元数据存放格式

创建子卷和快照(subvolume):

btrfs subvolume list MOUNT_POINT

btrfs subvolume show MOUNT_POINT

    查看子卷ID等信息

btrfs subvolume create MOUNT_POINT/dir

    创建名为dir的子卷

挂载子卷的方式:

    mount -o subvol=dir /dev/sd# MOUNT_POINT<新挂载点>

        /dev/sd#:为btrfs文件系统中的任意一个磁盘都可

btrfs subvolume delete MOUNT_POINT/dir

    删除子卷


mount /dev/sdb /mydata  挂父卷,子卷自动挂载

btrfs subvolume snapshot MOUNT_POINT MOUNT_POINT/snapshot_dir

    创建父卷或子卷的快照

btrfs subvolume delete MOUNT_POINT/snapshot_dir

    删除快照

透明压缩机制:

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

如何升级为btrfs文件系统:

btrfs-convert /dev/DEVICE

    升级为btrfs文件系统

btrfs-convert -r /dev/DEVICE

    降级成原来的系统

原创文章,作者:megedugao,如若转载,请注明出处:http://www.178linux.com/42438

(0)
megedugaomegedugao
上一篇 2016-08-31
下一篇 2016-08-31

相关推荐

  • oracle6.7使用udev作为asm

    1、需求 oracle6.7使用udev作为asm /dev/sdb <–> /dev/asm-diskb /dev/sdc <–> /dev/asm-diskc /dev/sdd <–> /dev/asm-diskd /dev/sde <–> /dev/asm-…

    Linux干货 2016-07-29
  • shell编程数组及源码安装作业

    写一个脚本,定一个数组,数组中的元素是/var/log目录下所有以.log结尾的文件,要统计其下标为偶数的文件中的行数之和 [root@localhost sh.log]# cat declaresum.sh  #!/bin/bash #author:DYW #写一个脚本,定一个数组,数组中的元素是/var/log目录…

    Linux干货 2016-08-29
  • find命令用法及示例

    文件查找 locate,find可是实现在文件系统上查找符合条件的文件 实现工具:locate,find locate有几下几个特性 1、依赖于事先构建好的索引库; 2、系统自动实现;(周期性任务) 3、手动更新数据库(updatedb) /var/lib/mlocate/mlocate.db 工作特性: 查找速度快; 模糊查找; 非实时查找 lo…

    Linux干货 2016-08-18
  • 网络接口配置bonding

    Bonding 就是将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。当然,直接给两块网卡设置同一IP地址是不可能的。通过bonding,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC地址。 Bonding的工作模式 Mode 0 (balance-rr)     轮转(…

    Linux干货 2016-09-09
  • PHP高效率写法(详解原因)

    1.尽量静态化:    如果一个方法能被静态,那就声明它为静态的,速度可提高1/4,甚至我测试的时候,这个提高了近三倍。   当然了,这个测试方法需要在十万级以上次执行,效果才明显。   其实静态方法和非静态方法的效率主要区别在内存:静态方法在程序开始时生成内存,实例方法在程序运行中生成内存,所以静…

    Linux干货 2015-05-28
  • 磁盘配额

        磁盘配额可以限制指定账户能够使用的磁盘空间,这样可以避免因某个用户的过度使用磁盘空间造成其他用户无法正常工作甚至影响系统运行。在服务器管理中此功能非常重要,但对单机用户来说意义不大。 配置配额系统:     综述:     &nbs…

    Linux干货 2016-09-06

评论列表(1条)

  • 马哥教育
    马哥教育 2016-09-02 10:20

    文章思路清晰,整篇博客能让人看到很多专业性所在,还能看出很用心的地方,革命尚未成功,同志仍需努力啊,加油!