क्या घर के फ़ोल्डर को एनएफएस के साथ होस्ट करना संभव है?


30

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

अभी मैं दो विकल्पों पर विचार कर रहा हूं। एक NFSed / होम /, या लॉगिन पर कॉपी / की एक स्थानीय कॉपी, लॉगआउट पर rsynced।

मेरी आशंका यह है कि फ़ाइलों के साथ काम करना बहुत धीमा हो सकता है, या मेरा नेटवर्क बंद हो सकता है


क्या आप कृपया "सुरक्षित" को दूसरे शब्द से बदल सकते हैं जो सुरक्षा से संबंधित है? शायद व्यवहार्य मेरियम-webster.com/dEDIA/feasible ?
बजे क्रिस्टियन सियुपिटु

1
थोड़ी समझदारी वुज़ू की। यह ठीक वही बात नहीं है, लेकिन यह एक दिलचस्प धागा है जो उन्हें वहां मिला है। hardware.slashdot.org/story/09/06/23/1823201/…
voyager

जवाबों:


30

मैं अपने उत्पादन वातावरण में अपने घर निर्देशिकाओं के लिए NFS का उपयोग करता हूं। एक-दो तरकीबें हैं।

  1. एनएफएस माउंट न करें /home- इस तरह से आपके पास एक स्थानीय उपयोगकर्ता हो सकता है जो आपको इस घटना में अनुमति देता है कि एनएफएस सर्वर नीचे चला जाता है। हम माउंट करते हैं/mnt/nfs/home

  2. नरम माउंट और बहुत कम समय का उपयोग करें - यह प्रक्रियाओं को हमेशा के लिए अवरुद्ध होने से रोकेगा।

  3. ऑटोमोटिव का उपयोग करें । यह संसाधन उपयोग को कम रखेगा और इसका अर्थ यह भी है कि एनएफएस सर्वर के किसी कारण से नीचे आने पर आपको सेवाओं को फिर से शुरू करने के बारे में चिंता करने की आवश्यकता नहीं है।

    auto.master:
      +auto.master
      /mnt/nfs /etc/auto.home --timeout=300
    
    auto.home
       home -rw,soft,timeo=5,intr      home.bzzprod.lan:/home
    
  4. एकल साइन-ऑन सिस्टम का उपयोग करें ताकि आप अनुमति संबंधित समस्याओं में न चलें। मेरे पास एक OpenLDAP सर्वर है।


मैंने हमेशा आटोमैटिकली को बहुत अविश्वसनीय रूप से अविश्वसनीय पाया है और लॉक करने के लिए प्रवण है, खासकर अगर एनएफएस सर्वर नीचे चला जाता है। यदि आप / mnt / nfs / home पर माउंट करते हैं, तो क्या आप उपयोगकर्ता के घर को / etc / passwd में सेट करते हैं?
pjc50

2
ठीक है, / etc / passwd और NFS बढ़ते होम डायर का उपयोग करना एक बुरा विचार है, क्योंकि आपको UID और GID को सिंक में रखना है - OpenLDAP जैसी किसी चीज़ का उपयोग करें, लेकिन हाँ, उपयोगकर्ता के होम डायर को / mfs / nfs / होम पर सेट किया गया है /उपयोगकर्ता नाम।
हारून ब्राउन 15

@AaronBrown मैं मानता हूं कि यदि आप नेटवर्क पर $ HOME डालने जा रहे हैं, तो आपको नेटवर्क पर उपयोगकर्ता की पहचान और प्रमाणीकरण भी डाल देना चाहिए। भले ही आप ऐसा कैसे करें, $ HOME को कहीं न कहीं परिभाषित किया जाना चाहिए और आपने संकेत दिया है कि आप इसे सेट करना पसंद करते हैं, /mnt/nfs/homeलेकिन फिर /homeआउटेज के दौरान आप अपने स्थानीय का उपयोग कैसे करते हैं ? विशेष रूप से, कृपया unix.stackexchange.com/questions/189404/…
JFlo

8

http://www.howtoforge.com ने हाल ही में GlFSFS को NFS प्रतिस्थापन / विकल्प के रूप में उपयोग करने पर एक लेख पोस्ट किया है, आप इसे जांचना चाह सकते हैं।

http://www.howtoforge.com/creating-an-nfs-like-standalone-storage-server-with-glusterfs-on-debian-lenny

यहाँ एक छोटा वर्णन है कि क्यों इसका अच्छा 'संभव' एनएफएस के लिए विकल्प, GlusterFS परियोजना पृष्ठ http://www.gl.org.org से है :

"GlusterFS फ्लाई पर सेल्फ हीलिंग करता है। कोई fsck नहीं है। स्टोरेज बैकएंड सीधे नियमित फाइल और फोल्डर (NFS स्टाइल) के रूप में उपलब्ध है। प्रतिकृति सक्षम होने के साथ, GlusterFS हार्डवेयर विफलताओं को बर्दाश्त कर सकता है।"

अधिक जानकारी परियोजना प्रलेखन में पाई जा सकती है।

