सामग्री पर जाएँ

समस्या निवारण ​

अपना लक्षण खोजें, कारण पढ़ें और समाधान लागू करें। हर अनुभाग उस लॉग इवेंट या त्रुटि का नाम बताता है जो आपको दिखनी चाहिए। किसी एरर कोड के अर्थ के लिए त्रुटियाँ देखें।

पहले कदम ​

  1. स्टेटस एंडपॉइंट पूछें: curl -fsS http://127.0.0.1:8080/health/status। {"status":"ready"} का मतलब है कि API अपने डेटाबेस और स्टोरेज तक पहुँच रहा है।
  2. विफल सेवा की नवीनतम लॉग पंक्तियाँ पढ़ें। लॉग और फ़ीडबैक देखें।
  3. startup.failed या worker.unavailable इवेंट खोजें। इसका reason फ़ील्ड कारण बताता है।
  4. अगर कोई क्लाइंट त्रुटि बताए, तो अनुरोध ID माँगें और लॉग में उसे खोजें।

सर्वर शुरू नहीं होता ​

सेवा प्रबंधक विफल सेवा को हर 10 सेकंड में फिर से शुरू करता है। तब लॉग में startup.failed दोहराता है। reason फ़ील्ड, और errno व sqlstate फ़ील्ड पढ़ें।

पोर्ट व्यस्त है ​

कारण। startup.failed में errno EADDRINUSE है। कोई दूसरा प्रोग्राम पोर्ट 8080 (ARKVORY_PORT) पर सुन रहा है, या कोई पुरानी Arkvory प्रक्रिया अब भी चल रही है।

समाधान। पोर्ट के स्वामी को खोजें और उसे रोकें, या पोर्ट बदलें।

bash
sudo ss -ltnp 'sport = :8080'
powershell
Get-NetTCPConnection -LocalPort 8080 | Select-Object LocalAddress, OwningProcess

पोर्ट बदलने के लिए config/runtime.json में ARKVORY_PORT संपादित करें और सेवाएँ फिर से शुरू करें। इसके साथ कंसोल का पता भी बदल जाता है।

डेटाबेस पहुँच से बाहर है या लॉगिन अस्वीकार करता है ​

कारण। लॉग इनमें से कोई कारण दिखाता है:

reasonअर्थ
dependency unavailable, errno ECONNREFUSED या ETIMEDOUT के साथPostgreSQL रुका है, कहीं और सुन रहा है, या फ़ायरवॉल उसे अवरुद्ध कर रहा है
database authentication failedARKVORY_DATABASE_URL में उपयोगकर्ता या पासवर्ड गलत है
database does not existURL में नामित डेटाबेस मौजूद नहीं है
database role lacks a required privilegeभूमिका टेबल बना या बदल नहीं सकती

समाधान। PostgreSQL शुरू करें, या config/runtime.json में ARKVORY_DATABASE_URL ठीक करें और सेवाएँ फिर से शुरू करें। प्रबंधित डेटाबेस 127.0.0.1 पर ARKVORY_DATABASE_URL में दिए पोर्ट पर सुनता है (Windows पर सेवा Arkvorydatabase, Linux पर arkvory-database)। डेटाबेस के जवाब देने पर सेवाएँ खुद शुरू हो जाती हैं। database/ फ़ोल्डर न हटाएँ। Windows पर लॉग लाइन could not bind IPv4 address "127.0.0.1": Permission denied का अर्थ है कि Windows ने बूट के समय वह पोर्ट आरक्षित कर लिया है (netsh int ipv4 show excludedportrange protocol=tcp आरक्षित श्रेणियाँ दिखाता है)। Setup डेटाबेस पोर्ट को इन श्रेणियों से बाहर रखता है: यह बहिष्करण * के साथ दिखता है, रीस्टार्ट के बाद भी बना रहता है, और न होने पर मरम्मत या अपडेट इसे फिर से जोड़ देता है। किसी पुराने इंस्टॉलेशन को आरक्षित पोर्ट से हटाने के लिए Arkvory सेवाएँ रोकें, database/settings.json के port में और config/runtime.json के ARKVORY_DATABASE_URL में एक ही खाली पोर्ट (उदाहरण के लिए 45329) सेट करें, और Setup फिर से चलाएँ: मरम्मत नए पोर्ट को बाहर रखती है और सेवाएँ शुरू करती है।

डेटाबेस और प्रोग्राम में मतभेद है ​

कारण। कारण unavailable: से शुरू होता है और कहता है Database migrations 1 through N are required; run migrate, या Database schema is newer than this release, या database schema is missing; run migrations। यह आधे रास्ते रुके अपडेट के बाद होता है, या जब किसी पुराने संस्करण को नए डेटाबेस पर शुरू किया जाता है।

