यूनिक्स सर्वर विभाजन और फाइलसिस्टम लेआउट


29

इंटरनेट पर यूनिक्स सर्वर के विभाजन के बारे में कई विरोधाभासी जानकारी है, इसलिए मुझे आगे बढ़ने के लिए कुछ सलाह की आवश्यकता है।

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


मूल रूप से मेरे पास एक सर्वर है जिस पर मैं एक बुनियादी LAMP स्टैक (Apache, PHP, और MySQL) चला रहा हूँ। यह फ़ाइल अपलोड (2GB तक) को संभालना होगा। सिस्टम में 2TB RAID 1 सरणी है।

मैं सेट करने की योजना बना रहा हूं:

/         100GB 
/var     1000GB (apache files and mysql files will be here), 
/tmp      800GB (handles the php tmp file)
/home      96GB
swap        4GB

क्या यह ध्वनि समझदार है, या मैं चीजों को उलझा रहा हूं?


1
आपका अंतिम लक्ष्य क्या है? वास्तव में आप क्या हासिल करने की कोशिश कर रहे हैं?
स्कॉट पैक

9
हालाँकि, आप इसे उत्कीर्ण करने का निर्णय लेते हैं, मैं सुझाव दूंगा कि आपके विभाजन को परिभाषित करने के लिए LVM का उपयोग किया जाए और फिर रूढ़िवादी रूप से अंतरिक्ष आवंटित किया जाए, जिससे कुछ डिस्क स्थान बिना रुके निकल जाएं। फिर जब आप तय करते हैं कि आपको कहीं और जगह की जरूरत है, तो आप सिर्फ LV और फाइल सिस्टम को बढ़ा सकते हैं।
ktower

जवाबों:


33

एक बात का ध्यान रखें जब अपने विभाजन बाहर रखना विफलता मोड हैं। आमतौर पर वह प्रश्न फॉर्म का होता है: "जब विभाजन x भरता है तो क्या होता है ?" सबसे प्यारे voretaq7 ने /समस्याओं का निदान करने के लिए किसी भी संख्या में मुश्किल के कारण स्थिति को पूर्ण रूप से लाया । आइए कुछ और विशिष्ट स्थितियों को देखें।

यदि आपका विभाजन भंडारण लॉग से भरा है तो क्या होगा? आप ऑडिटिंग / रिपोर्टिंग डेटा खो देते हैं और कभी-कभी हमलावरों द्वारा उनकी गतिविधि को छिपाने के लिए उपयोग किया जाता है। कुछ मामलों में आपका सिस्टम नए उपयोगकर्ताओं को प्रमाणित नहीं करेगा यदि यह उनके लॉगिन ईवेंट को रिकॉर्ड नहीं कर सकता है।

/varपूर्ण होने पर RPM आधारित प्रणाली पर क्या होता है? पैकेज प्रबंधक संकुल को स्थापित या अद्यतन नहीं करेगा और, आपके विन्यास के आधार पर, चुपचाप विफल हो सकता है।

विभाजन को भरना आसान है, खासकर जब कोई उपयोगकर्ता इसे लिखने में सक्षम हो। मस्ती के लिए, इस आदेश को चलाने के लिए और देखते हैं कि कैसे जल्दी से आप एक बहुत बड़ी फ़ाइल बना सकते हैं: cat /dev/zero > zerofile

यह विभाजन को भरने से भी आगे बढ़ जाता है, जब आप अलग-अलग आरोह बिंदुओं पर स्थान बनाते हैं तो आप उनके माउंट विकल्पों को भी अनुकूलित कर सकते हैं।

जब /dev/घुड़सवार नहीं होता है तो क्या होता है noexec? चूंकि /devआमतौर पर ओएस द्वारा बनाए रखा जाता है और इसमें केवल वे उपकरण होते हैं जिन्हें अक्सर (और कभी-कभी अभी भी) दुर्भावनापूर्ण कार्यक्रमों को छिपाने के लिए उपयोग किया जाता है। छोड़ने से noexecआप वहां संग्रहीत बायनेरिज़ लॉन्च कर सकते हैं।

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

यदि हम RedHat Enterprise Linux 6 को देखते हैं, तो अनुशंसित विभाजन योजना यह है:

