共计 3325 个字符,预计需要花费 9 分钟才能阅读完成。
这篇文章将为大家详细讲解有关 oracle 中 BTRFS 文件系统管理的示例分析,丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
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 文件系统管理的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。