Пн go Описание кластера сегментов:
ОС: Redhat 6 - Ядро Версия: 2.6.32-754.27.1.el6.x86_64
пн go версия:
MongoDB shell version v3.4.6
git version: c55eb86ef46ee7aede3b1e2a5d184a7df4bfb5b5
OpenSSL version: OpenSSL 1.0.1e-fips 11 Feb 2013
allocator: tcmalloc
modules: none
build environment:
distmod: rhel62
distarch: x86_64
target_arch: x86_64
версия mongos:
mongos version v3.4.6
git version: c55eb86ef46ee7aede3b1e2a5d184a7df4bfb5b5
OpenSSL version: OpenSSL 1.0.1e-fips 11 Feb 2013
allocator: tcmalloc
modules: none
build environment:
distmod: rhel62
distarch: x86_64
target_arch: x86_64
Пн go Узлы кластера сегментов:
4 nodes act as both config servers and mongo router
2 nodes are members of a shard1
2 nodes are members of a shard2
1 node is an arbiter only for shard1 and shard2
Все узлы соединяются друг с другом по протоколу SSL
В соответствии с настройкой для каждой роли:
mongod для Mon go config:
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
security:
authorization: enabled
clusterAuthMode: x509
javascriptEnabled: true
storage:
dbPath: /var/lib/mongo
journal:
enabled: true
commitIntervalMs: 500
wiredTiger:
engineConfig:
cacheSizeGB: 12
collectionConfig:
blockCompressor: zlib
processManagement:
fork: false
pidFilePath: /var/run/mongodb/mongod.pid
net:
port: 7772
bindIp: 127.0.0.1,IP_ETH1
ssl:
mode: requireSSL
PEMKeyFile: /mongo_certs/config_router_hostname.pem
CAFile: /etc/ssl/certs/ca-bundle.crt
clusterFile: /mongo_certs/mongo_cluster.pem
allowConnectionsWithoutCertificates: true
disabledProtocols: TLS1_0,TLS1_1
replication:
oplogSizeMB: 2048
replSetName: replconfig01
sharding:
mongos для Mon go Маршрутизатор:
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongos.log
security:
clusterAuthMode: x509
processManagement:
fork: false
pidFilePath: /var/run/mongodb/mongos.pid
net:
port: 7770
bindIp: 127.0.0.1,192.IP_ETH1,IP_ETH2
ssl:
mode: requireSSL
PEMKeyFile: /mongo_certs/config_router_hostname.pem
CAFile: /etc/ssl/certs/ca-bundle.crt
clusterFile: /mongo_certs/mongo_cluster.pem
allowConnectionsWithoutCertificates: true
disabledProtocols: TLS1_0,TLS1_1
replication:
localPingThresholdMs: 15
sharding:
configDB: replconfig01/node1.domain.com:7772,node2.domain.com:7772,node3.domain.com:7772,node4.domain.com:7772
mongod для узлов сегментов
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
security:
authorization: enabled
clusterAuthMode: x509
javascriptEnabled: true
storage:
dbPath: /var/lib/mongo
journal:
enabled: true
commitIntervalMs: 500
wiredTiger:
engineConfig:
cacheSizeGB: 12
collectionConfig:
blockCompressor: zlib
processManagement:
fork: false
pidFilePath: /var/run/mongodb/mongod.pid
net:
port: 7770
bindIp: 127.0.0.1,IP_ETH1,IP_ETH2
ssl:
mode: requireSSL
PEMKeyFile: /mongo_certs/hostanme.pem
CAFile: /etc/ssl/certs/ca-bundle.crt
clusterFile: /mongo_certs/mongo_cluster.pem
allowConnectionsWithoutCertificates: true
disabledProtocols: TLS1_0,TLS1_1
replication:
oplogSizeMB: 2048
replSetName: shardreplica02
sharding:
clusterRole: shardsvr
Описание проблемы
Кластер работал должным образом до истечения срока действия сертификатов. После замены сертификатов на новые перезапуск mongod на узлах сегмента и только mongos на узлах Config / Router не работает должным образом. Я имею в виду, что сервис запущен, но сокет все еще не работает. Если я выполняю команду netstat для порта, я получаю следующее:
# netstat -nap | grep 6516
udp 0 0 0.0.0.0:40682 0.0.0.0:* 6516/mongod
unix 2 [ ] STREAM 3648511 6516/mongod /tmp/mongodb-7770.sock
В результате я не могу войти в БД. Решение, которое я нашел для правильного перезапуска кластера, заключается в очистке всего узла и его перенастройке.
Но если я заменю сертификаты до истечения срока их действия, у меня не возникнет этой проблемы.
Кто-нибудь знает почему это? И как только срок действия сертификатов истекает до их продления, как я могу продолжать использовать их без очистки?
Заранее спасибо
Cesars