Exa6 Dne

You might also like

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 30

EXA 6

Training
DNE
Tong Zhang
Agenda
• WHY DNE
• DNE HISTORY
• DNE1
• DNE2
• EXA 6 DNE3
• Summary
• Questions

© 2022 DDN Confidential


为什么使用 DNE
Nov - 2022
为什么使用
DNE

Distributed Namespace Environment (DNE) 允许在单一命名空间中使用多个 MDT ,以


达到以下目的:
• 突破单一 MDT 的存储容量限制(基于 inode size 设定,单一 MDT 存在容量上的瓶颈)
• 扩展元数据性能( open,close,mkdir,getattr…. )

© 2022 DDN Confidential


DNE 发展历史
Nov - 2022
DNE 发展历史
• DNE1
• Remote Directories
• 特定的目录( home,project… )
• 手动配置,维护成本较高
• 国内当前部署最常用方案
• DNE2
• Striped Directories
• 大规模应用存在风险(性能下降,
系统中断,数据丢失等)
• 避免多层级的 default layout 继承
• (带来的新问题可能比解决的问题
更多)
• DNE3
• 利用 default layout 实现自动均衡
( lmv_max_inherit_rr
和 lmv_max_inherit )
• lmv.*qos_threshold_rr
© 2022 DDN Confidential
Distributed Namespace Environment (DNE)
DNE1 VS DNE2

DNE1 DNE2
Supports remote directories Directories may be striped across multiple
and multiple metadata targets metadata targets

Each directory exists fully on a single MDT Root directory always on MDT0

/ /

/foo /bar /baz /foo /bar /baz

/qux /qux

MDT1
MDT1

MDT2
MDT1

MDT0
MDT2
MDT0

MDT2
MDT0
MDT0 MDT1 MDT2

© 2022 DDN Confidential


NEW: Automatic MDT Directory Space Balancing
EXA6 supports seamless balancing of space usage for multiple MDTs

Client Applications

EXA6 creates new subdirectories on MDTs with more

mkdir()
mkdir
Balancing new directories
ROOT free inodes/space automatically (if needed) to balance
across MDTs is critical to
MDT utilization and Directory MDT usage without user input or migration
metadata performance
Subdirectories created on same MDT as parent if they
MDT0000
are reasonably well balanced
subdir1 subdir2 Easier MDT management for both Admins AND Users

MDT0002 MDT0003

© 2022 DDN Confidential


DNE1
Nov - 2022
DNE1: Remote Directories
需要进行手动配置 (lfs mkdir/lfs setdirstripe) 以及后续维护 (lfs migrate)

• This offloads subdirectories from the primary MDT MDT0


• Improves MDT space balance with Default Remote
Directory Layouts parent

• Provides subdirectories for specific users, projects, or MDT1

large datasets. /child


dir-1
• Scales metadata capacity.
d1

/child
dir-2

© 2022 DDN Confidential


DNE1: Remote Directories
Practice for remote directories

• Create a remote directory • Default remote directory layout

© 2022 DDN Confidential


DNE1: IDEA CASE
MDTs inode usage get widely unbalanced after just two months

MDT0001 inode capacity is almost full

© 2022 DDN Confidential


DNE2
Nov - 2022
DNE2: Distributed Directories
需要进行手动配置 (lfs mkdir/lfs setdirstripe) 以及后续维护 (lfs migrate)

• Striped directories are subdirectories split across MDT0 MDT1 MDT2 MDT3

multiple secondary MDTs to distribute metadata


entries. Striped Directory
• Create striped directories for directories at the top-
level of the file system or for very large directories f1
/child
f2
/child
f3 f0
dir-1 dir-2
that may have millions of files created directly in
them.
• Stripe index for file determined by hash of name
• NOTES:
• Do NOT set striped directories as the default directory
layout for top- or mid-level directories with a large
number of subdirectories in them.
• Excessive striped directory creation leads to
performance loss, overflow of internal file system data
structures, system timeouts or outages, and potential
data loss
© 2022 DDN Confidential
DNE2: Distributed Directories
Practice for remote directories

• For directories • For files

© 2022 DDN Confidential


DNE3
Nov - 2022
DNE3: Auto Balance Directories
DNE3 和 DNE1&DNE2 对比:不再需要手动配置,以及节省后续维护成本

EXA5(DNE1&DNE2) 需要手动进行配置 (lfs setdirstripe/ lfs setdirstripe -D)


• 如配置不当容易造成 MDT 不均衡
• 容易造成较大的后期运维负担,如重新配置 DNE 或 lfs migrate
• 难以形成最优的 mdt 配置,通常只能在顶层目录如 home/project 等目录进行配置,在复杂的工
作流中难以灵活运用
• 不当的 distributed directory 会造成更多更复杂的问题,得不偿失

EXA6(DNE3) 新建目录时自动实现 MDT 均衡


• 在 EXA6 上缺省配置

