उबंटू - डिवाइस पर कोई स्थान नहीं बचा (NTFS)


11

मेरे पास एक सर्वर है जो बहुत सारे डेटा संग्रहीत करता है, मैं कई नेस्टेड निर्देशिकाओं को उन लाखों फाइलों के साथ रखता हूं।

एक बड़ी निर्देशिका (~ 700GB) को एक डिस्क से दूसरे में ले जाने की कोशिश करते समय मुझे एक त्रुटि मिलती है:

mv /media/storage3/dir /media/storage4/

"No space left on device"

इसके अलावा, डिस्क पर एक छोटी txt फ़ाइल बनाने की कोशिश करने से काम नहीं होता है:

Error opening file '/media/storage4/Untitled Document': No space left on device

मैंने कई विकल्प ऑनलाइन चेक किए, कोई भी काम नहीं किया।

df -h आउटपुट:

Filesystem      Size  Used Avail Use% Mounted on
/dev/sdg7        77G  9.2G   64G  13% /
none            4.0K     0  4.0K   0% /sys/fs/cgroup
udev             32G  4.0K   32G   1% /dev
tmpfs           6.3G  1.4M  6.3G   1% /run
none            5.0M     0  5.0M   0% /run/lock
none             32G   76K   32G   1% /run/shm
none            100M   48K  100M   1% /run/user
/dev/sdg6        19G  6.7G   11G  39% /home
/dev/sdb1       440G  278G  140G  67% /var
/dev/sda1       2.8T  2.0T  764G  73% /media/storage1
/dev/sdh1       2.8T  1.6T  1.3T  56% /media/storage2
/dev/sdi1       2.8T  1.7T  1.2T  60% /media/storage3
/dev/sdf1       2.8T  876G  1.9T  32% /media/storage4

df -i आउटपुट:

Filesystem         Inodes    IUsed      IFree IUse% Mounted on
/dev/sdg7         5079040   514215    4564825   11% /
none              8242449        2    8242447    1% /sys/fs/cgroup
udev              8239750      611    8239139    1% /dev
tmpfs             8242449      696    8241753    1% /run
none              8242449        5    8242444    1% /run/lock
none              8242449        4    8242445    1% /run/shm
none              8242449       28    8242421    1% /run/user
/dev/sdg6         1220608   218613    1001995   18% /home
/dev/sdb1        29310976 12863877   16447099   44% /var
/dev/sda1       858436804 41630853  816805951    5% /media/storage1
/dev/sdh1      1356948436 38728057 1318220379    3% /media/storage2
/dev/sdi1      1217505624 34748869 1182756755    3% /media/storage3
/dev/sdf1      2048962648 36308921 2012653727    2% /media/storage4

ऑनलाइन पढ़ते हुए, लोगों ने कहा कि बड़ी मात्रा में फ़ाइलों तक पहुंच के कारण ऐसी समस्याएं होती हैं और यह एक उच्च राशि के लिए fs.inotify.max_user_watches सेटिंग इसे हल कर सकती है, मैंने इसे 8192 से बढ़ाकर 1000000 कर दिया, लेकिन इससे कोई फायदा नहीं हुआ।


क्या आपने कोशिश की है lsof +L1? आदमी lsof: फॉर्म + L1 का एक विनिर्देश उन खुली फ़ाइलों का चयन करेगा जिन्हें अनलिंक किया गया है।
एबी

तंत्र mvका उपयोग करने का कोई कारण नहीं inotifyहै। यहाँ एक नज़र डालें : कुछ प्रक्रियाएँ अभी भी गंतव्य फ़ाइल सिस्टम से अनलंकृत फ़ाइलों का उपयोग कर सकती हैं।
जॉन डब्ल्यूएच स्मिथ

हटाए गए फ़ाइल अभी भी दिए गए उपयोग में दिखाई देंगे df...
स्टीफन किट

@StephenKitt सं। अनलिंक की गई फाइलें जो कि इनकोड रेफरेंस के कारण फाइल सबसिस्टम के पास होती हैं। जो पूरी तरह से अप्रयुक्त और अनलिंक हो गए ("हटाए गए") दिखाई नहीं देते हैं। यहाँ देखें
जॉन डब्ल्यूएच स्मिथ

1
ntfsinfo -m /dev/DEVसुराग के लिए जाँच करें । यह ntfs-3G का हिस्सा है। यह भी ध्यान दें कि एक NTFS वॉल्यूम पर केवल 2 ^ 32 फाइलें ही हो सकती हैं। मैं किसी भी देशी लिनक्स / यूनिक्स उपकरण पर भरोसा नहीं करूँगा, जो एनटीएफएस इनोड्स की ठीक-ठीक गणना कर सके।
मिक्की

जवाबों:


1

निम्नलिखित चलाएँ:

lsof -s | sort -nrk 7 | head

आप आउटपुट को इस तरह देखेंगे:

firefox    2997                     j   52rr     REG              252,0 10485760    5505182 /some/path
firefox    2997                     j   50rr     REG              252,0 10485760    5505182 /some/path
firefox    2997                     j    3rr     REG              252,0 10485760    5505182 /some/path
firefox    2997                     j   39rr     REG              252,0 10485760    5505182 /some/path
firefox    2997                     j   31ur     REG              252,0 10485760    5505182 /some/path

ध्यान दें; उपरोक्त केवल एक उदाहरण है जिसे आपको अंतरिक्ष उपयोग खोजने के लिए अपने निर्णय का उपयोग करने की आवश्यकता होगी।