समाधान। नए डेटाबेस पर पुराना संस्करण शुरू न करें। arkvory status --root <root> से स्थिति जाँचें और recover से अपडेट पूरा करें या उसे पूर्ववत करें। अपडेट विफल हुआ देखें। डेटा सुरक्षित रखने के लिए बैकअप से पुनर्स्थापना केवल तब करें जब recover पूरा न हो सके।

दूसरी प्रक्रिया स्टोरेज की स्वामी है ​

कारण। कारण है busy: Another writer or maintenance process owns this database, या conflict: Database belongs to a different storage directory। दूसरा API उसी डेटाबेस के विरुद्ध चल रहा है, या डेटा डायरेक्टरी वह नहीं है जिसके साथ यह डेटाबेस इस्तेमाल हुआ था। हर स्टोरेज डायरेक्टरी में storage-id फ़ाइल होती है, और डेटाबेस उसे दर्ज करता है।

समाधान। दूसरी प्रक्रिया रोकें। इस डेटाबेस से जुड़ी डेटा डायरेक्टरी इस्तेमाल करें। storage-id को कभी किसी दूसरी डायरेक्टरी में कॉपी न करें, और कभी दो इंस्टॉलेशनों को एक ही डेटाबेस से न जोड़ें।

रूट या डेटा डायरेक्टरी पर अनुमतियाँ ​

कारण। errno EACCES या EPERM है, या कारण है Cannot read ARKVORY_KEYS_FILE (EACCES)। सेवा खाता कॉन्फ़िगरेशन पढ़ नहीं सकता या डेटा डायरेक्टरी में लिख नहीं सकता। आम कारण हैं उपयोगकर्ता प्रोफ़ाइल में इंस्टॉलेशन, हाथ से कॉपी किया गया फ़ोल्डर, या बदला हुआ स्वामी।

समाधान।

  • Linux: रूट और config/ मोड 0750 के साथ root:arkvory के हैं। config/runtime.json और config/keys.json का मोड 0640 है। data/ और logs/ arkvory:arkvory के हैं।
  • Windows: खाता NT AUTHORITY\LocalService को रूट के हर पैरेंट फ़ोल्डर को पढ़ना चाहिए, और data\, logs\ तथा अपडेट इनबॉक्स को बदलना चाहिए। एक्सेस नियम बहाल करने के लिए ग्राफ़िकल इंस्टॉलर फिर से चलाएँ।
  • होम डायरेक्टरी और उपयोगकर्ता प्रोफ़ाइल के बाहर किसी समर्पित फ़ोल्डर में इंस्टॉल करें।

कोई सेटिंग या प्रमाणपत्र अस्वीकार किया गया ​

कारण। कारण किसी वेरिएबल का नाम लेता है, उदाहरण के लिए Invalid ARKVORY_PORT, या कोई प्रमाणपत्र समस्या: TLS certificate has expired, TLS certificate and key do not match, TLS key is not an unencrypted PEM private key। प्रमाणपत्र गलत होने पर सर्वर कभी सादे HTTP में शुरू नहीं होता।

समाधान। config/runtime.json में नामित वेरिएबल ठीक करें। अपनी सीमा से बाहर का मान शुरू होना रोक देता है। प्रमाणपत्र फ़ाइलें नवीनीकृत या बदलें। फ़ाइलें ठीक करते समय सादे HTTP पर लौटने के लिए arkvory configure --tls-off इस्तेमाल करें। एनवायरनमेंट वेरिएबल देखें।

कंसोल API तक नहीं पहुँच सकता ​

कंसोल में संदेशकारणसमाधान
Arkvory से कोई जवाब नहीं मिला। अपना नेटवर्क कनेक्शन जाँचें और फिर से प्रयास करें।ब्राउज़र को कोई जवाब नहीं मिलता: सेवा डाउन है, पता या पोर्ट गलत है, फ़ायरवॉल उसे अवरुद्ध कर रहा है, सर्वर केवल 127.0.0.1 पर सुन रहा है, या प्रमाणपत्र नाम से मेल नहीं खाताब्राउज़र वाले उसी कंप्यूटर से /health/status जाँचें। सेवा, लिसन पता और फ़ायरवॉल जाँचें
Arkvory के आगे लगे प्रॉक्सी को उससे कोई जवाब नहीं मिला। थोड़ी देर बाद फिर से प्रयास करें या व्यवस्थापक से संपर्क करें।रिवर्स प्रॉक्सी जवाब देता है, पर उसके पीछे का API नहींजाँचें कि API चल रहा है और प्रॉक्सी उसके पोर्ट की ओर इशारा करता है। बड़े ट्रांसफ़र के लिए प्रॉक्सी की रीड टाइमआउट बढ़ाएँ
सर्वर ने जवाब देने में बहुत देर लगाई, इसलिए अनुरोध रोक दिया गया। फिर से प्रयास करें।सर्वर ने समय पर जवाब नहीं दियालॉग में upload.deadline या व्यस्त डेटाबेस खोजें
सेवा अस्थायी रूप से उपलब्ध नहीं है। थोड़ी देर बाद फिर से प्रयास करें।डेटाबेस जैसी कोई निर्भरता कुछ क्षण के लिए दूर हैप्रतीक्षा करें और फिर कोशिश करें। व्यस्त और अनुपलब्ध देखें
सर्वर इस कंसोल पते से आने वाले अनुरोधों की अनुमति नहीं देता। व्यवस्थापक से संपर्क करें।बाहरी कंसोल ऐसे पते पर चल रहा है जो ARKVORY_CORS_ORIGINS में सूचीबद्ध नहीं हैसटीक ओरिजिन (scheme, host और port) जोड़ें और API फिर से शुरू करें
आपका सत्र समाप्त हो गया है: आपने कहीं और साइन आउट किया, पासवर्ड बदला या आपका एक्सेस निरस्त कर दिया गया। फिर से साइन इन करें।आपने कहीं और साइन आउट किया, पासवर्ड बदला गया, या एक्सेस निरस्त कर दिया गयाफिर से साइन इन करें

