高级文件文件系统管理之btrfs系统

一.概述

btrfs文件系统:

    技术预览版

    btrfs (B-tree,Butter FS,Better FS),GPL,Oracle,2007,CoW

    ext3/ext4,xfs

核心特性:

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

    写时复制更新机制(CoW):复制、更新及替换指针,而非“就地”更新;(修改一个文件,会首先复制文件,然后在修改复制之后的文件,保护源文件,以防修改出错)

    数据及元数据校验码:checksum (保证文件的可靠性)

    子卷:sub_volume

    快照:支持快照的快照;(能实现增量快照机制)

    透明压缩;(节约空间)

btrfs文件系统的使用:

    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;

属性查看:

    btrfs filesystem show

挂载文件系统:

    mount -t btrfs /dev/sdb MOUNT_POINT

透明压缩机制:

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

首先我们创建一个40G的btrfs文件系统.成员为/dev/sdd和/dev/sde

-f 是强制覆盖源磁盘的文件系统

blob.png

我们可以使用命令 btrfs filesystem show 来查看所有的btrfs文件系统的属性

blob.png

btrfs filesystem show –mounted  显示已挂载btrfs文件系统的属性

btrfs filesystem show all-devices 显示所有btrfs文件系统的属性

现在我们来挂载btrfs文件系统到目录

blob.png

mydate的btrfs文件系统包含/dev/sdd和sde,所以这边可以随便写哪个硬盘设备都等同于mydate的btrfs文件系统

实现透明压缩文件机制:

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

blob.png

compress是选择一个压缩加密方式.

现在我们还可以自由调整文件系统的大小.

man btrfs

btrfs filesystem resize -10G /mydata  减少10G

blob.png

blob.png

btrfs filesystem resize +5G /mydata    增加5G

blob.png

btrfs filesystem resize max /mydata    增加空间到最大

blob.png

查看

df–lh; btrfsfilesytemdf/mydata

blob.png

添加设备:man btrfs-device

btrfs device add /dev/sdd /mydata

blob.png

btrfs filesystem show mydata;df

blob.png

平衡数据:

man btrfs-banlance

btrfs banlance status /mydata

blob.png

btrfs banlance start /mydata

blob.png

btrfs banlance pause /mydata

btrfs banlance cancel /mydata

btrfs banlance resume /mydata

删除设备

btrfs device delete /dev/sdb /mydata

btrfs filesystem show

blob.png

修改raid级别:注意raid对成员数量的要求

btrfs balance start -mconvert=raid1|raid0|raid5 /mydata

btrfs balance start -dconvert=raid1|raid0|raid5 /mydata

blob.png

blob.png

子卷管理:

man btrfs-subvolume

btrfs subvolumelist /mydata 查看子卷ID等信息

btrfs subvolume create /mydata/subv1

umount /mydata

mount -o subvol=subv1 /dev/sdd /mnt/subv1

btrfs subvolume show /mnt/subv1

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

mount -o subvolid=### /dev/sdd/mnt/subv1

blob.png

创建了2个子卷

blob.png

将2个子卷挂载到目录上..

blob.png

 

        

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

(0)
KartikKartik
上一篇 2016-09-11 20:23
下一篇 2016-09-11 20:56

相关推荐

  • nginx负载均衡实验

    实验一、 实验环境:     1、一台director主机。并部署nginx服务。        内网iP:192.168.1.1  外网iP:10.1.64.1     2、一台后端服务器。并部署h…

    Linux干货 2016-10-30
  • OpenSSL

    加密和解密技术 本章内容: 安全机制 对称加密 不对称加密 散列算法 PKI和CA 相关知识: 1)传输层协议:        TCP(面向连接),UDP(面向无连接),SCTP(流控协议) 2)port(端口):传输层协议都会提供端口,        端口(port)是标记进程…

    Linux干货 2016-09-29
  • MAN 手册各章节功能介绍及快捷键键位整理

    MAN 手册各章节功能介绍及快捷键键位整理   Linux提供了丰富的帮助手册,当你需要查看某个命令的参数时不必到处上网查找,只要man一下即可。  1、Linux 的man手册共有以下几个章节:         1章节:用户命令     …

    Linux干货 2016-10-19
  • 网络文件系统–NFS

        网络文件系统(英语:Network File System,缩写为NFS)是一种分布式文件系统协议,最初由Sun Microsystems公司开发,并于1984年发布。其功能旨在允许客户端主机可以像访问本地存储一样通过网络访问服务器端文件。     NFS和其他许多协议一…

    Linux干货 2017-08-14
  • Centos 编译内核操作实践

    §·编译内核: ※·程序包的编译安装: ./configure   make   make install 前提:开发环境(开发工具,开发库),头文件(/usr/include)  开源: 源代码开发—->可执行格式,(不同Linux的发行版以自己的理解,发行的软件不同) 发行版:以“通用”…

    Linux干货 2016-09-13
  • Python 数据结构

    python 内置数据结构python 内置数据结构数字的处理函数: round() 五舍六入       2.5  2     2.6    3 floor() 向下取整       2.5  2     2.6    2 ceil() 向上取整       2.5  3     2.6    3 min() 取最小的       1,2,3      1…

    Linux干货 2017-09-23