Oracle ACFS 文件系统配置详解
Oracle ACFS 文件系统配置详解
适用版本:Oracle Database 11g R2 / 12c / 19c / 23ai 文档版本:v1.0 / 2026-07
1. 概述
ACFS(ASM Cluster File System)是 ASM 文件系统[1]:
用途:
- 文件系统
- 共享存储
- 跨平台
- 集群
详细见:Oracle ASM 详解。
2. ACFS 特性
2.1 优势
- 集群共享
- 在线扩展
- 快照
- 加密
- 标签
- 复制
2.2 限制
- 不支持 OCR/Voting
- 不支持 Oracle 数据文件
- 部分平台
3. ADVM
3.1 ADVM Volume
- ACFS 基于 ADVM
- ASM Dynamic Volume Manager
- 卷设备
3.2 流程
ASM Disk Group → ADVM Volume → ACFS File System
4. 配置
4.1 启用 ADVM/ACFS
# root
$GI_HOME/bin/acfsroot enable
$GI_HOME/bin/acfsroot install
$GI_HOME/bin/acfsroot load
# 验证
$GI_HOME/bin/acfsdriverstate supported
$GI_HOME/bin/acfsdriverstate installed
$GI_HOME/bin/acfsdriverstate loaded
4.2 GI 启动自动加载
# oracleacfs / oracleadvm 模块自动加载
lsmod | grep oracle
5. 创建 Disk Group
5.1 ASMCA
asmca -silent -createDiskGroup \
-diskGroupName ACFS \
-diskList /dev/oracleasm/disks/ACFS \
-redundancy EXTERNAL \
-au_size 4
5.2 兼容属性
ALTER DISKGROUP ACFS SET ATTRIBUTE 'compatible.advm' = '19.0.0.0';
ALTER DISKGROUP ACFS SET ATTRIBUTE 'compatible.asm' = '19.0.0.0';
6. 创建 Volume
6.1 ASMCMD
asmcmd volcreate -G ACFS -s 50G acfsvol1
asmcmd volinfo -G ACFS acfsvol1
6.2 SQL
ALTER DISKGROUP ACFS ADD VOLUME acfsvol1 SIZE 50G;
SELECT volume_name, volume_device, size_mb FROM v$asm_volume;
-- /dev/asm/acfsvol1-123
7. 创建 ACFS
7.1 mkfs
mkfs -t acfs /dev/asm/acfsvol1-123
7.2 挂载
mkdir /acfs
mount -t acfs /dev/asm/acfsvol1-123 /acfs
# 验证
df -h /acfs
7.3 fstab
/dev/asm/acfsvol1-123 /acfs acfs defaults 0 0
8. ACFS 注册
8.1 注册(自动挂载)
acfsutil registry -a /dev/asm/acfsvol1-123 /acfs
# 查看
acfsutil registry
8.2 取消注册
acfsutil registry -r /acfs
9. 管理
9.1 扩展
acfsutil size +10G /acfs
9.2 缩小
acfsutil size -5G /acfs
9.3 信息
acfsutil info fs /acfs
acfsutil info file /acfs/test.txt
10. 快照
10.1 创建
acfsutil snap create snap1 /acfs
10.2 查看
acfsutil snap info /acfs
ls /acfs/.ACFS/snaps/snap1
10.3 删除
acfsutil snap delete snap1 /acfs
10.4 恢复
# 从快照复制
cp /acfs/.ACFS/snaps/snap1/file /acfs/file
11. 加密
11.1 启用
acfsutil encr init
acfsutil encr set -k AES256 /acfs
acfsutil encr on /acfs
11.2 钱包
acfsutil encr wallet create
acfsutil encr wallet mount
11.3 状态
acfsutil encr info /acfs
12. 标签
12.1 添加
acfsutil tag set tag_name -f /acfs/file.txt
12.2 查询
acfsutil tag info /acfs/file.txt
12.3 搜索
find /acfs -xattr -user.acfs.* tag_name -print
13. 复制
13.1 ACFS Replication
acfsutil repl init primary ...
acfsutil repl init standby ...
14. 备份
14.1 备份
acfsutil backup create tag backup1 /acfs
14.2 恢复
acfsutil restore ...
详细见:Oracle 备份策略与最佳实践。
15. RAC 集群
15.1 集群挂载
# 所有节点
srvctl add filesystem \
-device /dev/asm/acfsvol1-123 \
-path /acfs \
-volume acfsvol1 \
-diskgroup ACFS \
-user oracle
srvctl start filesystem -device /dev/asm/acfsvol1-123
15.2 验证
srvctl config filesystem -device /dev/asm/acfsvol1-123
16. 应用场景
16.1 文件存储
- 应用文件
- 日志
- 上传
16.2 共享
- 多节点共享
- 软件库
- 配置
16.3 备份
- 快照
- 备份文件
- 归档
17. 性能
17.1 缓存
- OS Page Cache
- ACFS Buffer
17.2 调优
# 块大小
acfsutil tune SetAcfsCache ...
18. 常见坑与排错
18.1 模块未加载
acfsroot load
lsmod | grep oracle
18.2 挂载失败
acfsutil info fs
mount -v -t acfs ...
18.3 Volume 不可见
ALTER DISKGROUP ACFS RESIZE VOLUME acfsvol1 SIZE 50G;
19. 最佳实践
- ADVM/ACFS 启用:基础
- 兼容属性:设置
- 注册:自动挂载
- 快照:保护
- 加密:安全
- RAC srvctl:集群
- 扩展方便:在线
- 不存数据文件:限制
- 监控:空间
- 文档化:配置
20. 参考资料
[1] Oracle Automatic Storage Management Administrator’s Guide 19c, “Oracle ACFS” https://docs.oracle.com/en/database/oracle/oracle-database/19/ostmg/