अपडेट के दौरान कंसोल खुद फिर से जुड़ जाता है। इंस्टॉलेशन अनुरोध दोबारा न भेजें। अगर Docker Desktop इस्तेमाल हो रहा है, तो Docker Desktop के चलने तक सर्वर दूर रहता है। Docker देखें।

साइन-इन की समस्याएँ ​

गलत नाम या पासवर्ड ​

कारण। संदेश उपयोगकर्ता नाम या पासवर्ड गलत है। है (401 invalid_credentials)। गलत नाम, गलत पासवर्ड और अक्षम खाते के लिए सर्वर एक ही जवाब देता है, ताकि कोई पता न लगा सके कि कौन-से नाम मौजूद हैं।

समाधान। व्यवस्थापक उपयोगकर्ता और एक्सेस में खाता जाँच सकता है और अक्षम होने पर सक्षम करें इस्तेमाल कर सकता है, या नया पासवर्ड सेट करने के लिए पासवर्ड रीसेट करें।

बहुत ज़्यादा प्रयास ​

कारण। जवाब 429 rate_limited है login_attempts और Retry-After के साथ। पते ने अपने 10 प्रयास खर्च कर लिए हैं, या कई गलत पासवर्ड के बाद खाता अपनी प्रतीक्षा में है (अधिकतम 2 मिनट)। इस समय के दौरान सही पासवर्ड भी प्रतीक्षा करता है।

समाधान। Retry-After में दिए सेकंडों तक प्रतीक्षा करें। व्यवस्थापक पासवर्ड रीसेट करके खाते की प्रतीक्षा हटा सकता है। API का रीस्टार्ट पतों के काउंटर साफ़ कर देता है, पर किसी खाते की प्रतीक्षा नहीं।

प्रॉक्सी के पीछे सब अवरुद्ध हैं ​

कारण। सर्वर प्रॉक्सी के पते को हर क्लाइंट का पता समझता है, इसलिए सभी क्लाइंट एक ही बजट साझा करते हैं।

समाधान। ARKVORY_TRUSTED_PROXIES को प्रॉक्सी के पतों पर सेट करें और API फिर से शुरू करें। प्रॉक्सी को X-Forwarded-For भेजना चाहिए। सुरक्षा देखें।

स्वामी खो गया ​

कारण। किसी को व्यवस्थापक का पासवर्ड याद नहीं है।

समाधान। सर्वर पर पुनर्प्राप्ति कुंजी इस्तेमाल करें:

  1. रूट या Administrator के रूप में config/bootstrap-token.txt से कुंजी पढ़ें।
  2. कंसोल में सेवा या ऑटोमेशन कुंजी से कनेक्ट करें खोलें, कुंजी पेस्ट करें और कनेक्ट करें चुनें।
  3. उपयोगकर्ता और एक्सेस खोलें। खाते के लिए पासवर्ड रीसेट करें इस्तेमाल करें, या नया व्यवस्थापक बनाने के लिए उपयोगकर्ता बनाएँ।
  4. डिस्कनेक्ट करें चुनें और उस खाते से साइन इन करें।

फ़ॉर्म पहला स्वामी बनाएँ केवल तब काम करता है जब सर्वर पर कोई खाता न हो।

पुनर्प्राप्ति कुंजी खो गई ​

कारण। फ़ाइल config/bootstrap-token.txt हटा दी गई थी या कभी सहेजी नहीं गई। सर्वर के पास केवल कुंजी का हैश होता है।

