Nextcloud HDD बदलें
नमस्ते, यह अक्षम है।
वास्तव में, यदि आप इसे क्लाउड पर होस्ट कर रहे हैं, तो डिस्क भ्रष्टाचार के कारण डेटा भंडारण स्थान बदलने की आवश्यकता केवल तभी उत्पन्न होगी जब आप पर्यावरण को स्थानांतरित कर रहे हों, लेकिन मैंने NextCloud डेटा को एक खराब हो रही HDD पर सहेज रखा था, इसलिए मैंने इसे एक अलग HDD स्थान पर निर्दिष्ट करने का निर्णय लिया।
मैं NextCloud का उपयोग केवल स्थानीय वातावरण में मीडिया प्लेयर के रूप में या अस्थायी और सरल तरीके से विभिन्न OS के बीच फ़ाइल साझाकरण के लिए करता हूँ, इसलिए मेरे पास कोई महत्वपूर्ण फ़ाइलें नहीं हैं। यह घर में किसी भी मशीन पर डेटा संग्रहीत करता है, उदाहरण के लिए, EEPROM एक्सट्रैक्शन के लिए एक मशीन की BIOS फ़ाइलें जो हमेशा चालू नहीं रहती हैं, या नोट्स बनाता है। या बस उन PDFs को फेंक देता है जो आपको पता चलता है कि जमा हो गए हैं।
वास्तव में, मुझे बस माउंट पॉइंट को बदलना था, इसलिए इसकी भी आवश्यकता नहीं थी, लेकिन चूंकि मैंने पहले से माउंटेड HDD के लिए एक अलग माउंट पॉइंट निर्दिष्ट किया है, मुझे लगता है कि यह अन्य शेल स्क्रिप्ट को भी प्रभावित कर सकता है, इसलिए मैं इसे मानसिक रूप से साफ-सुथरा रखने के लिए अलग से बनाऊंगा।
ईमानदारी से कहूं तो, मुझे NextCloud की config/config.php कॉन्फ़िगरेशन फ़ाइल में datadirectory के पथ को बदलने की भी आवश्यकता नहीं थी; मैं बस मूल निर्दिष्ट स्थान पर एक सिंबॉलिक लिंक बना सकता था, लेकिन मुझे यह अजीब लगता है, इसलिए मैं एक अलग HDD पर NextCloud डेटा के लिए एक अलग निर्देशिका बनाऊंगा और उसे निर्दिष्ट करूंगा।
※यह लेख डेटा माइग्रेशन के बारे में नहीं है, बल्कि केवल डिस्क बदलने के बारे में है।
डेटा निर्देशिका बनाना
हम पहले से माउंटेड HDD पर NextCloud डेटा के लिए एक निर्देशिका बनाएंगे।
और, ऐसा लगता है कि यदि आप .ocdata नहीं बनाते हैं तो आपको डांटा जाएगा, इसलिए मैं इसे touch कमांड से बनाऊंगा। मैं भूल गया था कि -R विकल्प के साथ भी, यह .files को पुनरावर्ती रूप से नहीं देखता है।
sudo mkdir /media/3t/ncdata
sudo touch /media/3t/ncdata/.ocdata
sudo chown www-data:www-data /media/3t/ncdata
sudo chown www-data:www-data /media/3t/ncdata/.ocdata
sudo chmod 750 /media/3t/ncdata
config.php संपादित करें
और, यदि datadirectory अब मौजूद नहीं है, तो आप रखरखाव मोड में भी प्रवेश नहीं कर सकते हैं, इसलिए मैं पहले config/php फ़ाइल को संपादित करके सेटिंग्स को बदलूंगा और फिर ऑपरेशन की पुष्टि सहित स्थिति में आगे बढ़ूंगा।
cd /your/nextcloud/dir
sudo vim config/config.php
और फिर, निम्नलिखित सेटिंग को उस निर्देशिका स्थान पर निर्दिष्ट करें जिसे आपने अभी बनाया है।
'datadirectory' => '/media/3t/ncdata',
अब, रखरखाव मोड को चालू करें, और यदि कोई त्रुटि नहीं होती है, तो इसे फिर से बंद कर दें।
cd /your/nextcloud/dir
$ sudo -u www-data php ./occ maintenance:mode --on
Maintenance mode enabled
$ sudo -u www-data php ./occ maintenance:mode --off
Maintenance mode disabled
ठीक है।
फ़ाइल स्कैन को फिर से चलाएँ
शायद, क्योंकि मैंने प्लगइन्स स्थापित किए हैं, यदि प्लगइन्स द्वारा निर्दिष्ट पथ में कोई निर्देशिका मौजूद नहीं है, तो NextCloud में लॉग इन करने के बाद मैं सामग्री नहीं देख पा रहा था और मुझे एक त्रुटि मिली।
रखरखाव मोड में फिर से प्रवेश करने के बाद, फ़ाइल स्कैन करें और फ़ाइल इंडेक्स को फिर से प्राप्त करें।
cd /your/nextcloud/dir
$ sudo -u www-data php ./occ maintenance:mode --on
Maintenance mode enabled
$ sudo -u www-data php ./occ files:scan --all
Starting scan for user 1 out of 2 (Fox)
Path not found: User folder /media/3t/ncdata/Fox/ exists in cache but not on disk
Starting scan for user 2 out of 2 (nextcloud)
Path not found: User folder /media/3t/ncdata/nextcloud/files exists in cache but not on disk
+---------+-------+-----+---------+---------+--------+--------------+
| Folders | Files | New | Updated | Removed | Errors | Elapsed time |
+---------+-------+-----+---------+---------+--------+--------------+
| 0 | 0 | 0 | 0 | 0 | 2 | 00:00:00 |
+---------+-------+-----+---------+---------+--------+--------------+
$ sudo -u www-data php ./occ maintenance:mode --off
Maintenance mode disabled
ओह... कुछ त्रुटि है...
इसलिए, मैं उन निर्देशिकाओं को बनाऊंगा जिनके न होने पर त्रुटि आ रही है।
sudo mkdir /media/3t/ncdata/Fox/files
sudo mkdir /media/3t/ncdata/nextcloud/files
sudo chown -R www-data:www-data /media/3t/ncdata
sudo chmod -R 750 /media/3t/ncdata
यह पूरा हो गया है।
फिर से स्कैन करें
cd /your/nextcloud/dir
sudo -u www-data php ./occ files:scan --all
यदि यह सफल होता है, तो यह सफलतापूर्वक पूरा हो गया है।
चूंकि इसकी पुष्टि हो गई है, मैं NextCloud डेटा फ़ाइलों के लिए केवल फ़ाइलों के लिए अनुमतियों को हटा दूंगा।
cd /media/3t
sudo find ./ncdata -type f -exec chmod 640 {} \;
पिछली बार, मैंने अपने Android डिवाइस पर अपने WireGuard VPN से कनेक्ट किया था, इसलिए अब मैं VPN से कनेक्ट होने पर NextCloud तक पहुँच सकता हूँ।
पहले, मैं MyDNS से मनमाने ढंग से प्राप्त एक मुफ्त DNS का उपयोग Nginx रिवर्स प्रॉक्सी के माध्यम से कर रहा था, लेकिन एक घटना थी जहां मीडिया प्लेबैक के दौरान सीक बार केवल रिवर्स प्रॉक्सी वातावरण में काम नहीं करता था, लेकिन वह भी हल हो गया है।
सुरक्षा के दृष्टिकोण से भी, मुझे लगता है कि मैं MyDNS के साथ उपयोग किए जा रहे डोमेन के माध्यम से पहुंच को समाप्त कर सकता हूं।
वैसे, मैं RAID का उपयोग क्यों नहीं करता, इसका कारण यह है कि मैंने अक्सर ऐसे मामले देखे हैं जहां RAID नियंत्रक के क्षतिग्रस्त होने पर लोगों को बहुत परेशानी हुई है, और मैं उस परेशानी से बचना चाहता हूं। यदि मैं ऐसा करता, तो यह ZFS होता, लेकिन मुझे लगता है कि मैं इसे तब स्थापित करना चाहूंगा जब मैं 5TB से अधिक डेटा क्षेत्र का उपयोग करना शुरू कर दूं।
व्यक्तिगत रूप से, मैं DC से बड़े पैमाने पर जारी होने वाले SSDs को लक्षित करना चाहता हूं और जब वे उपलब्ध हों तो उन्हें सुरक्षित करना चाहता हूं।
तो, बस इतना ही। फिर मिलेंगे।