# Mount point           Mount options
/tmp                    nodev,nosuid,noexec
/var                    
/var/tmp                bind (/tmp)
/var/log
/var/log/audit
/home                   nodev
/dev/shm                nodev,nosuid,noexec

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

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

अधिक क्रियात्मक होने के लिए, और उद्धरण mount(8), यह ठीक वही है जो उपरोक्त प्रयुक्त विकल्प हैं:

noexec माउंटेड फ़ाइल सिस्टम पर किसी भी बायनेरिज़ के प्रत्यक्ष निष्पादन की अनुमति न दें। (हाल ही में जब तक /lib/ld*.so / mnt / बाइनरी जैसी कमांड का उपयोग करके बायनेरिज़ को चलाना संभव था। लिनक्स 2.4.25 / 2.6.0 के बाद से यह चाल विफल रहती है।)

नोडv फ़ाइल सिस्टम पर चरित्र की व्याख्या या विशेष उपकरणों को ब्लॉक न करें।

nosuid सेट-उपयोगकर्ता-पहचानकर्ता या सेट-समूह-पहचानकर्ता बिट्स को प्रभावी होने की अनुमति न दें। (यह सुरक्षित लगता है, लेकिन वास्तव में असुरक्षित है यदि आपके पास suidperl (1) स्थापित है।)

सुरक्षा दृष्टिकोण से ये जानने के लिए बहुत अच्छे विकल्प हैं क्योंकि वे आपको फाइल सिस्टम पर सुरक्षा प्रदान करने की अनुमति देंगे। अत्यधिक सुरक्षित वातावरण में आप noexecविकल्प भी जोड़ सकते हैं /home। यह आपके मानक उपयोगकर्ता के लिए डेटा को संसाधित करने के लिए शेल स्क्रिप्ट लिखने के लिए कठिन बना देगा, लॉग फ़ाइलों का विश्लेषण करने के लिए कहेंगे, लेकिन यह उन्हें एक बाइनरी निष्पादित करने से भी रोकेगा जो विशेषाधिकारों को ऊंचा करेगा।

इसके अलावा, ध्यान रखें कि रूट उपयोगकर्ता की डिफ़ॉल्ट होम निर्देशिका है /root। इस का अर्थ है उस में हो जाएगा /फाइल सिस्टम, नहीं में /home

सटीक रूप से आप प्रत्येक विभाजन को कितना देते हैं, सिस्टम वर्कलोड के आधार पर बहुत भिन्न हो सकता है। एक विशिष्ट सर्वर जिसे मैंने प्रबंधित किया है, को शायद ही कभी व्यक्ति के संपर्क की आवश्यकता होगी और जैसे कि /homeविभाजन को बहुत बड़ा होने की आवश्यकता नहीं है। यह उसी पर लागू होता है /varक्योंकि यह एपर्मेरल डेटा को संग्रहीत करता है जो अक्सर बनाया और हटा दिया जाता है। हालांकि, एक वेब सर्वर आमतौर पर /var/wwwअपने खेल के मैदान के रूप में उपयोग करता है , जिसका अर्थ है कि या तो एक अलग विभाजन पर होना चाहिए या /var/बड़े होने की आवश्यकता है।

अतीत में मैंने आधारभूत के रूप में निम्नलिखित की सिफारिश की है।

# Mount Point       Min Size (MB)    Max Size (MB)
/                   4000             8000
/home               1000             4000
/tmp                1000             2000
/var                2000             4000
swap                1000             2000
/var/log/audit       250

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


1
noexecअवलोकन सामान्य रूप में एक महत्वपूर्ण एक है - यह माउंट करने के लिए अच्छा अभ्यास माना जाता है /tmpके साथ noexecध्वज ब्राउज़र सुरक्षा कारनामे के माध्यम से दुर्भावनापूर्ण उपयोगकर्ताओं को अपलोड करने रूटकिट से बचने के लिए। इसी तरह /homeअक्सर मुहिम शुरू की जाती है nosuidक्योंकि सेतु बायनेरिज़ के होने का कोई कारण नहीं है। पुन: /devऔर noexec, कई (हालांकि सभी नहीं) आधुनिक सिस्टम /devअक्सर एक devfsफाइल सिस्टम है और उपयोगकर्ताओं को नियमित रूप से सभी फाइलों को बनाने / संग्रहीत करने की अनुमति नहीं देता है ( Operation not supportedउबंटू पर यह रिटर्न " ", udevफाइल सिस्टम /devआपको नियमित फाइल बनाने की सुविधा देता है। )।
voretaq7

