Küme servisleri nasıl yönetilir
Ne zaman kullanılır
Küme servisi, Cluster Manager'ın belirli bir düğümde başlattığı bir birimdir.
Depolama havuzları (zpool_ssd01, zpool_tank0 gibi adlarla) ve küme sistem
servisleri bu şekilde temsil edilir. Servisleri bir düğümün bakımı sırasında, bir
havuzu başka bir düğüme taşırken ve başlamayan bir servisin sorununu giderirken
yönetirsiniz.
Bir servisin birbirinden bağımsız iki boyutu vardır. Birincisi izindir: servisin çalışmasına izin verilip verilmediği veya devre dışı olup olmadığı. İkincisi durumdur: başlatılmış mı yoksa durdurulmuş mu olduğu. Bir servisi etkinleştirmek onu başlatmaz; devre dışı bir servisi başlatma girişimi ise doğrulamadan geçemez. Bu ayrım bilinçlidir: devre dışı bırakma, düğüm yeniden başlatıldıktan sonra bile servisi kapalı tutar; durdurma ise tek seferlik bir eylemdir.
| Komut | Neyi değiştirir | Düğüm gerekli | Ne zaman kullanılır |
|---|---|---|---|
| Etkinleştirme | İzin — servisin çalışmasına izin verilir | hayır | Bir servisi yeniden çalışmaya döndürme |
| Devre dışı bırakma | İzin — servis devre dışı bırakılır | hayır | Uzun süreli bakım, bir havuzu hizmet dışı bırakma |
| Başlatma | Durum — bir düğümde başlatma | evet | Bir servisi seçilen düğümde başlatma |
| Durdurma | Durum — durdurma | hayır | Devre dışı bırakmadan tek seferlik durdurma |
Asimetriye dikkat edin: başlatma bir düğüm gerektirir, durdurma gerektirmez. Bir servis belirtilen bir düğümde başlar ve o anda nerede çalışıyorsa orada durur.
Ön koşullar
- Cluster master (role_id=1) rolü — dört komutun tamamı bu rolle sınırlıdır;
- Kullanılabilir bir Cluster Manager: komutlar ona gider, o da komutları düğümlere iletir;
- Harf, rakam ve alt çizgi içeren bir servis adı — küme tire, nokta veya boşluk kabul etmez;
- vStack Center sürüm 3.0.3.
Adım 1. Mevcut servis durumunu görüntüleyin
Servis durumu küme üyeliğiyle birlikte alınır.
- Provider Data Center → Storage Resources bölümünü açın. ZFS pools tablosu küme havuzlarını GUID, Name, Health, Consuming, Scrubbing, Resilvering, Current node ve Capacity (RAW) sütunlarıyla gösterir.
- Tablodan bir havuz açın — havuz kartı, havuz işlemlerini içeren bir Actions menüsü sunar.
Durumu şöyle yorumlayın: izin servisin çalışmasına izin verilip verilmediğini, durum şu anda çalışıp çalışmadığını, Current node ise hangi düğümde çalıştığını söyler. Etkin ve çalışan bir havuz kendi düğümünde çalışıyor olarak görünür. Devre dışı ve durdurulmuş bir servisi başlatmanın anlamı yoktur: önce onu etkinleştirin.
Adım 2. Bir servisi bir düğümde başlatın
Başlatma belirli bir düğümü hedefler: hem bir servise hem de bir düğüme ihtiyacınız vardır. vStack Center komutu Cluster Manager'a iletir, o da komutu düğüme ulaştırır.
- Servisin etkin olduğundan emin olun. Devre dışıysa önce 4. adımı tamamlayın.
- Servisi ve çalışacağı düğümü seçin ve başlatın.
- Sonucu kontrol edin: servis çalışıyor olmalı ve onu barındıran düğüm seçtiğiniz düğümle eşleşmelidir.
Kabul edilen bir komut, Cluster Manager'ın komutu aldığını doğrular. Servisin gerçekten başladığını yalnızca düğümdeki servis durumu doğrular.
Adım 3. Bir servisi durdurun
Durdurma bir düğüm gerektirmez: Cluster Manager servisin nerede çalıştığını zaten bilir. Servisi seçin ve durdurun.
Durdurma yalnızca durumu değiştirir. İzin korunur, bu nedenle servis yeniden başlayabilir — örneğin düğüm yeniden başlatıldığında. Servisin kapalı kalması gerekiyorsa onu devre dışı bırakın.
Adım 4. Bir servisi etkinleştirin veya devre dışı bırakın
İzin kalıcı bir karardır. Devre dışı bırakma, yeniden başlatmalardan bağımsız olarak servisi kapalı tutar.
Bir depolama havuzu servisini devre dışı bırakmak, sunduğu verileri erişilemez hale getirir. Devre dışı bırakmadan önce Storage Resources bölümünde servisi hangi düğümün barındırdığını (Current node sütunu) ve hangi iş yüklerinin ona bağlı olduğunu kontrol edin.
Servisi seçin ve devre dışı bırakın — herhangi bir düğüm belirtmeniz gerekmez. Aynı yoldan karşıt komutu kullanarak etkinleştirin.
Bakım için şu sırayı izleyin: servisi durdurun, devre dışı bırakın, işi yapın, etkinleştirin ve gerekli düğümde başlatın. Ters sıra — durdurmadan devre dışı bırakma — servisi ilk yeniden başlatmaya kadar çalışır durumda bırakır.
Havuz servisini durdurmak uzak düğümlerde çalışan VM'leri de kapatır
Bu havuzu kullanan VM'ler sahip düğüm dışındaki düğümlerde de çalışabilir: NVMe modunda diskleri olan bir makine herhangi bir düğümde başlayabilir ve disklerine ağ üzerinden sahip düğümden erişebilir. 3.2.0'dan önce servisi durdurmak yalnızca sahip düğümdeki makineleri kapatıyordu; uzak makineler çalışmaya devam ediyor ve havuzu kullanımda tutuyordu — dışa aktarma "pool is busy" hatasıyla başarısız oluyor ve servis özgün düğümünde kalıyordu.
3.2.0'dan itibaren vStack Center, servisi durdurmadan önce havuzun diğer düğümlerdeki makinelerini kapatır. Aynısı bir havuz taşınırken de geçerlidir. Bakımı planlarken bunu hesaba katın: bir havuz servisini durdurmak artık komşu düğümlerde çalıştığını gördüğünüz makineleri de kapatır.
Bariyer "emin değilsen başlatma" ilkesini izler. Bir düğüm denetimden yalnızca kapatmayı onaylarsa veya bu havuzu kullanan makinesi olmadığını bildirirse geçer. Başka herhangi bir sonuç — bir hata, zaman aşımı veya kopan bağlantı — durdurma işlemini engeller: işlem hiç başlamaz, servis çalışmaya devam eder ve ret yanıtı işlemi engelleyen makinelerin ve düğümlerinin bir listesini içerir. Denetimin tamamının 2 dakikalık bir zaman sınırı vardır.
Sonucu doğrulayın
Servis durumuna dönün ve istediğinizle karşılaştırın.
| Eylem | Komuttan sonra beklenen sonuç |
|---|---|
| Başlatma | Servis istekte belirtilen düğümde çalışıyor |
| Durdurma | Servis durdurulmuş ve etkin kalmış |
| Devre dışı bırakma | Servis devre dışı ve durdurulmuş |
| Etkinleştirme | Servis etkin; çalışması için başlatılması gerekir |
İzin değişmiş ancak durum değişmemişse, komut kabul edilmiş ancak düğüm henüz geri bildirimde bulunmamıştır. Servis durumunu yeniden alın.
Sorun giderme
| Ne görüyorsunuz | Neden | Ne yapmalı |
|---|---|---|
| Bir servis komutu -403 "Access denied" koduyla reddediliyor | Servis komutları yalnızca Cluster master rolü tarafından kullanılabilir | Küme düzeyinde bir rolle oturum açın |
| Hata kodu -32602 "Invalid params" | Servis adı biçim doğrulamasından geçemedi | Tireleri, noktaları ve boşlukları kaldırın; adı Name sütunuyla karşılaştırın |
| Başlatma -20522 koduyla reddediliyor | Düğüm kimliği doğrulamadan geçemedi | Düğüm kimliğini bir sayı olarak girin |
| Hata kodu -713 | Komut Cluster Manager'a iletilemedi | Cluster Manager'ın erişilebilirliğini kontrol edin; komut düğümlere ulaşmadı |
| Komut kabul edildi, ancak servis durumu değişmedi | Cluster Manager komutu kabul etti, ancak düğüm henüz uygulamadı | Durumu yeniden alın; tutarsızlık sürerse Current node sütunundaki düğümü kontrol edin |
| Servis, düğüm yeniden başlatıldıktan sonra kendiliğinden başladı | Devre dışı bırakılmadan durdurulmuştu | Servisi yalnızca durdurmak yerine devre dışı bırakın |
| Bir havuz servisini durdurmak, işlemi engelleyen makinelerin bir listesini döndürdü | Havuzun diğer düğümlerdeki makineleri kapatılamadı: bir düğüm yanıt vermedi, bağlantı koptu veya bir düğüm hata döndürdü | Belirtilen düğümlerde listelenen makinelerle ilgili sorunları giderin ve durdurmayı yeniden deneyin; servis değişmeden kalır |
| Başlatmanın hiçbir etkisi yok | Servis devre dışı | Önce servisi etkinleştirin, ardından başlatın |
| Küme üyeliği verisi görünmüyor | Kullanıcının durum haritasını görüntüleme yetkisi yok | View Cluster Status Map (full) (6003) yetkisini talep edin |
Ayrıca bakın
- Küme, düğümler ve servisler — küme servisinin ne olduğu ve Cluster Manager'ın Cluster master rolünden nasıl farklı olduğu.
- Küme düğümleri nasıl yönetilir — bir servisi barındıran düğümü hizmet dışı bırakma.
- Küme kaynakları nasıl görüntülenir — servisleri ve düğüm atamalarını gösteren durum haritası.
API metotları
Bu sayfada ele alınan API işlemleri: get-statusmap, cluster-service-enable,
cluster-service-disable, cluster-service-start, cluster-service-stop — bkz.
API başvurusu.