MDS的硬件要求

MDS性能的另一个方面是可用于缓存的RAM。MDS必须管理所有客户端和其他活动MDS之间的分布式协作元数据缓存。因此,必须为MDS提供足够的RAM,以实现更快的元数据访问和变异。默认的MDS缓存大小(另请参阅了解MDS缓存大小限制)为4GB。建议为MDS提供至少8GB的RAM,以支持此缓存大小。

通常,为大型客户端群集(1000个或更多)服务的MDS将使用至少64GB的缓存。

MDS冷备or热备

冷备:默认配置下,除active mds外其余MDS均处于standby状态,除了保持和mon的心跳,其他什么都不做,cache为空,无rank。

热备:配置allow_standby_replay为true,每个active mds都会有一个专属standby-replay mds在follow,持有和active mds相同的rank id,不断从rados中读取journal加载到cache中以尽可能和actvie mds保持同步。

显然在热备状态下会有一个standby-replay的mds一直在更新cache,这样在切换发生时其切换流程会更快。
配置命令为:

语法:
ceph fs set <fs name> allow_standby_replay <bool>     #<bool>的值可以设置为0false1true
不启用 Standby MDS

ceph fs set standby_count_wanted 0

查看mds的状态
[ceph@ceph06 ~]$ ceph mds stat
cephfs:1 {0=ceph02=up:active} 1 up:standby-replay
手动标记mds的失败
#语法:
ceph mds fail 5446     # GID
ceph mds fail myhost   # Daemon name
ceph mds fail 0        # Unqualified rank
ceph mds fail 3:0      # FSCID and rank
ceph mds fail myfs:0   # File System name and rank

#举例:
[ceph@ceph06 ~]$ ceph mds fail ceph02
failed mds gid 165228
[ceph@ceph06 ~]$ ceph mds stat
cephfs:1 {0=ceph01=up:active} 1 up:standby
MDS配置

可参考文档:https://docs.ceph.com/docs/master/cephfs/mds-config-ref/#

MDS缓存大小限制:可在ceph.conf配置文件下添加 mds cache memory limit

查看Ceph FileSystem 状态
[ceph@ceph02 ceph]$ ceph fs status

到mds主机上查看:

[ceph@ceph02 ceph]$ ceph daemon mds.ceph02 config show|grep mds_cache
    "mds_cache_memory_limit": "1073741824",
    "mds_cache_mid": "0.700000",
    "mds_cache_release_free_interval": "10",
    "mds_cache_reservation": "0.050000",
    "mds_cache_size": "0",
    "mds_cache_trim_decay_rate": "1.000000",
    "mds_cache_trim_interval": "1",
    "mds_cache_trim_threshold": "65536",

默认1G,如果要配置为4G,到/etc/ceph/ceph.conf上添加:

[mds]
mds cache memory limit = 4294967296
文档更新时间: 2020-05-12 16:11   作者:子木