BTRFS文件系统管理

btrfs文件系统

简介

btrfs(通常念成Butter FS),该文件系统为了满足大型存储子系统的可伸缩性需求扩张。是由Oracle2007年宣布并进行中的copy-on-write文件系统,目标是取代linux目前的ext3/4文件系统的缺陷。

特点:

    创建可读可写的快照,可以回滚到文件系统之前状态.

    支持ext3/4无缝升级到btrfs,降级回到ext3/4

    ●支持数据完整性校验功能

    使用透明的压缩技术可以节约磁盘空间

    ●使用碎片整理提高性能

    ●支持riad0,raid1,raid5,raid10等磁盘阵列

btrfs不支持swap

创建

          可以使用mkfs或者btrfs自带的命令集来部署一块或多块一个设备

常用命令

命令

功能

mkfs.btrfs block_device

创建单个btrfs文件系统;例如

mkfs.btrfs  /dev/sdb1

mkfs.btrfs -L label block_device

创建卷标签,可以使用label来挂载文件系统

mkfs.btrfs -L  myvolume /dev/sdb2

mkfs.btrfs -m single block_device

在一块设备上创建一个btrfs文件系统,但不复制元数据;例如

mkfs.btrfs -m  single /dev/sdc

mkfs.btrfs block_device1 block_device2 ...

元数据保存在多块设备上;

mkfs.btrfs  /dev/sdd /dev/sde

mkfs.btrfs

-m raid0 block_device1 block_device2 ...

条带化数据保存在多块设备(raid0)

mkfs.btrfs -m raid0  /dev/sdd /dev/sde

mkfs.btrfs

-d raid1 block_device1 block_device2

镜像数据在相关的设备(raid1)

mkfs.btrfs -d  raid1 /dev/sdd /dev/sde

mkfs.btrfs -d   raid10 -m

raid10 block_device1block_device2 block_device3 block_device4

创建raid10,至少四块设备

mkfs.btrfs -d raid10 -m raid10 /dev/sdf  \

/dev/sdg /dev/sdh /dev/sdi /dev/sdj  /dev/sdk

 

 

# mkfs.btrfs -m single /dev/sdb      /*创建

Btrfs v3.16.2

See  http://btrfs.wiki.kernel.org for more information.

 

Turning ON  incompat feature 'extref': increased hardlink limit per file to 65536

fs created label  (null) on /dev/sdb

        nodesize 16384 leafsize 16384  sectorsize 4096 size 20.00GiB

# mount /dev/sdb  /my-btrfs-mountpoint    /*挂载,挂载目录是先存在。

 # echo "UUID='b7175cc5-2b21-4c73-827f-791d00e77658  ' /my-btrfs-mountpoint btrfs defaults 0 0" >>/etc/fstab     //开机自动挂载

查看btrfs相关信息

btrfs filesystem df 查看比linux自带的df命令比较准确。

# btrfs  filesystem df /my-btrfs-mountpoint

Data, single: total=8.00MiB,  used=64.00KiB

System, single: total=4.00MiB,  used=16.00KiB

Metadata, single: total=264.00MiB, used=112.00KiB

GlobalReserve, single: total=16.00MiB,  used=0.00

显示所有的btrfs文件系统信息

# btrfs  filesystem show

Label: none  uuid: a0518a90-7c44-497b-8d57-1c40af672fab

         Total  devices 1 FS bytes used 192.00KiB

         devid    1 size 20.00GiB used 276.00MiB path  /dev/sdb

 

Btrfs v3.16.2

 

 

扩容或者缩减

常用命令

btrfs  device add devicemountpoint

扩容:添加一块新的设备

btrfs  device add /dev/sdd /my-btrfs-mountpoint

btrfs  device delete device

删除:删除一块现有设备(删前要做好数据容量规划)

btrfs  device delete /dev/sdd /my-btrfs-mountpoint

btrfs  filesystem balance mountpoint

在新添加设备或者移除设备后,刷新文件系统使数据重新分配到可用的设备上。

 

压缩以提高I/O性能

#btrfs  filesystem defragment /my-btrfs-mountpoint      /*整理文件系统

# btrfs filesystem   autodefrag  /my-btrfs-mountpoint     /*大型数据库不建议使用

 

调整文件系统大小

# btrfs filesystem resize +2g  /my-btrfs-mountpoint    /*添加2G空间

Resize '/my-btrfs-mountpoint' of '+2g'

# btrfs filesystem resize -2g  /my-btrfs-mountpoint    /*减少2G空间

Resize '/my-btrfs-mountpoint' of '-2g'

# btrfs filesystem resize 20g  /my-btrfs-mountpoint   /*设置空间大小为20G

Resize '/my-btrfs-mountpoint' of '20g'

 

 

创建快照

#快照必须在其子文件系统目录下

# btrfs subvolume snapshot /my-btrfs-mountpoint/  /my-btrfs-mountpoint/snapshot1   /*创建快照

Create a snapshot of  '/my-btrfs-mountpoint/' in '/my-btrfs-mountpoint/snapshot1'

# btrfs subvolume list  /my-btrfs-mountpoint   /*查看快照

ID 257 gen 12 top level 5 path snapshot1

# btrfs subvolume  delete /my-btrfs-mountpoint/snapshot1    /*删除快照

Transaction  commit: none (default)

Delete  subvolume '/my-btrfs-mountpoint/snapshot1'

替换坏的设备

# btrfs replace start  /dev/sdc  /dev/sde  -r  /my-btrfs-mountpoint    /*/dev/sdc已经有故障的设备,/dev/sde新设备 /my-btrfs-mountpoint文件系统挂载点

 

# btrfs replace status -1  /my-btrfs-mountpoint   /*查看更换后的状态

Started on 29.Aug 14:49:22, finished on  29.Aug 14:49:22, 0 write errs, 0 uncorr. read errs

 

 

 


你可能感兴趣的:(oracle,linux,技术,标签,命令集)