समाधान। सर्वर पर रूट या Administrator अधिकारों के साथ नई कुंजी और उसका हैश लिखें। कॉन्फ़िगरेशन देखें। फ़ाइल को दोबारा न हटाएँ: इंस्टॉलेशन टूल उसे पढ़ते हैं।

अपलोड ​

अपलोड पूरा नहीं होता ​

कारण। कई संभावित कारण हैं:

  • क्लाइंट का कनेक्शन टूट गया। मल्टीपार्ट अपलोड अपने दर्ज किए गए भाग 7 दिन तक रखता है।
  • बड़ा अपलोड वर्कर की प्रतीक्षा कर रहा है। वर्कर रुका है, या विफल हो गया है। दूसरा वर्कर स्टैंडबाय के रूप में प्रतीक्षा कर रहा है।
  • एक साथ बहुत ज़्यादा अपलोड चल रहे हैं। डिफ़ॉल्ट रूप से 2 चलते हैं, प्रति खाता 1, और बाकी 20 सेकंड प्रतीक्षा करके 503 busy पाते हैं।
  • रिवर्स प्रॉक्सी बड़ा बॉडी अस्वीकार करता है (413) या धीमा अनुरोध रोक देता है (502 या 504)।

समाधान।

  1. अपलोड की स्थिति पूछें: arkvoryctl uploads status <id>। उसी फ़ाइल और उसी state फ़ाइल के साथ जारी रखें। कमांड लाइन देखें।
  2. वर्कर जाँचें: systemctl status arkvory-worker, Get-Service Arkvoryworker। uploadId के साथ completion.failed और completion.attempts_exhausted खोजें। मीट्रिक arkvory_completion_oldest_queued_seconds प्रतीक्षारत जॉब दिखाता है।
  3. बॉडी आकार और रीड समय के लिए प्रॉक्सी की सीमाएँ बढ़ाएँ। बिना डेटा के 30 सेकंड बाद और कुल मिलाकर 30 मिनट बाद अपलोड अनुरोध रुक जाता है।
  4. 7 दिन से पुराना सत्र चला गया है (409 upload_expired)। नया अपलोड शुरू करें।

integrity_mismatch ​

कारण। जवाब 422 integrity_mismatch है, या क्लाइंट कोड 5 के साथ एग्ज़िट करता है। बाइट घोषित आकार या SHA-256 से मेल नहीं खाते। भेजे जाते समय फ़ाइल बदल गई, घोषित हैश किसी दूसरी फ़ाइल के लिए गणना किया गया था, या किसी प्रॉक्सी या नेटवर्क डिवाइस ने बॉडी बदल दी।

समाधान। फ़ाइल को अपरिवर्तित प्रति से फिर से भेजें। सत्र खुला रहता है, इसलिए सही की गई फ़ाइल उसमें भेजी जा सकती है। अगर कोई डाउनलोड बार-बार अपनी जाँच में विफल हो, तो उसे किसी दूसरे पथ से एक बार और डाउनलोड करें, फिर अनुरोध ID बताएँ। लॉग और फ़ीडबैक देखें।

व्यस्त, रेट सीमित, अनुपलब्ध ​

कोड busy, unavailable और rate_limited अस्थायी हैं। जवाब में हेडर Retry-After और फ़ील्ड retryAfterSeconds होता है। उतनी देर प्रतीक्षा करें। busy के लिए सर्वर यह समय आगे की कतार और जगहें कितनी तेज़ी से खाली होती हैं, इससे निकालता है, इसलिए लंबी कतार क्लाइंट को ज़्यादा देर के लिए लौटा देती है। SDK और कमांड-लाइन क्लाइंट busy और rate_limited पर उतनी देर प्रतीक्षा करते हैं जितनी सर्वर कहता है (इसकी सीमा --wait-limit या waitLimitMs से तय करें) और बाकी जवाबों को सीमित संख्या में दोहराते हैं।

जवाबकारणक्या करें
503 busy, कारण request_limitसर्वर एक साथ ARKVORY_MAX_REQUESTS अनुरोध सँभालता है (डिफ़ॉल्ट रूप से 128)प्रतीक्षा करें। सीमा केवल पर्याप्त मेमोरी होने पर बढ़ाएँ। arkvory_http_requests_in_flight जाँचें
503 busy, कारण download_queuedबड़े ऑब्जेक्ट का डाउनलोड कतार में प्रतीक्षा कर रहा है; Arkvory-Queue-Position और Arkvory-Starts-At स्थान और अपेक्षित शुरुआत बताते हैंकुछ नहीं: SDK और arkvoryctl प्रतीक्षा करके जारी रखते हैं। अन्य क्लाइंट Retry-After के बाद उसी कुंजी से उसी पते से दोहराएँ
503 busyट्रांसफ़र कतार भरी है, कोई ट्रांसफ़र ARKVORY_TRANSFER_QUEUE_TIMEOUT_MS (20 सेकंड) से ज़्यादा प्रतीक्षा कर चुका है, या सर्वर रुकने से पहले ड्रेन कर रहा हैप्रतीक्षा करें और दोहराएँ। बार-बार हो तो ARKVORY_MAX_UPLOADS या ARKVORY_MAX_DOWNLOADS बढ़ाएँ। arkvory_transfer_admission_failures_total इनकारों की गिनती करता है
503 unavailableडेटाबेस फिर से शुरू हो रहा है, प्रक्रिया ने अपना स्टोरेज स्वामित्व खो दिया, या हब पहुँच से बाहर है (hub_unreachable)प्रतीक्षा करें। सेवाएँ खुद फिर से शुरू हो जाती हैं। स्वतः पुनर्प्राप्ति देखें
429 rate_limitedबहुत ज़्यादा साइन-इन, पंजीकरण, पासवर्ड या फ़ीडबैक प्रयासप्रतीक्षा करें। बहुत ज़्यादा प्रयास देखें

