Bug 1460564
Summary: | Change the Elasticsearch setting "node.max_local_storage_nodes" to 1 to prevent sharing EBS volumes | |||
---|---|---|---|---|
Product: | OpenShift Container Platform | Reporter: | Peter Portante <pportant> | |
Component: | Logging | Assignee: | Jeff Cantrill <jcantril> | |
Status: | CLOSED ERRATA | QA Contact: | Xia Zhao <xiazhao> | |
Severity: | high | Docs Contact: | ||
Priority: | unspecified | |||
Version: | 3.6.0 | CC: | aos-bugs, juzhao, pweil, rmeggins, rromerom | |
Target Milestone: | --- | |||
Target Release: | 3.7.0 | |||
Hardware: | All | |||
OS: | All | |||
Whiteboard: | ||||
Fixed In Version: | Doc Type: | Bug Fix | ||
Doc Text: |
Cause: Elasticsearch default value for sharing storage between ES instances was wrong
Consequence: The incorrect default value allowed an ES pod starting up (when another ES pod was shutting down, e.g. during dc redeployments) to create a new location on the PV for managing the storage volume, duplicating data, and in some instances, potentially causing data loss.
Fix: All ES pods now run with "node.max_local_storage_nodes" set to 1.
Result: The ES pods starting up/shutting down will no longer share the same storage and prevent the data duplication and/or data loss.
|
Story Points: | --- | |
Clone Of: | ||||
: | 1462277 (view as bug list) | Environment: | ||
Last Closed: | 2017-11-28 21:56:55 UTC | Type: | Bug | |
Regression: | --- | Mount Type: | --- | |
Documentation: | --- | CRM: | ||
Verified Versions: | Category: | --- | ||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
Cloudforms Team: | --- | Target Upstream Version: | ||
Embargoed: | ||||
Bug Depends On: | ||||
Bug Blocks: | 1462277, 1462281, 1463046 |
Description
Peter Portante
2017-06-12 02:38:46 UTC
Commit pushed to master at https://github.com/openshift/openshift-ansible https://github.com/openshift/openshift-ansible/commit/fd165fe201abb5fbd76306a16febaf1cb3c8ad0b Ensure only one ES pod per PV bug 1460564. Fixes [BZ #1460564](https://bugzilla.redhat.com/show_bug.cgi?id=1460564). Unfortunately, the defaults for Elasticsearch prior to v5 allow more than one "node" to access the same configured storage volume(s). This change forces this value to 1 to ensure we don't have an ES pod starting up accessing a volume while another ES pod is shutting down when reploying. This can lead to "1" directories being created in `/elasticsearch/persistent/${CLUSTER_NAME}/data/${CLUSTER_NAME}/nodes/`. By default ES uses a "0" directory there when only one node is accessing it. max_local_storage_nodes is 1 now # oc get configmap logging-elasticsearch -n logging -o yaml | grep -i max_local_storage_nodes max_local_storage_nodes: 1 Testing env: # openshift version openshift v3.6.122 kubernetes v1.6.1+5115d708d7 etcd 3.2.0 Images from brew registry # docker images | grep logging logging-kibana v3.6 fd67e351dadf 2 days ago 342.4 MB logging-elasticsearch v3.6 1006eb106849 2 days ago 404.6 MB logging-auth-proxy v3.6 301fd39f57e0 2 days ago 229.6 MB logging-fluentd v3.6 dba31f5b54ba 2 days ago 232.5 MB logging-curator v3.6 a0148dd96b8d 2 weeks ago 221.5 MB Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2017:3188 |