इसके अलावा, GlusterFS का उपयोग करने के बारे में एक और अच्छी बात यह है कि यदि आपको अपने SAN पर अधिक स्थान की आवश्यकता है तो आप सिर्फ एक और स्टोरेज ब्रिक (सर्वर नोड) जोड़ते हैं और जब जरूरत होती है तो आप अपने स्टोरेज को पैरालल में स्केल / बढ़ा सकते हैं।

आशा है कि यह मदद करता है या कम से कम आपको सही दिशा में इंगित करने में मदद करता है!


7

नरम माउंट के साथ सावधान रहें! सॉफ्ट माउंटिंग एनएफएस फाइलसिस्टम का अर्थ है कि समय समाप्त होने के बाद आईओ विफल हो जाएगा। सुनिश्चित करें कि आप उपयोगकर्ताओं की होम निर्देशिकाओं पर क्या चाहते हैं! मेरा अनुमान है आप नहीं हैं इंट्रा विकल्प के संयोजन में घर निर्देशिकाओं पर एक कठिन माउंट का उपयोग करना यहां बहुत सुरक्षित लगता है।

हार्ड टाइमआउट नहीं होगा: आईओ संचालन अनिश्चित काल के लिए वापस लिया जाएगा। इंट्रो विकल्प बढ़ते प्रक्रिया को बाधित करना संभव बनाता है। इसलिए यदि आप निर्यात माउंट करते हैं और विफलता का अनुभव करते हैं, तो हार्ड-माउंट आपके सत्र को बंद कर देगा। अंतर विकल्प से माउंट को बाधित करना संभव हो जाएगा, इसलिए संयोजन बहुत सुरक्षित है और यह सुनिश्चित करता है कि आप आसानी से उपयोगकर्ता के डेटा को नहीं खोएंगे।

वैसे भी, ऑटोफोक यह सब और भी आसान बना देता है।


1
ध्यान दें कि intrमाउंट विकल्प को कर्नेल में 2.6.2 के बाद अपदस्थ
myrdd

4

ध्यान देने वाली एक बात यह है कि जब एनएफएस सर्वर बाहर हो जाता है - तो आपका माउंट फ्रीज हो जाएगा - सॉफ्ट माउंट करने से ब्लॉक नहीं होगा "फ्रीज" से खुद को बचा जा सकता है, हालांकि यह घर निर्देशिकाओं की समस्या को ठीक नहीं करेगा जैसे कि घर के बिना निर्देशिका, उपयोगकर्ता वैसे भी खराब है।

यहां तक ​​कि जब एनएफएस सर्वर ठीक हो जाता है, जब तक आप इसके बारे में कुछ नहीं करते हैं, तो फ्रीज समस्या बनी रहेगी - आपको बढ़ते मशीन पर प्रक्रिया को मारना होगा, और रिमाउंट करना होगा। इसका कारण यह है कि जब एनएफएस सर्वर वापस आता है, तो उसने एक अलग असाइन किया है fsid- इसलिए आप कम से कम इस समस्या fsidको एनएफएस सर्वर पर हार्ड-कोडिंग द्वारा ठीक कर सकते हैं , उदाहरण के लिए ...

#. Home Directories
/usr/users \
  192.168.16.0/22(rw,sync,no_root_squash,fsid=1) \
  192.168.80.0/22(rw,sync,no_root_squash,fsid=1)

#. Scratch Space
/var/ftp/scratch \
  192.168.16.0/22(rw,async,no_root_squash,fsid=3) \
  192.168.80.0/22(rw,async,no_root_squash,fsid=3) \
  172.28.24.151(rw,async,root_squash,fsid=3)

exports(5)आदमी पेज में कहा गया है ...

fsid=num
          This option forces the filesystem identification portion of the file handle
          and  file attributes used on the wire to be num instead of a number derived
          from the major and minor number of the block device on which the filesystem
          is  mounted.   Any 32 bit number can be used, but it must be unique amongst
          all the exported filesystems.

          This can be useful for NFS failover, to ensure that  both  servers  of  the
          failover  pair use the same NFS file handles for the shared filesystem thus
          avoiding stale file handles after failover.

... जबकि यह इंगित करता है कि जब तक प्रमुख / मामूली संख्या में परिवर्तन नहीं होता (जो कि वे आमतौर पर नहीं करते हैं, सिवाय इसके कि जब आप सैन / मल्टीपल वॉल्यूम का निर्यात कर रहे हों, जहां परिवर्तन हो सकता है), मैंने पाया है कि हम 'ने पूरी तरह से समस्या को दूर कर दिया - यानी, यदि एनएफएस सर्वर वापस आता है - कनेक्शन जल्दी से बहाल हो गया है - मुझे अभी भी वास्तव में नहीं पता है कि इसने /dev/sdaXउदाहरण के लिए जैसे उपकरणों के लिए अंतर क्यों बनाया है ।

मुझे अब यह बताना चाहिए कि मेरा तर्क काफी हद तक महत्वपूर्ण है - यह वास्तव में समझ में नहीं आता है कि इसने समस्या को क्यों तय किया है, लेकिन इसे तय करने के लिए "ऐसा लगता है" - किसी तरह - शायद यहां खेलने के लिए अन्य चर हैं जो मैंने किए हैं अभी तक खोजा नहीं गया है। =)