500 internal में Retry-After नहीं होता। इसे अंधाधुंध दोहराएँ नहीं। लॉग में उसका अनुरोध ID खोजें और उसे बताएँ।

डिस्क भरी और कोटा ​

जवाब, कारणकारणसमाधान
507 storage_fullस्टोरेज वॉल्यूम की मुक्त जगह रिज़र्व ARKVORY_STORAGE_RESERVE_BYTES (डिफ़ॉल्ट रूप से 1 GiB) से कम है, या डेटाबेस की डिस्क भरी हैवॉल्यूम पर जगह खाली करें। df -h या Get-PSDrive, और PostgreSQL का वॉल्यूम जाँचें
507 storage_quotaरिपॉज़िटरी कोटा खर्च हो गया हैपुराने बिल्ड हटाएँ, प्रतिधारण नीति बदलें, या स्टोरेज और क्लीनअप में कोटा बढ़ाएँ
507 catalog_limitसभी आरक्षित सामग्री का योग ARKVORY_CAPACITY_BYTES (डिफ़ॉल्ट रूप से 10 TiB) को पार कर जाएगासामग्री हटाएँ, या config/runtime.json में मान बढ़ाएँ
507 queue_fullकिसी खाते के पास 100 खुले पूर्णता जॉब हैं, या सर्वर के पास 10,000वर्कर के उन्हें पूरा करने की प्रतीक्षा करें

डिस्क भरी होने पर भी डाउनलोड और कंसोल काम करते रहते हैं। /health/ready में "writable": false दिखता है। Arkvory में कोई आर्टिफ़ैक्ट हटाने से डिस्क तुरंत खाली नहीं होती: फ़ाइल अपनी छूट अवधि के बाद भौतिक क्लीनअप की प्रतीक्षा करती है। स्टोरेज देखें। ज़्यादा डेटा ठूँसने के लिए रिज़र्व कम न करें, क्योंकि डेटाबेस और लॉग को इसकी ज़रूरत होती है।

बैकअप विफल होते हैं ​

बैकअप में चेतावनी या arkvoryctl backup status से शुरुआत करें, और errorCode के साथ लॉग इवेंट backup.request.failed तथा backup.agent.failed देखें। बैकअप देखें।

चेतावनी या संदेशकारणसमाधान
agent_offlineबैकअप सेवा रुकी है, या शुरू नहीं हो पातीarkvory-backup या Arkvorybackup शुरू करें। उसका लॉग पढ़ें
vault_unavailablevault वॉल्यूम माउंट नहीं है, उसमें vault.json नहीं है, या सेवा खाता उसमें लिख नहीं सकतासेवा शुरू होने से पहले वॉल्यूम माउंट करें। स्वामी और अनुमतियाँ जाँचें। Windows पर वॉल्यूम बाद में माउंट हुआ हो तो एजेंट फिर से शुरू करें
The vault directory does not exist; create it or mount its volume firstपथ गलत है या वॉल्यूम गायब हैडायरेक्टरी बनाएँ या माउंट करें
The vault directory is not writableसेवा खाते के पास लिखने की पहुँच नहीं हैLinux पर उपयोगकर्ता arkvory के uid और gid के साथ शेयर माउंट करें। Windows पर स्थानीय या iSCSI वॉल्यूम इस्तेमाल करें
The directory has no vault.json: mount the vault volume, or create the vault first ...डायरेक्टरी में कोई vault नहीं है (अनमाउंटेड शेयर भी ऐसा ही दिखता है); configure खुद एन्क्रिप्टेड vault नहीं बनातासही वॉल्यूम माउंट करें, या arkvory-backup vault init <dir> --kit-file <file> --agent-key-file <file> चलाएँ, kit को सर्वर से बाहर रखें, फिर --vault-key-file दें। --init-vault --vault-no-encryption बिना एन्क्रिप्शन का vault बनाता है
The vault must be outside the installation root and the storage directoryvault डेटा से अलग नहीं हैकिसी दूसरे वॉल्यूम पर अलग डायरेक्टरी चुनें
Network share paths are not supported ...Windows पर UNC पथ। LocalService SMB शेयर में साइन इन नहीं कर सकतास्थानीय या iSCSI वॉल्यूम के ड्राइव अक्षर का इस्तेमाल करें
The backup service cannot reach /home, /root, /run/user, /tmp or /var/tmpsystemd सैंडबॉक्स इन फ़ोल्डरों को छिपा देता हैदूसरी डायरेक्टरी चुनें
vault_full, vault_low_spacevault वॉल्यूम लगभग भरा हैजगह खाली करें या कम बिंदु रखें। पुराने बिंदु बने रहते हैं
vault_key_missing, vault_key_invalidvault एन्क्रिप्टेड है और एजेंट के पास कुंजी नहीं है, या ग़लत हैएजेंट की कुंजी के साथ arkvory configure --backup-vault DIR --vault-key-file FILE चलाएँ। देखें vault एन्क्रिप्ट करें
last_run_failedनवीनतम बैकअप विफल हुआarkvoryctl backup jobs से errorCode पढ़ें
verify_failedकोई बिंदु अपनी जाँच में विफल हुआvault न बदलें। इसे विश्लेषण के लिए रखें और इसकी सूचना दें

