MongoDB replica set kurulumu (3 üye, keyfile ve yetkilendirme)
MongoDBSeviye: OrtaSüre: 60–90 dkSıfırdan üç üyeli bir MongoDB 8.0 (ya da 7.0) replica set'i kurar: resmi repo, XFS veri dizini, RAM'e göre WiredTiger cache, keyfile ile üyeler arası doğrulama, yetkilendirme, yönetici ve uygulama kullanıcıları, read/write concern, failover testi ve bağlantı dizesi; sonunda tek üye kaybını kesintisiz atlatan, parolayla erişilen bir replica set elde edilir. Veri ya da yazma yükü tek sunucuyu aşacaksa sharded cluster rehberini açın; kurulu bir set'in günlük işletimi, yedeği ve sıkılaştırması ayrı MongoDB rehberlerindedir.
Yapı: 3 sunucu (1 primary + 2 secondary), tek sayıda veri taşıyan üye
Başlamadan önce
- Tüm sunucular aynı işletim sisteminde, güncel; saat NTP (chrony) ile senkron. Üyeler arasındaki saat farkı oturum ve oplog sorunlarına yol açar.
- RAM ve CPU formdaki değerlerle aynı (WiredTiger cache bu değere göre hesaplanıyor). Swap tanımlı ama küçük.
- Veri dizini (…) ayrı disk/LV üzerinde, XFS ile biçimlendirilmiş, noatime ile bağlı ve fstab'da kalıcı. WiredTiger ile ext4 performans sorunlarına yol açabilir.
- Her sunucu adı tüm sunuculardan ve uygulama sunucularından çözülüyor (DNS ya da /etc/hosts). Replica set yapılandırmasında IP değil ad kullanılır.
- Sunucular arasında … portu açık; uygulama ağı bu portlara erişebiliyor. Port başka bir servis tarafından kullanılmıyor.
- Sunucular repo.mongodb.org ve pgp.mongodb.com adreslerine HTTPS ile çıkabiliyor ya da kurum içi mirror tanımlı.
- İşletim sisteminin kendi mongodb sürümü ya da eski bir MongoDB kurulumu yok.
- İlk sunucudan diğerlerine root (ya da sudo yetkili kullanıcı) ile scp yapılabiliyor (keyfile kopyalamak için). Yoksa dosyayı güvenli bir yolla elle taşıyın.
- Root ya da sudo yetkisiyle oturum açtınız; bakım penceresi ve sunucu snapshot'ı (geri dönüş) planı hazır.
Rehberin aşamaları
- İşletim sistemi hazırlığı (tüm üyeler) — Hostname: … · Sistem güncellemesi ve gerekli araçlar · Ad çözümleme (/etc/hosts) · Çekirdek ayarları (sysctl) · sysctl ayarlarını uygula · Transparent Huge Pages: 8.0 için etkinleştir …
- MongoDB yazılımının kurulumu (tüm üyeler) — MongoDB … repo'sunu ekle · MongoDB … repo'sunu ekle · MongoDB'yi kur · Veri dizinini hazırla · SELinux politikası ve etiketleri
- Keyfile (üyeler arası doğrulama) — Keyfile oluştur · Keyfile'ı diğer üyelere kopyala · Keyfile izinleri: …
- Yapılandırma — mongod.conf: … · systemd ayarlarını kontrol et · Firewall'da portu aç
- Servisi başlatma (tüm üyeler) — mongod'u etkinleştir ve başlat
- Replica set'i başlat ve kullanıcıları oluştur — Diğer üyelere erişimi kontrol et · rs.initiate · Yönetici kullanıcıyı oluştur · Uygulama kullanıcısını oluştur · Varsayılan read/write concern
- Doğrulama ve failover testi — Replica set durumu · Yazma/okuma testi · Planlı failover testi (rs.stepDown) · Uygulama bağlantı dizesi
- Kurulum sonrası — Log rotasyonu · Logrotate'i dene · Yedeklemeyi planla (zorunlu) · İzlemeyi bağla · Güvenlik: TLS ve erişim