क्या आप इस "बेतरतीब" fsid के बारे में निश्चित हैं जो सर्वर द्वारा उपयोग किया जाता है?
क्रिस्टियन सियुपिटु

हाय क्रिस्टियन - मैंने ऊपर समझाने की कोशिश की है - लेकिन मैं ध्वज के मैन पेज विवरण के संबंध में व्यवहार को पूरी तरह से स्पष्ट नहीं कर सकता। क्या आपने इसे आज़माया है और अन्यथा देखा है?
Xerxes

4

कुछ सामान्य सलाह जो आपके द्वारा अपनाए गए नेटवर्क फाइलसिस्टम पर कोई फर्क नहीं पड़ता है: उपयोगकर्ता के होम डायरेक्टरी में कई प्रोग्राम कैश डेटा देते हैं, जो आमतौर पर होम डाइरेक्टरी के नेटवर्क पर पहुंचने पर अच्छे से ज्यादा नुकसान करता है।

इन दिनों, आप XDG_CACHE_HOMEएक लॉगिन स्क्रिप्ट में पर्यावरण चर सेट करके अपने कैश को कहीं और (उदाहरण के लिए, स्थानीय डिस्क पर) स्टोर करने के लिए कई कार्यक्रम बता सकते हैं । बहुत सारे कार्यक्रम (जैसे, फ़ायरफ़ॉक्स) को अभी भी मैनुअल कॉन्फ़िगरेशन की आवश्यकता होती है, हालांकि, आपको अपने सभी उपयोगकर्ताओं के लिए समान रूप से उन्हें पहचानने और कॉन्फ़िगर करने के लिए कुछ अतिरिक्त काम करना होगा।


+1 मुझे Google Chrome और NFS होम डायर के साथ प्रदर्शन समस्याएं हैं। Chrome की कार्यशील निर्देशिकाओं को वापस स्थानीय प्रणाली में ले जाकर इसे ठीक किया, फिर NFS होम डायर (जहाँ Chrome को dirs को खोजने की उम्मीद है) से एक सिमलिंक रखकर, स्थानीय निर्देशिका में वापस आ गया। मैंने जो किया है, उसे करने का एक बेहतर तरीका हो सकता है, लेकिन इसने मेरे लिए समस्या को हल कर दिया है।
ब्रायन

ब्रायन (मार्च 9) ने एक अच्छा आंशिक उत्तर छोड़ा, हालांकि, मैं इस मुद्दे पर विस्तार से बताना चाहता हूं। कृपया करें ... धन्यवाद .. आपने स्थानीय मशीन में काम करने वाली निर्देशिकाओं को कैसे स्थानांतरित किया, और सहानुभूति को स्थान दिया।
जेसन

इसके अलावा XDG_RUNTIME_DIRDconf डेटाबेस स्थान के लिए वर्णित देखें: developer.gnome.org/dconf/unstable/dconf-overview.html
JKnight

3

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


2

मैं एक NFSed घर का उपयोग करता हूं और यह ठीक काम करता है। लेकिन आपको यह सुनिश्चित करना चाहिए कि नेटवर्क काफी तेज है और यह कभी भी डाउन नहीं होगा।


2

व्यावहारिक रूप से, एनएफएस घर की निर्देशिका के लिए अच्छा प्रदर्शन करता है यदि 100 मीटर का स्विचड नेटवर्क या बेहतर हो। अधिक से अधिक 10-20 कियोस्क के लिए, सर्वर में गीगाबिट कनेक्टिविटी होनी चाहिए। आप प्रदर्शन प्रतियोगिता नहीं जीतेंगे, लेकिन फ़ायरफ़ॉक्स और ओपन ऑफ़िस जैसी चीजें ठीक काम करेंगी।

होम डायरेक्टरी में नकल करने से लॉगिन में देरी की अवधि में एक बड़ी पीड़ा होगी (100 एमबीबी नेटवर्क पर जो कि अधिकतम एमबीएम / एस है। 100 एमबी होम डायरेक्टरी 10 सेकंड के करीब है।) रुपये आपको वेब ब्राउजर कैश सिंक कर देगा। मिनट और 500 फाइलें चोट लगीं।


1

कैशेफाइल्स पर एक नजर । मैंने स्वयं इसका उपयोग नहीं किया है, लेकिन यह आशाजनक लगता है।

कैशेफिल्ड डेमन कैशिंग फ़ाइलों और निर्देशिका का प्रबंधन करता है जो कि नेटवर्क फाइल सिस्टम जैसे एएफएस और एनएफएस द्वारा स्थानीय डिस्क पर लगातार कैशिंग करने के लिए उपयोग किए जाते हैं।

इसके अलावा, rsize और wsize मापदंडों को ट्यून करना न भूलें और यदि संभव हो तो जंबो फ्रेम का उपयोग करें।


मैंने कई वर्षों तक कैशफाइल्स की कोशिश की है लेकिन सभी अस्थिरता के कारण इसे छोड़ दिया। YMMV
JFlo
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.