जब एजेंट 150 सेकंड के भीतर नया vault नहीं बताता, तो arkvory configure --backup-vault पुरानी सेटिंग बहाल कर देता है। अपडेट बैकअप एजेंट रोक देता है, इसलिए उस समय चल रहा बैकअप बाद में दोहराया जाता है। जब स्वतः अपडेट चालू हों, तो बैकअप का समय अपडेट के घंटे (डिफ़ॉल्ट रूप से 03:00 UTC) से बाहर रखें।

मिरर सिंक्रनाइज़ नहीं होता ​

कंसोल में मिरर खोलें: रुका हुआ मिरर कारण, अगला कदम और, जब हो, उसे ठीक करने वाला कमांड दिखाता है। यही स्थिति GET /api/v1/repositories/{repository}/mirror और वर्कर इवेंट mirror.step_failed में भी है। कॉपी हुई सामग्री से डाउनलोड काम करते रहते हैं। मिरर देखें।

errorCodeकारणसमाधान
mirror_unreachableस्रोत उत्तर नहीं देता: कनेक्शन अस्वीकार हुआ, समय सीमा समाप्त हुई या नाम रिज़ॉल्व नहीं होतानेटवर्क, फ़ायरवॉल और स्रोत जाँचें। वर्कर खुद फिर से कोशिश करता है
unauthorized या forbiddenस्रोत कुंजी अस्वीकार करता है, या कुंजी को रिपॉज़िटरी पढ़ने की अनुमति नहीं हैकुंजी को arkvory configure --mirror NAME --mirror-token-file FILE से बदलें, या स्रोत पर उसे पढ़ने की अनुमति दें। हर विफलता के बाद वर्कर कुंजी फिर से पढ़ता है
mirror_failedअधिक विशिष्ट कोड के बिना एक विफलतावर्कर लॉग पढ़ें
mirror_mismatchउसी ID की सामग्री स्रोत पर दूसरी हैकॉपी रखी जाती है। आर्टिफ़ैक्ट की जाँच करें
mirror_source_changedरिपॉज़िटरी के पास पहले से किसी दूसरे स्रोत की कॉपी है--mirror-detach से अलग करें, और नए स्रोत को नई रिपॉज़िटरी में मिरर करें
mirror_source_behindस्रोत पुनर्स्थापित या फिर से इंस्टॉल किया गया थायह खुद फिर से सीड करता है और कोड गायब हो जाता है
mirror_certificateस्रोत कंपनी या स्व-हस्ताक्षरित प्रमाणपत्र इस्तेमाल करता है, या उसका प्रमाणपत्र समाप्त हो गया है या उसके नाम से मेल नहीं खाताarkvory configure को --mirror-ca-file दें। जाँच कभी बंद नहीं की जाती

अन्य कोड और उनके बारे में क्या करें: मिरर, त्रुटि कोड। स्रोत को मिरर फ़ीड वाली रिलीज़ चाहिए। विफलता के बाद वर्कर 2 सेकंड प्रतीक्षा करता है, जो 5 मिनट तक दोगुना होता जाता है। बिना कैच-अप के सवा घंटे बाद ArkvoryMirrorStale चलता है।

अपडेट विफल हुआ ​

  1. विफलता पढ़ें। कंसोल में अपडेट संदेश दिखाता है। अपडेटर Windows पर logs\updater.log लिखता है, और Linux पर journalctl -u arkvory-update।
  2. इंस्टॉल किया गया संस्करण जाँचें: arkvory status --root <root>।
  3. अपना मामला खोजें।
