千家信息网

oracle中BTRFS文件系统管理的示例分析

发表于:2024-11-14 作者:千家信息网编辑
千家信息网最后更新 2024年11月14日,这篇文章将为大家详细讲解有关oracle中BTRFS文件系统管理的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。btrfs文件系统简介btrfs(通常念成B
千家信息网最后更新 2024年11月14日oracle中BTRFS文件系统管理的示例分析

这篇文章将为大家详细讲解有关oracle中BTRFS文件系统管理的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

btrfs文件系统

简介

btrfs(通常念成Butter FS),该文件系统为了满足大型存储子系统的可伸缩性需求扩张。是由Oracle于2007年宣布并进行中的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中BTRFS文件系统管理的示例分析"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

0