"Read-only file system" 使用多节点在 elasticsearch 中创建快照时出错

"Read-only file system" error while creating snapshot in elasticsearch with multiple-nodes

我设置了一个有 2 个节点的 Elasticsearch 集群。我现在正在尝试实施快照恢复过程。但是我得到了这个 "Read-only file system" 错误。由于这个错误,我无法创建快照。

我在第一个节点中创建了一个目录,权限为 777。使用 NFS 并与第二个节点共享目录。我能够导航到第二个节点终端中的共享目录。 我还在两个节点上设置 path.repo 以指向该共享目录 [/opt/backups]。 但仍然得到 "Read-only"。我不明白为什么。

我请求创建快照:

PUT host.com/elsearch/_snapshot/backup_1
{
    "type": "fs",
    "settings": {
        "location": "/opt/backup",
        "compress": true
    }
}

这是错误:

{
    "error": {
        "root_cause": [
            {
                "type": "repository_verification_exception",
                "reason": "[backup_1] [[jhsdgfjgeufh, 'RemoteTransportException[[es-node-2][26.19.35.46:9300][internal:admin/repository/verify]]; nested: ElasticsearchException[failed to create blob container]; nested: FileSystemException[/opt/backups/tests-Dvl-pSO2Cg: Read-only file system];']]"
            }
        ],
        "type": "repository_verification_exception",
        "reason": "[backup_1] [[jhsdgfjgeufh, 'RemoteTransportException[[es-node-2][26.19.35.46:9300][internal:admin/repository/verify]]; nested: ElasticsearchException[failed to create blob container]; nested: FileSystemException[/opt/backups/tests-Dvl-pSO2Cg: Read-only file system];']]"
    },
    "status": 500
}

tests-Dvl-pSO2Cg 目录已在主服务器上创建。

我也试过了,因为我在一些类似的问题中看到了这个解决方案:

chown -R elasticsearch:elasticsearch $BACKUP_DIR

我能够通过执行这些命令解决问题:

setfacl -R -d -m u::rwx $BACKUP_DIR
setfacl -R -d -m g::rwx $BACKUP_DIR
setfacl -R -d -m o::rwx $BACKUP_DIR

基本上,在我的 $BACKUP_DIR 中创建的目录(当我调用 PUT '/_snapshot/...' 时)没有获得 777 许可,尽管我已经使用 chmod 777 -R。上面的命令将处理这个问题。