मामलाक्या हुआक्या करें
वही डेटाबेस स्कीमा, सामान्य विफलताइंस्टॉलर ने पिछला संस्करण फिर से शुरू कियाकारण ठीक करें और फिर से अपडेट करें
कंसोल इंस्टॉलेशन अस्वीकार किया गया: डेटाबेस स्कीमा बदलने वाली रिलीज़ के लिए ताज़ा और सत्यापित बैकअप आवश्यक है। बैकअप स्टोरेज कनेक्ट करें और पहला बैकअप पूरा होने दें, फिर दोबारा जाँचें, या सर्वर पर मैन्युअल रूप से अपग्रेड करें। दिखाता हैस्कीमा बदलाव वाली रिलीज़ को सत्यापित बैकअप चाहिए, और इंस्टॉलर ने किसी भी बदलाव से पहले मना कर दियाकोई vault जोड़ें, पहले बैकअप की प्रतीक्षा करें, फिर जाँचें
माइग्रेशन विफल हुआउसका ट्रांज़ैक्शन रोलबैक हो गया, और पिछला संस्करण पिछले स्कीमा पर चलता हैकारण ठीक करें और फिर से अपडेट करें
अच्छे माइग्रेशन के बाद नया संस्करण शुरू नहीं हुआजर्नल maintenance-required कहता है और किसी बैकअप बिंदु का नाम लेता हैकारण ठीक करें और recover चलाएँ, जो अपडेट पूरा करता है। या पिछले संस्करण के साथ उस बिंदु को पुनर्स्थापित करें
अपडेटर मार दिया गया या मशीन की बिजली चली गईलॉक operation.lock और जर्नल बने रहते हैं। कुछ भी खुद आगे नहीं बढ़तानीचे दी गई प्रक्रिया
कंसोल होस्ट अपडेटर ने रिपोर्ट करना बंद कर दिया है। सर्वर पर शेड्यूलर और इंस्टॉलेशन लॉक जाँचें। या होस्ट अपडेटर कनेक्ट नहीं है। सर्वर व्यवस्थापक से कहें कि वह updates-connect से इसे कनेक्ट करे। दिखाता हैहोस्ट शेड्यूलर चल नहीं रहा या जुड़ा नहीं हैकार्य ProAnimaArkvoryUpdate (Windows) या arkvory-update.timer (Linux) जाँचें। इसे arkvory updates-connect --root <root> से जोड़ें

रुके हुए अपडेटर के बाद:

  1. शेड्यूलर रोकें और सुनिश्चित करें कि कोई अपडेटर न चल रहा हो। journal.json और लॉग सहेजें।

  2. उसके बाद ही इंस्टॉलेशन रूट में operation.lock फ़ाइल हटाएँ। अपडेट चलते समय इसे कभी न हटाएँ।

  3. recover चलाएँ:

    bash
    sudo arkvory recover --root /opt/proanima-arkvory
    powershell
    & 'C:\Program Files\ProAnima\Arkvory\arkvory.ps1' recover --root C:\ProgramData\ProAnima\Arkvory

    माइग्रेशन शुरू होने से पहले यह पिछला संस्करण बहाल करता है। माइग्रेशन शुरू होने के बाद यह माइग्रेशन दोहराता है और नया संस्करण शुरू करता है।

  4. /health/ready, पूर्णता कतार और एक परीक्षण डाउनलोड जाँचें। फिर शेड्यूलर दोबारा चालू करें।

arkvory updates-reset --root <root> स्थिति का मिलान करने के बाद स्वीकृत अपडेट अनुरोध साफ़ कर देता है। डाउनग्रेड संभव नहीं है। अपडेट देखें।

Docker ​

  • Windows के रीस्टार्ट के बाद कुछ नहीं चलता। Docker Desktop उपयोगकर्ता के साइन इन करने पर शुरू होता है। Start Docker Desktop when you sign in चालू करें, या नेटिव सेवाएँ इस्तेमाल करें।
  • Linux होस्ट के रीस्टार्ट के बाद कुछ नहीं चलता। जाँचें कि इंजन बूट पर शुरू होता है: systemctl is-enabled docker।
  • कंटेनर config/ में कोई फ़ाइल नहीं पढ़ सकता। कंटेनर उपयोगकर्ता node (uid 1000) के रूप में चलते हैं। इंस्टॉलर runtime.json, keys.json और health-token.txt को उनके लिए पढ़ने योग्य बनाता है। अगर किसी हाथ के संपादन ने स्वामी या मोड 0600 कर दिया, तो API Cannot read ARKVORY_KEYS_FILE (EACCES) के साथ रुक जाता है। इन तीन फ़ाइलों का मोड 0644 बहाल करें। config/ फ़ोल्डर खुद बंद रहता है।
  • vault लिखने योग्य नहीं है। एजेंट uid 1000 के रूप में चलता है, इसलिए vault उसका होना चाहिए। arkvory configure --backup-vault इसे config/compose.vault.yml फ़ाइल से सेट करता है। जिस शेयर को आप खुद माउंट करते हैं उसे uid=1000 चाहिए। हर मैनुअल Compose कमांड में -f config/compose.vault.yml शामिल करें, वरना up बिना vault के बैकअप कंटेनर बना देगा।
  • कोई कंटेनर unhealthy है। हेल्थ चेक हर 10 सेकंड में /health/ready कॉल करता है। Docker कंटेनर को चिह्नित करता है पर उसे फिर से शुरू नहीं करता। API कंटेनर का लॉग पढ़ें।