उत्पादन के बारे में:

  • कॉलम 7 उपयोग में अंतरिक्ष का आकार है।
  • कॉलम 4 फ़ाइल डिस्क्रिप्टर है।

आप उस स्थान को वापस पाने के लिए फ़ाइल-डिस्क्रिप्टर पर सामग्री को निकाल सकते हैं:

cat /dev/null > /proc/2997/fd/50

जाहिर है कि यह उस फाइल डिस्क्रिप्टर के सभी डेटा को नष्ट कर देगा।


यदि समस्याएं फिर से होती हैं, तो मैं इसे एक कोशिश
दूंगा

0

आप सभी डेटा को कॉपी करने के लिए टार की कोशिश कर सकते हैं, फिर बाद में इसे हटा सकते हैं:

cd /media/storage3/; tar cfp - ./dir | ( cd /media/storage4; tar xfp - )

यह सभी स्वामित्व, अनुमतियां और लिंक संरक्षित करेगा


कोई कॉपी काम नहीं किया .. इतना ही नहीं, एक साधारण खाली फ़ाइल बनाने से कोई अपवाद नहीं बचा
पीटरएन

0

मैंने rsync -avrz storage3 storage4बाद में फ़ाइलों का उपयोग और फिर हटा दिया होगा, लेकिन मुझे एक और सवाल मिला कि आपके पास NTFS फाइलसिस्टम का उपयोग करने वाले शेयर क्यों हैं यदि आप लिनक्स (उबंटू) का उपयोग कर रहे हैं तो मैं ext4 या ReiserFS, ButterFS के लिए चला गया होगा। यदि वे शेयर विंडोज बॉक्स पर स्थित हैं, तो कृपया कोशिश करें और उन फाइलों को विंडोज से विंडोज पर रोबोकॉपी का उपयोग करके स्थानांतरित करें, जो इस संबंध में उत्कृष्ट है। रोबोकॉपी ज्यादातर rsync की तरह काम करता है।

rsync के लिए मैन पेज: http://linux.die.net/man/1/rsync

रोबोकॉपी के लिए सहायता पृष्ठ: https://technet.microsoft.com/en-us/library/cc733145.aspx

लिनक्स के लिए 3 जी-एनटीएफएस ड्राइवरों के लिए समर्थन पृष्ठ: www.tuxera.com/community/open-source-ntfs-3g/

3G-ntfs के लिए अक्सर पूछे जाने वाले प्रश्न: www.tuxera.com/community/ntfs-3g-faq/

मुझे संदेह है कि आपके उबंटू स्थापना में उपयोग किए जा रहे NTFS फाइलसिस्टम ड्राइवरों के अंदर कुछ निश्चित होना चाहिए, जो आप NTFS के वितरण का उपयोग कर रहे हैं, आप डिस्क को कैसे माउंट करते हैं, क्या वे उस ubuntu बॉक्स से जुड़े हैं जो आप बैठे हैं या वे माउंट किए गए हैं एक से iSCSI का उपयोग कर SAN?

इस समस्या निवारण के अलावा और भी कुछ है, "मैं अपनी फ़ाइलों को NTFS पर स्थित नहीं कर सकता और मैं उन्हें स्थानांतरित करने के लिए ubuntu चला रहा हूं।"


जैसा कि उल्लेख किया गया है, किसी भी प्रतिलिपि ने काम नहीं किया, मैंने सभी प्रकार के rsync आदेशों की कोशिश की। लेकिन, यहां तक ​​कि Storage4 पर एक खाली फ़ाइल बनाने से एक अपवाद वापस आ गया। \ n NTFS का उपयोग करने का कारण यह है कि हमारे पास अन्य सर्वर हैं, जो विंडोज़ चलाते हैं, और हम एक सर्वर से दूसरे सर्वर में आसानी से स्थानांतरण की अनुमति देना चाहते थे। रेट्रोस्पेक्ट में, मैंने NTFS का उपयोग नहीं किया होगा क्योंकि इसके साथ सभी समस्याएं आती हैं, Ubuntu एक NTFS माउंट के साथ बहुत अस्थिर है। \ n डिस्क को SATA केबल के माध्यम से सीधे कंप्यूटर पर मदरबोर्ड से जोड़ा जाता है, कोई SAN या कुछ भी नहीं। यह लिनक्स सिस्टम पर एक सीधा माउंट है।
पीटरएन

मैं आपको दो चीजों की सलाह दूंगा, जब MS तकनीकों का उपयोग करके शुद्ध एमएस जाना है, तो Microsoft Windows Fileserver का उपयोग करें यदि आपको NTFS की आवश्यकता है, तो ext4 या अन्य लिनक्स फाइल सिस्टम के साथ जाएं और डिस्क को Smb के साथ साझा करें।
OMG-1

अपने आप को कुछ समस्याओं से बचाएं और कभी भी खिड़कियों और लिनक्स को मिलाने की कोशिश न करें। मदद की कोई भी राशि आपको लंबे समय तक नहीं बचाएगी, अंततः यह हमेशा आँसू में समाप्त हो जाएगी। यह इनकोड या फ़ाइल हैंडल के साथ एक समस्या की तरह प्रतीत होता है, लेकिन जब आप मिश्रण में एनटीएफएस डालते हैं ... टाइम बम। यदि आपके वातावरण को Linux और NTFS के इंटरैक्शन की आवश्यकता है, तो NTFS को एक विंडोज़ सर्वर पर रखें और उस तरह से इंटरैक्शन करें। एक ही सिस्टम पर संयोजन करने की कोशिश नहीं कर रहा।
बाजीगर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.