• 在 MDT free space 均衡的情况下,前三级目录会采用 round-robin 方式创建目录


• 更深层的目录会采用均衡的方式创建目录

• 禁用 Auto Balance Directory


client# lfs setdirstripe -D -c 1 -i 0 --max-inherit=1 /<mountpoint>

© 2022 DDN Confidential


DNE3: Auto Balance Directories
DNE3 的实现方式

lfs setdirstripe 和 lfs setdirstripe -D


• lfs setdirstripe 设置目录的条带规则,只对当前目录有效

• lfs setdirstripe -D 设置目录的 default layout ,对子目录生效,可结合 -max-inherit 以及 -max_inherit_rr 来设置生效的目录层级

文件系统根目录上的缺省 Layout

• “lmv_stripe_count : 1” 和“ lmv_stripe_offset: -1” : 这两个参数组合,等同于启用了目录的自动均衡功能


• lmv_stripe_count : 该目录在几个 MDT 上进行条带化
• lmv_stripe_offset: 目录下新建的子目录使用起始 MDT index
• “lmv_max_inherit: -1”: 此默认目录布局将被文件系统中所有子目录继承
• lmv_max_inherit: 目录默认布局在子目录上继承的层级
• “lmv_max_inherit_rr: 3”: 在文件系统根目录以下的三层目录创建子目录时采用 round-robin 规则
文件系统的 lmv.*.qos_threshold_rr

© 2022 DDN Confidential


DNE3: Auto Balance Directories
Practice for RoundRobin
• 删除文件系统中所有文件

• 编写新建目录脚本如下:

• 查看新建的目录在 MDT 上的分布情况

© 2022 DDN Confidential


DNE3: Auto Balance Directories
Practice for RoundRobin
• 逐级检查目录的 default layout

• 创建第四级目录, mdt 仍是完全 round-robin 创建:

• 创建第五级目录,不再遵循 round-robin 规则:

• 第五级目录的 mdt 为其父目录 (depth4_1) 所在的 mdt


• rr 策略的继承层级参数主要是参考大多数工作流中 /mnt/testfs/home/<user>/<subdir> 或者 /mnt/testfs/project/
<project>/<subdir> 的目录树设计方式
© 2022 DDN Confidential
DNE3: Auto Balance Directories
Practice for RoundRobin
• rr 仅对目录有效,对文件无效(相比于 striped directory 同时对文件和目录生效)

© 2022 DDN Confidential


DNE3: Auto Balance Directories
Practice for auto balancing
• 经过 rr 测试,在第四级目录新建的子目录会继承父目录所在的 MDT 而非 round-robin
• 对于 rr 不再继承的目录层级,新建目录的 MDT 会遵循 auto balance 的规则
• 目录 default layout

• lmv.*.qos_threshold_rr

• 只有当 MDT 之间空闲空间的不均衡比例达到 5% 时,新建目录才会进行 balancing :


• free_inode 和 free_bytes 都会纳入计算

• 在第四级目录下新建海量子目录,同时观察 MDT 均衡状态

© 2022 DDN Confidential


DNE3: Auto Balance Directories
Practice for auto balancing
• 在测试初期,新建子目录持续创建在其父目录的 MDT 上

• 在测试过程中发现, remote mdt 的 mkdir 效率远低于 local mdt


• 生产环境中的工作流一般不会出现百万级别 mkdir 操作的场景 ( 除了进行 mdtest mkdir 测试 ) ,无需过于关注

© 2022 DDN Confidential


DNE3: Auto Balance Directories
Practice for auto balancing
• 直到新建子目录数量已经达到百万级别, free inode 不均衡度仍然没有达到临界值,但 free bytes 不均衡度已
经达到临界值

© 2022 DDN Confidential


总结
Nov - 2022
总结
• DNE1 和 DNE2 从设计思路上先天劣于 DNE3
o 手动配置带来的方案设计工作量以及后期维护工作量
• DNE2(striped directory) 的使用需要谨慎评估,且一定避免大规
模使用或多层级继承 default layout 使用
• 最优的方案应当是文件系统全局 auto balance 结合特定目录的
striped directory 使用,前提是相关功能没有其他 bug
• 当下 multiple mdts 已经成为趋势,特别是在多台 AI400/AI400X2
组成的文件系统中,我们应考虑使用 DNE3 (在充分了解
DNE3 目前存在哪些问题的前提下)

© 2022 DDN Confidential


问题
Nov - 2022
问题
• Remote directories, striped directories 以及 auto balance directories 各自元数据性能对比?
• 在 auto balance directories 中, round-robin 和 auto balance 的生效顺序?
o 在 mdt 不再均衡的情况下,前三级目录是否仍然遵循绝对的轮询?

• DNE3(auto balance directory) 当前存在哪些问题?( bug 或性能衰减)

© 2022 DDN Confidential


Additional Tests

© 2022 DDN Confidential


Thanks for
your time
Q&A

You might also like