2
@ voretaq7: हाँ, /tmpजंप पैड के रूप में उपयोग करना बहुत मजेदार है क्योंकि यह हमेशा रहता है और लगभग कभी भी बंद नहीं होता है।
स्कॉट पैक

थीसिस सलाह के लिए धन्यवाद। मैं noexec के लिए जाँच करेंगे क्योंकि यह सुरक्षा में सुधार करता है!
बुजुत

12

अंतर्निहित RAID सरणी को अनदेखा करना ( RAID सरणी स्तरों के बारे में अधिक जानकारी के लिए यह प्रश्न देखें और जब आप उनका उपयोग करना चाहते हैं ), तो आप जो मूल प्रश्न पूछ रहे हैं, उस पर ध्यान केंद्रित करें :
"मुझे अपने यूनिक्स सर्वर के फाइल सिस्टम को कैसे करना चाहिए?"


एक विशाल /विभाजन में क्या गलत है ?

जैसा कि आपने अपने प्रश्न में उल्लेख किया है, बहुत सारे लिनक्स वितरण (विशेषकर "डेस्कटॉप" उबंटू जैसे वितरण) एक बहुत ही सरल फाइल सिस्टम लेआउट का उपयोग करते हैं /और [swap]

इस योजना में सादगी का लाभ है - यह डॉस / विंडोज उपयोगकर्ताओं के लिए बहुत अच्छा है जो अपने घर पीसी के लिए "हार्ड ड्राइव" के साथ एक बड़े अखंड कंटेनर ( C:\) के रूप में उपयोग करते हैं जिसमें आप सामान डंप करते हैं, और आपको चिंता करने की आवश्यकता नहीं है फ़ाइल सिस्टम पर अंतरिक्ष से बाहर चलने के बारे में - बस यह सुनिश्चित करें कि आप डिस्क की क्षमता के तहत बने रहें और सब कुछ (कम से कम सैद्धांतिक रूप से) ठीक है।

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

ऊपर दिए गए मुद्दे, साथ ही संगठन की एक मजबूत भावना, यही वजह है कि यूनिक्स सर्वर में आमतौर पर कई फाइल सिस्टम होते हैं।


आप यूनिक्स फाइल सिस्टम को कैसे तोड़ते हैं?

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

मैं यहां एक सामान्य विभाजन योजना का वर्णन करने जा रहा हूं, लेकिन आपकी विशिष्ट आवश्यकताओं को पूरा करने के लिए इस योजना को हमेशा संशोधित किया जाना चाहिए।

एक सामान्य यूनिक्स विभाजन योजना

/
    The "root partition", /, does not usually need to be very large.
    It holds the basic items needed to boot the system, mount other filesystems
    and get you to a running, usable, multi-user environment.  It's also what
    is available to you when you bring up the system in single-user ("recovery")
    mode.  
    The contents of / should not change or grow substantially over time.

    NOTE: Anything that doesn't go on one of the other partitions described
          below will wind up taking space on the root partition (/).

/var
    The /var filesystem holds variable data -- log files, email, and on some
    systems databases (like MySQL or Postgres) store their data files here.  
    `/var` should be "Big Enough" to hold all the data you intend to cram into
    it.  I generally advise 10GB for systems that won't have a database or email
    server (just logs).  If you are building a database or mail server you
    should obviously make `/var` larger, or carve out separate filesystems for
    the database/mail data.

/usr
    The /usr filesystem holds "userland" programs, data, manual pages, etc.
    This is where things like the Firefox browser binary live.  On systems that
    will have a lot of large user applications this filesystem may be very large
    (100GB or more), and on stripped-down servers it may be relatively small.  
    A good rule of thumb is that the /usr filesystem should be twice as large
    as you need it to be in order to fit your initial installation of programs.

