Ana içeriğe geç

Eşzamansız bir işlem devam ediyor durumunda kalıyor

Belirti​

Uzun süren bir işlem (örneğin taşıma veya birim (volume) oluşturma) beklenenden daha uzun süre devam ediyor durumunda kalır.

Neden​

Uzun süren eylemler eşzamansızdır: istemci işlemi başlatır ve ardından durumunu sorgular. Görünürdeki bir askıda kalma genellikle işlemin aslında düğümde hâlâ çalıştığı veya kaynakların kullanılabilir hâle gelmesini beklediği anlamına gelir.

Bazı işlemler için uzun süre yanıt alınamaması normaldir. VM'nin başka bir havuza taşınması, tüm döngü tamamlandıktan sonra tek bir kez yanıt verir: önce ZFS akışı üzerinden kopyalama, ardından disklerin, anlık görüntülerin ve makinenin yeniden kaydı, sonra kaynak dataset'in silinmesi. Küme kopyalama ilerlemesini hiç bildirmez, bu nedenle güncelleme olmaması işlemin durumu hakkında bilgi vermez.

Nasıl kontrol edilir​

  1. Nesne durumu. VM listesindeki State sütununu ve karttaki durum alanını kontrol edin. İşlem çalışırken makine kilitlidir ve onu hedefleyen diğer komutlar reddedilir.
  2. İşlem günlüğü paneli, LOG düğmesi: düğüm aracılarına iletilen işlemin ilerlemesini gösterir.
  3. Makine durum geçmişi: vm-history yöntemi bunu döndürür ve nesnenin mevcut durumuna ne zaman girdiğini, dolayısıyla işlemin bir dakikadır mı yoksa bir saattir mi çalıştığını gösterir.
  4. Düğüm durumu: Provider Data Center → Server Nodes. ONLINE olmayan bir düğüme gönderilen komut yanıt almaz.

Çözüm​

Geçerli işlem durumunu ve etkilenen düğümdeki yükü kontrol edin; işlem ilerlemiyorsa ve kaynaklar kullanılabilir durumdaysa, izleme verileriyle birlikte sorunu üst seviyeye iletin.

Aynı kimlikle bir isteği tekrarlamak gereksizdir ve ters etki yapar: 3.0.5'ten itibaren dağıtıcı, aracı (broker) tarafından yeniden teslimi tanır ve işi ikinci kez çalıştırmaz. Eşzamanlı bir çağrı -1000, "this request already exists" yanıtını alır; eşzamansız bir çağrı ise tekrara hiç yanıt almaz. İlk denemenin kaydedilmiş yanıtı yeniden döndürülmez; sonuç asıl istek için gelir. Doğru bir yeniden deneme yeni bir istek kimliği kullanır.

Taşımanın ayrı bir durumu vardır: -25310 kodu, döngünün tamamlanmadığı ve yeniden kayıt sırasında başarısız olduğu anlamına gelir. Bu artık bir askıda kalma değil, bir hatadır. Neden belirlenene kadar yeni bir taşıma başlatmayın; makinenin ve disklerinin durumunu kart üzerinde kontrol edin.

API yöntemleri​

Bu sayfada ele alınan API işlemleri vm-statuses, vm-history, vm-get, node-list ve task yöntemleridir. Bkz. API başvurusu.

Ayrıca bkz.​