高级文件文件系统管理之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

相关推荐

  • 系统自动化安装

    本章内容 系统安装过程配置anaconda自动化安装系统 安装程序 CentOS系统安装 系统启动流程: bootloader–>kernel(initramfs)–>rootfs–>/sbin/init anaconda: 系统安装程序 tui: 基于图形库curses的文本窗口 gui:图形窗口 安装程序启动过程 MBR…

    Linux干货 2016-09-19
  • 进程查看及管理

        在Linux系统中,触发任意一个事件时,系统都会将它定义为一个进程,并且给予这个进程一个ID,称为PID,同时依据触发这个进程与用户相关的属性关系,给予这个PID一组有效的权限设置。 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。…

    Linux干货 2016-11-27
  • linux 生产常用命令

    hostname 显示当前的主机名pwd 显示当前工作的目录wwhowhoami显示当前用户及已建立的ssh链接useradd 新建一个普通用户passwd 修改用户的密码which 查看系统命令所对应的路径type 查询命令是否属于内部命令或者外部命令hash 哈希 把一个命令一个文本通过某种算法生产一串字符df 查看系统分区hash -l 加快命令查询执…

    Linux干货 2017-03-28
  • 马哥教育网络班22期+第6周课程练习

    请详细总结vim编辑器的使用并完成以下练习题 1、vi的基本概念 基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下: 1) 命令行模式command mode) 控制屏幕光标的移…

    Linux干货 2016-09-26
  • 第九周作业

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别统计这两类用户的个数;通过字符串比较来实现;    #!/bin/bash     echo "可登录类型有有$(awk -F: '/[^\<nologin\&gt…

    Linux干货 2017-02-07
  • 马哥教育网络21期+第十二周练习博客中

    4、建立httpd服务器(基于编译的方式进行),要求:  提供两个基于名称的虚拟主机: (a)www1.stuX.com,页面文件目录为/web/vhosts/www1;错误日志为/var/log/httpd/www1.err,访问日志为/var/log/httpd/www1.access; (b)www2.stuX.com,页面文件目录为/web…

    Linux干货 2016-10-17