/home
    The /home filesystem holds user home directories, and on desktop systems is
    the largest and most prone to filling up.  When you download files from the
    internet, create spreadsheets, store a music library, etc. that data is
    stored in your home directory, and it adds up fast.
    It's important to allow enough room under /home for the "accumulated junk"
    you will gather over time, even on servers -- ad-hoc tarball backups, 
    package files you copied over to install, and the like.

विशेष फाइलसिस्टम

/tmp and /var/tmp
    The temporary scratch space (/tmp) is "special" -- on most Unix systems
    the contents of /tmp are cleared on reboot, and on many modern systems
    /tmp is a special "tmpfs" (RAM) filesystem for better performance.
    /var/tmp is usually "persistent temporary files" (like vi recovery
    files), and is not cleared on reboot
    The same general rule applies as for all other filesystems: Make sure
    your temporary scratch filesystems are big enough to hold the stuff you
    want to put in them.

[swap]
    Swap Space is used by the kernel when you are running low on RAM --
    The old general rule of thumb was to have at least twice as much swap
    as you did RAM, however on modern systems it's usually sufficient to
    have "enough" swap -- 2GB is a practical lower limit, and an amount
    between half the installed RAM and the total installed RAM is usually
    adequate.
    On modern systems with relatively huge RAM pools (12G and up) it is
    probably not practical to use the system if it's swapping heavily
    enough to warrant the old "Twice the installed RAM" rule.

2
आपके द्वारा सूचीबद्ध दो कारण आज बड़े पैमाने पर अप्रचलित हैं। ext [234] रूट के लिए कुछ स्थान रखता है और उपयोगकर्ता कार्यक्रमों को इसका उपयोग करने की अनुमति नहीं देगा, इसलिए सिस्टम अंतरिक्ष से बाहर होने के साथ समस्याओं में नहीं चलेगा, और सभी आधुनिक फाइलसिस्टम जर्नलिंग का उपयोग करते हैं ताकि वे भ्रष्ट न हों। एक दुर्घटना।
psusi

2
@psusi रूट उपयोगकर्ता (आमतौर पर फाइलसिस्टम आकार का 5-10%) के लिए आरक्षित स्थान आपकी मदद नहीं करता है यदि रूट उपयोगकर्ता वह है जो डिस्क को भरने वाली फ़ाइलों को लिख रहा है (जैसा कि लॉग फ़ाइलों के साथ अक्सर होता है)। यह मान लेना भी गलत है कि सिर्फ इसलिए कि एक फाइलसिस्टम का निर्माण किया गया है, यह हमेशा भ्रष्टाचार से सुरक्षित रहेगा - जर्नलिंग से मजबूती बढ़ती है, लेकिन यह सुरक्षा की गारंटी नहीं देता है (खासकर यदि आप फाइल सिस्टम / जर्नलिंग कोड में अनदेखे बग में ठोकर खाते हैं और जर्नल को रोक देते हैं) - ReiserFS लोग उस फाइलसिस्टम के शुरुआती दिनों से इसके बारे में कुछ बेहतरीन कहानियां बता सकते हैं)।
voretaq7

2
यदि दूषित है तो एक बरकरार रखने /usrया /varमदद नहीं करता /है। इसी तरह एक अक्षुण्ण भ्रष्ट होने पर /(ज्यादा) मदद नहीं करता /homeहै। आप अंत में बैकअप से किसी भी तरह से बहाल करना चाहते हैं। जब तक आप एक नया / अस्थिर एफएस नहीं चला रहे हों, ऐसी असफलताओं का उल्लेख एक मिलियन में एक नहीं है।
psusi

4

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

ऐसा करने का कोई कारण नहीं है। ऐसा करने के लिए केवल एकमात्र कारण के बारे में है, यदि आप चाहते हैं, उदाहरण के लिए, /tmpपूरी डिस्क को भरने से रोकें ।

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

उपयोग करने के लिए छापे के स्तर के रूप में, आपको याद रखना चाहिए कि छापे का मुख्य उद्देश्य डेटा की रक्षा करना नहीं है (जो कि बैकअप के लिए हैं), लेकिन अपटाइम बनाए रखने के लिए। यदि आप /tmpएक raid0 पर रखते हैं, तो आपका सर्वर अभी भी नीचे चला जाएगा और डिस्क में से एक के विफल होने पर आपको इसकी मरम्मत करनी होगी। तुम भी raid1 के बजाय raid10 का उपयोग करना चाहते हो सकता है ताकि आप के रूप में अच्छी तरह से बेहतर प्रदर्शन मिलता है।

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