कंटेनर का लॉग दिखाएँ:

bash
docker logs --tail 100 proanima-arkvory-api-1

Windows सेवा शुरू नहीं होती ​

  1. स्थिति और एरर आउटपुट पढ़ें:

    powershell
    Get-Service Arkvoryapi, Arkvoryworker, Arkvorybackup, Arkvorydatabase
    Get-Content C:\ProgramData\ProAnima\Arkvory\logs\arkvory-api.err.log -Tail 50
  2. Windows Event Viewer खोलें, Windows Logs > System, और Service Control Manager के इवेंट खोजें।

  3. अपना कारण खोजें:

कारणसमाधान
रूट किसी उपयोगकर्ता प्रोफ़ाइल के अंदर है, या LocalService कोई पैरेंट फ़ोल्डर नहीं पढ़ सकतासमर्पित फ़ोल्डर में इंस्टॉल करें। अनुमतियाँ देखें
पोर्ट व्यस्त हैपोर्ट व्यस्त है देखें
डेटाबेस सेवा नहीं चल रहीArkvorydatabase शुरू करें। API हर 10 सेकंड में रीट्राई करता है
बूट के बाद सेवाएँ "देर से" शुरू हुईंउनका स्टार्ट प्रकार Automatic (Delayed Start) है। कुछ मिनट प्रतीक्षा करें
एंटीवायरस सॉफ़्टवेयर ने Node.js को क्वारंटीन कर दियाruntime\ में फ़ाइलों को अनुमति दें
Another installation owns this serviceकिसी दूसरे रूट में इंस्टॉलेशन की सेवाएँ मौजूद हैं। पहले उन्हें हटाएँ
कोई सेवा रुकी रहती हैआपने या किसी अपडेट ने उसे रोका। उसे Start-Service से शुरू करें

सेवाओं के स्टार्ट प्रकार और रिकवरी क्रियाएँ बहाल करने के लिए ग्राफ़िकल इंस्टॉलर फिर से चलाएँ। Windows देखें।

लॉग, अनुरोध ID और फ़ीडबैक ​

लॉग खोजें। Linux: journalctl -u arkvory-api -u arkvory-worker -u arkvory-backup। Windows: इंस्टॉलेशन रूट में logs\। Compose: docker logs <container>। प्रारूप और इवेंट मॉनिटरिंग में हैं।

अनुरोध ID खोजें। हर उत्तर में हेडर X-Request-Id होता है। हर एरर बॉडी में requestId होता है। कंसोल इसे संदेश के नीचे अनुरोध ID के रूप में दिखाता है, और कमांड-लाइन क्लाइंट इसे एरर पंक्ति में छापता है। इस मान के लिए API और वर्कर के लॉग खोजें ताकि अनुरोध और उससे शुरू हुए जॉब दिखें।

लॉग के साथ फ़ीडबैक भेजें।

  1. साइन इन करें और ऊपरी पट्टी में फ़ीडबैक चुनें।
  2. समस्या बताएँ और अनुरोध ID जोड़ें। आप अधिकतम 6 स्क्रीनशॉट जोड़ सकते हैं।
  3. अगर आप व्यवस्थापक हैं, तो सर्वर लॉग और सिस्टम सारांश चालू करें। यह API की नवीनतम लॉग पंक्तियाँ (लगभग 1.5 MiB) और बिना पतों व सीक्रेट के सिस्टम का सारांश संलग्न करता है।
  4. यह देखने के लिए संलग्न सामग्री दिखाएँ चुनें कि ठीक क्या भेजा जाएगा, फिर भेजें।

सर्वर रिपोर्ट को ProAnimaStudio हब पर भेजता है। अगर हब तक न पहुँचा जा सके या फ़ीडबैक बंद हो, तो कंसोल लिखने के लिए पता info@proanima.net दिखाता है। क्या भेजा जाता है, यह सुरक्षा में देखें।

Arkvory · ProAnimaStudio