4
पारंपरिक तरीके से यूनिक्स फाइल सिस्टम को जारी रखने के कई कारण हैं। Sysadmins नहीं कर रहे हैं - यदि इस हम अब तक बंद कर दिया है | करने के लिए कोई कारण नहीं थे कि रहस्यमय परंपराओं के :) संलग्न
voretaq7

1
@ voretaq7, फिर कुछ नाम। यदि आप नहीं कर सकते हैं, तो आँख बंद करके यह मानना ​​चाहिए कि मूर्ख होना चाहिए।
psusi

1
यह उन लोगों के लिए बुरा होगा जो वास्तव में आँख बंद कर के पारंपरिक ज्ञान के बजाय एक काउंटर तर्क प्रदान करते हैं।
psusi

2
रखता है / var / log सब कुछ भरकर लेने से। भ्रष्टाचार को एक फाइल सिस्टम तक सीमित कर देता है। बैकअप को सरल करता है - चाहे स्नैपशॉट हो या ट्रैवर्सल नियमों को माउंट करना हो, कोई अक्सर अलग-अलग शेड्यूल पर चीजों को वापस करना चाहता है। इमेजिंग / उन्नयन को सरल करता है। फाइलसिस्टम के चयन को कार्य से संबंधित प्रदर्शन की अनुमति देता है।
जेफ फेरलैंड 2

1
@JeffFerland, अपने स्वयं के विभाजन पर / var / लॉग लगाने के लिए एक कमजोर कारण है, लेकिन कई अन्य विभाजनों के लिए नहीं। जब तक आप अभी भी उपयोग कर रहे हैं dump, तब तक एफएस के विभिन्न हिस्सों का बैकअप लेने के लिए उन हिस्सों को अलग-अलग विभाजन पर होने की आवश्यकता नहीं है। उन्नयन एक तरह से या दूसरे की परवाह नहीं करता है। इमेजिंग बहुत अच्छी तरह से चीजों को करने के लिए नहीं है।
Psusi

3

विभाजन की बहुत सारी जानकारी तब उत्पन्न हुई थी जब डिस्क स्थान मैं कम आपूर्ति था। परिणामस्वरूप आप कई मामलों के लिए अपेक्षाकृत छोटे विभाजन देखेंगे। आवश्यक विभाजन आकार सर्वर के उपयोग के आधार पर भिन्न होते हैं। सबसे चर हो जाते हैं /tmp, /var, home, /opt, और /srv/usrएक उचित और स्थिर आकार का हो जाता है। अंतरिक्ष /में किसी भी या सभी विभाजन और उनकी अंतरिक्ष आवश्यकताओं को शामिल किया जा सकता है। साइज़िंग वास्तव में इस बात पर निर्भर है कि आप सिस्टम क्या कर रहे हैं।

मैं में वृद्धि होगी swapऔर माउंट /tmpपर tmpfs/tmpफिर आप एक बैकिंग स्टोर के रूप में स्वैप का उपयोग करेंगे, लेकिन उपलब्ध स्मृति का उपयोग करें। आपके आकार का आकार /tmpबहुत अधिक है, लेकिन निरस्त अपलोड को संभाला जाएगा जिसे साफ नहीं किया गया है।

मैं MySQL फ़ाइलों को स्थानांतरित करने पर विचार करूंगा /srv। यह डिस्क पदानुक्रम में एक अपेक्षाकृत नया स्तर है।

यदि आप नहीं जानते हैं कि आपकी अंतिम आवश्यकताएं LVM का उपयोग करने और भरने के रूप में अपने विभाजन का विस्तार करने पर विचार करें।


स्वैप बढ़ाने में सावधानी बरतें - "पर्याप्त" स्वैप करना अच्छा है, लेकिन अगर आपके पास बहुत अधिक है तो आप इसका उपयोग कभी नहीं करेंगे (क्योंकि जब तक आप स्वैप कर रहे हैं कि सिस्टम का प्रदर्शन सिर्फ बहुत दर्दनाक है)। मैं कहूंगा कि प्रश्न में प्रस्तावित 4 जी एक लैम्प स्टैक के लिए संभवतः "पर्याप्त" है - यदि आप 4 जी स्वैप का उपयोग कर रहे हैं (और वास्तव में उस डेटा को अंदर और बाहर पेजिंग कर रहे हैं) तो आप शायद फोन पर चिल्ला रहे हैं क्योंकि वेबसाइट धीमी है :)
voretaq7

1
@ voretaq7 यह महत्वपूर्ण नहीं है कि यदि आप सक्रिय कार्यक्रमों के लिए उपयोग कर रहे हैं तो क्या आकार स्वैप है। इसका उपयोग tmpfs के लिए किया जाता है जहाँ बड़ी फ़ाइलों को डिस्क पर लिखा जाता है, लेकिन छोटी फ़ाइलों का मेमोरी मेमोरी में रहना स्वैप का एक उचित उपयोग है। यह हर फाइल को डिस्क पर लिखने से बचाता है जब इरादा कहीं और रखना होता है। मैंने सुझाव दिया कि स्वैप स्पेस को बढ़ाया जाए क्योंकि ऐसा लगता है कि एक बड़ी /tmpजगह फिर से बनाई जा सकती है।
बिलथोर

स्वैप के लिए एक नियमित फ़ाइल का उपयोग क्यों नहीं किया जाता है? वे एक लंबे समय के लिए एक समर्पित स्वैप विभाजन के रूप में उपवास नहीं किया है?
क्रिस स्मिथ

@ChrisSmith एक नियमित फ़ाइल लगभग एक समर्पित विभाजन की तरह तेज़ होनी चाहिए, लेकिन यह डिस्क पर सन्निहित नहीं हो सकती है जिससे I / O अनुरोधों को विभाजित किया जा सके। यह स्ट्रिपिंग के लिए बनाया जा सकता है। इसके अलावा, गलती से स्वैप फ़ाइल को हटाना आसान है। डिलीट की गई फाइल तब तक स्पष्ट नहीं होगी, जब तक कि सिस्टम रिबूट न ​​हो जाए, जब इसमें स्वैप स्पेस नहीं होगा।
बिलचोर

@BillThor यह सच है - यदि आप उपयोग कर रहे हैं tmpfsऔर बैकिंग स्टोर के रूप में स्वैप को हिट करने की उम्मीद करते हैं, तो आपके पास आपके tmpfs की मांगों को पूरा करने के लिए "पर्याप्त" स्वैप होना चाहिए, साथ ही सिस्टम के लिए एक उपयुक्त रिज़र्व भी। (यह ऐसा कुछ नहीं है जो मैं आमतौर पर केवल उस प्रणाली के बारे में सोचता हूं, जहां मैं उपयोग करता हूं tmpfs, जो कि स्वैप को हिट न करने के लिए कॉन्फ़िगर किया गया है, क्योंकि इसमें रैम अधिशेष है और मैं छोटी फ़ाइलों के लिए अस्थायी स्थान का उपयोग कर रहा हूं जो जल्दी से निर्मित / हटाए जाते हैं :)
voretaq7

2

आपकी वास्तुकला के आधार पर - आप वास्तव में / tmp का उपयोग नहीं करना चाहते हैं क्योंकि यह हर रिबूट के बाद साफ हो जाता है। यदि आपकी साइट अपलोड के अंतिम प्रसंस्करण से संबंधित है, तो इसे किसी अन्य स्थान पर बदलना (php.ini के माध्यम से) एक विचार हो सकता है; जिसमें आप इसे कोई भी आरोह बिंदु बना सकते हैं।

जैसा कि पहले सुझाव दिया गया है, यह LVM और आवश्यकतानुसार वृद्धि का उपयोग करने के लिए अनुशंसित है।

मैं MySQL डेटा के लिए एक समर्पित विभाजन की अत्यधिक अनुशंसा करता हूं (आप अभी भी इसे / var / lib / mysql के तहत माउंट कर सकते हैं)।


यह आमतौर पर एक अच्छा विचार है कि /tmpबाद में फाइलें नहीं हो सकती हैं - आपको बाद में अप्रिय आश्चर्य से बचाता है :-)
voretaq7
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.