ইউনিক্স সার্ভার পার্টিশনিং এবং ফাইল সিস্টেম লেআউট


29

ইউনিক্স সার্ভারটি ইন্টারনেটে বিভাজন সম্পর্কে প্রচুর দ্বন্দ্বমূলক তথ্য রয়েছে, সুতরাং কীভাবে এগিয়ে যেতে হবে সে সম্পর্কে আমার কিছু পরামর্শ দরকার।

এখনও অবধি, আমাদের পরীক্ষার পরিবেশে আমি সার্ভারগুলিতে ভাগ করে নেওয়ার বিষয়ে সত্যই পাত্তা দিইনি এবং আমি একটি একক একাকী /প্লাস একটি অদলবদলকে কনফিগার করেছি । এই বিভাজন প্রকল্পটি আমাদের উত্পাদন সার্ভারগুলির জন্য ভাল ধারণা বলে মনে হচ্ছে না। আমি এখানে একটি ভাল সূচনা পয়েন্ট পেয়েছি , তবে এটি বিবরণে খুব অস্পষ্ট বলে মনে হচ্ছে।


মূলত আমার একটি সার্ভার রয়েছে যার উপর আমি একটি বেসিক এলএএমপি স্ট্যাক চালিয়ে যাব (অ্যাপাচি, পিএইচপি, এবং মাইএসকিউএল)। এটিতে ফাইল আপলোডগুলি (2 জিবি পর্যন্ত) পরিচালনা করতে হবে। সিস্টেমটিতে 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 ব্যবহার করার পরামর্শ দেব। তারপরে আপনি যখন স্থির করেন যে আপনার কোথাও আরও জায়গা প্রয়োজন তখন আপনি কেবল এলভি এবং ফাইল সিস্টেমটি প্রসারিত করতে পারেন।
কেটওয়ার

উত্তর:


33

আপনার পার্টিশনগুলি রাখার সময় একটি জিনিস মনে রাখা উচিত ব্যর্থতা মোড। সাধারণত এই প্রশ্নটি ফর্মের: "পার্টিশন এক্স পূরণ করলে কী হয় ?" ডেরেস্ট ভোরেটাক 7 পরিস্থিতিটি পুরোপুরি নিয়ে এসেছিল /যার ফলে সমস্যাগুলি নির্ণয় করতে বেশিরভাগ সংকট দেখা দিয়েছে। আসুন আরও কিছু নির্দিষ্ট পরিস্থিতি দেখুন situations

আপনার পার্টিশনের স্টোরিং লগগুলি পূর্ণ হলে কী হবে? আপনি অডিটিং / রিপোর্টিং ডেটা হারাবেন এবং কখনও কখনও আক্রমণকারীরা তাদের ক্রিয়াকলাপটি লুকানোর জন্য ব্যবহার করেন। কিছু ক্ষেত্রে আপনার সিস্টেম নতুন ব্যবহারকারীদের তাদের লগইন ইভেন্টটি রেকর্ড করতে না পারলে তা প্রমাণীকরণ করবে না।

/varপূর্ণ হয়ে গেলে আরপিএম ভিত্তিক সিস্টেমে কী ঘটে ? প্যাকেজ ম্যানেজার প্যাকেজগুলি ইনস্টল বা আপডেট করবেন না এবং আপনার কনফিগারেশনের উপর নির্ভর করে নিঃশব্দে ব্যর্থ হতে পারে।

একটি পার্টিশন পূরণ করা সহজ, বিশেষত যখন কোনও ব্যবহারকারী এতে লেখার পক্ষে সক্ষম হয়। মজার জন্য, নিম্নলিখিত কমান্ড এবং দেখুন কিভাবে দ্রুত আপনি একটি চমত্কার বড় ফাইল বানান করতে পারেন: cat /dev/zero > zerofile

এটি পার্টিশনগুলি পূরণ করার বাইরেও যায়, যখন আপনি বিভিন্ন মাউন্ট পয়েন্টগুলিতে অবস্থান স্থাপন করেন তখন আপনি তাদের মাউন্ট বিকল্পগুলিও কাস্টমাইজ করতে পারেন।

যখন /dev/মাউন্ট করা হয় না তখন কী হয় noexec? যেহেতু /devসাধারণত ওএস দ্বারা রক্ষণাবেক্ষণ করা হয় এবং এটি কেবলমাত্র ডিভাইসগুলি ধারণ করে তা ক্ষতিকারক প্রোগ্রামগুলি আড়াল করার জন্য প্রায়শই ব্যবহৃত হয় (এবং কখনও কখনও এখনও ব্যবহৃত হয়)। ছেড়ে যাওয়া noexecআপনাকে সেখানে সঞ্চিত বাইনারিগুলি চালু করতে দেয়।

এই সমস্ত কারণে এবং আরও অনেকগুলি, কঠোর গাইডগুলি সঞ্চালনের প্রথম পদক্ষেপগুলির মধ্যে একটি হিসাবে বিভাজন সম্পর্কে আলোচনা করবে। বস্তুত, কেমন ডিস্ককে পার্টিশন করার জন্য একটি নতুন সার্ভারে নির্মাণ করা হয় যদি প্রায় ঠিক প্রথম জিনিস আপনি আছে সিদ্ধান্ত নেওয়ার, এবং প্রায়ই সবচেয়ে পরে পরিবর্তন করা কঠিন। ইন্টারনেট সুরক্ষা কেন্দ্র নামে একটি গোষ্ঠী উপস্থিত রয়েছে যা কনফিগারেশন গাইডগুলি পড়তে সহজ ছাপ সরবরাহ করে। আপনি সম্ভবত আপনার নির্দিষ্ট অপারেটিং সিস্টেমের জন্য একটি গাইড খুঁজে পেতে পারেন এবং তারা যা বলতে পারে তার কোনও নির্দিষ্টকরণ দেখতে পারেন।

আমরা যদি রেডহ্যাট এন্টারপ্রাইজ লিনাক্স 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 / binary এর মতো কমান্ড ব্যবহার করে বাইনারি চালানো সম্ভব ছিল। লিনাক্স ২.৪.২৫ / ২.6.০ থেকে এই কৌশলটি ব্যর্থ হয়েছে))

নোডভ ফাইল সিস্টেমে চরিত্রের ব্যাখ্যা বা বিশেষ ডিভাইসগুলি ব্লক করবেন না।

nosuid সেট-ব্যবহারকারী-সনাক্তকারী বা সেট-গোষ্ঠী-সনাক্তকারী বিটগুলি কার্যকর হওয়ার অনুমতি দেবেন না। (এটি নিরাপদ বলে মনে হচ্ছে তবে আপনি যদি সাইড্পারেল ইনস্টল করে থাকেন তবে বাস্তবে এটি অনিরাপদ 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

সিস্টেমের উদ্দেশ্য এবং আপনার পরিবেশ কীভাবে পরিচালনা করে তা অনুসারে এগুলি পর্যালোচনা ও সমন্বয় করা দরকার। আমি এলভিএম ব্যবহার করার এবং পুরো ডিস্ক বরাদ্দ করার বিরুদ্ধেও সুপারিশ করব। এটি আপনাকে সহজে বিকাশ করতে বা এ জাতীয় জিনিসগুলির প্রয়োজন হলে পার্টিশনগুলি যুক্ত করতে দেয়।


1
noexecসাধারণভাবে এই পর্যবেক্ষণটি একটি গুরুত্বপূর্ণ - এটি দূষিত ব্যবহারকারীদের ব্রাউজার সুরক্ষা শোষণের মাধ্যমে রুটকিটগুলি আপলোড করা এড়াতে পতাকাটি /tmpদিয়ে মাউন্ট করা ভাল অনুশীলন হিসাবে বিবেচিত হয় noexec। একইভাবে /homeপ্রায়শই মাউন্ট করা হয় nosuidকারণ সেটুইড বাইনারি থাকার কোনও কারণ নেই। পুনঃ /devএবং : noexecঅনেকগুলিতে (যদিও সমস্ত নয়) আধুনিক সিস্টেমগুলি /devপ্রায়শই একটি devfsফাইল সিস্টেম হয় এবং ব্যবহারকারীরা নিয়মিত কোনও ফাইল তৈরি / সঞ্চয় করতে দেয় না (ফ্রিবিএসডি এ এটি প্রত্যাবর্তন করে " Operation not supported", উবুন্টুতে udevমাউন্ট করা ফাইল সিস্টেম /devআপনাকে নিয়মিত ফাইলগুলি তৈরি করতে দেয়। )।
voretaq7

2
@ ভোরেটাক 7: হ্যাঁ, /tmpজাম্প প্যাড হিসাবে ব্যবহার করা মজাদার কারণ এটি সর্বদা থাকে এবং প্রায় কখনও লক হয় না।
স্কট প্যাক

থিসিস পরামর্শের জন্য আপনাকে ধন্যবাদ। নিরাপত্তার উন্নতি হওয়ায় আমি নেক্সেকের জন্য যাচাই করব!
বুজুত

12

অন্তর্নিহিত RAID অ্যারে উপেক্ষা করে ( RAID অ্যারের স্তরগুলি সম্পর্কে আরও বিশদের জন্য এই প্রশ্নটি দেখুন এবং আপনি সেগুলি ব্যবহার করতে চান ), আসুন আপনি যে মূল প্রশ্নটি জিজ্ঞাসা করছেন সেদিকে মনোনিবেশ করুন:
"আমার ইউনিক্স সার্ভারের ফাইল সিস্টেমগুলি কীভাবে রাখব?"


এক বিশাল /পার্টিশনে ভুল কী ?

আপনি আপনার প্রশ্নে উল্লেখ করেছেন যে প্রচুর লিনাক্স বিতরণ (বিশেষত উবুন্টুর মতো "ডেস্কটপ" বিতরণ) খুব সাধারণ ফাইল সিস্টেম লেআউট ব্যবহার করে: /এবং [swap]

এই স্কিমটির সরলতার সুবিধা রয়েছে - এটি ডস / উইন্ডোজ ব্যবহারকারীদের জন্য দুর্দান্ত, যারা "হার্ড ড্রাইভ" দিয়ে নিজের বাড়ির পিসিতে একটি বড় একঘেয়ে কন্টেইনার হিসাবে ব্যবহৃত হয় ( C:\যার মধ্যে আপনি স্টাফ ফেলে দেন, এবং আপনাকে উদ্বেগ করার দরকার নেই) ফাইল সিস্টেমে স্থান ছাড়িয়ে যাওয়ার বিষয়ে - কেবলমাত্র নিশ্চিত হয়ে নিন যে আপনি ডিস্কের ক্ষমতার অধীনে রয়েছেন এবং সবকিছু (কমপক্ষে তাত্ত্বিকভাবে) ঠিক আছে।

যদিও একক ফাইল সিস্টেম স্কিমের বিভিন্ন অসুবিধা রয়েছে - সর্বাধিক প্রায়শই উল্লেখ করা অসুবিধা হ'ল ইউনিক্স সিস্টেমগুলি খুব খারাপ প্রতিক্রিয়া দেখায় যখন রুট ফাইল সিস্টেমটি পূরণ হয় (বুট প্রত্যাখ্যান করার বিন্দুতে), এবং যদি সবকিছু লিখতে থাকে /(মূল) একমুখী প্রোগ্রাম বা ব্যবহারকারী পুরো সিস্টেমটি নামিয়ে নিতে পারে।
সিস্টেম ক্র্যাশ এবং পরবর্তী ফাইল সিস্টেমের দুর্নীতির ঘটনা ঘটলে একটি বৃহত ফাইল সিস্টেমও সর্বমোট ক্ষতির আশঙ্কায় থাকে।

উপরের সমস্যাগুলি, সংঘবদ্ধ সংস্থার শক্তিশালী ধারণা, ইউনিক্স সার্ভারগুলিতে সাধারণত একাধিক ফাইল সিস্টেম থাকে।


আপনি কীভাবে ইউনিক্স ফাইল সিস্টেমটি ব্রেক আপ করবেন?

সুতরাং আশা করি আপনি নিশ্চিত যে একাধিক ফাইল সিস্টেম থাকার অর্থ উপলব্ধি করে। এখন প্রশ্নটি হল আপনি কীভাবে সিস্টেমটিকে লজিকাল খণ্ডগুলিতে বিভক্ত করবেন এবং আপনি কীভাবে সিদ্ধান্ত নেবেন যে প্রত্যেকটি কতটা স্থান পাবে?
উত্তরটি আপনার অপারেটিং সিস্টেমটি কোথায় স্থাপন করবে তা আপনি জানেন এবং বুঝতে পারবেন। এই বোঝার জন্য প্রথম hierপৃষ্ঠাটি হ'ল ম্যান পেজ। সর্বাধিক ইউনিক্স সিস্টেমের সাথে (আসা man hierএকটি Linux সিস্টেম থেকে , এবং 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] মূলের জন্য কিছু জায়গা সংরক্ষণ করে এবং ব্যবহারকারী প্রোগ্রামগুলিকে এটিকে সমস্তরূপে ব্যবহার করার অনুমতি দেয় না যাতে সিস্টেমটি স্থানের বাইরে না আসার কারণে সমস্যা তৈরি করতে না পারে এবং সমস্ত আধুনিক ফাইল সিস্টেম জার্নালিং ব্যবহার করে যাতে তারা পরে দুর্নীতিগ্রস্থ না হয় won't একটি দুর্ঘটনা.
psusi

2
@psusi রুট ব্যবহারকারীর জন্য সংরক্ষিত স্থান (সাধারণত ফাইল সিস্টেমের আকারের 5-10%) আপনাকে সাহায্য করে না যদি রুট ব্যবহারকারী হ'ল ডিস্ক পূরণ করে এমন ফাইল লেখেন (যেমন লগ ফাইলগুলির ক্ষেত্রে প্রায়শই ঘটে)। এটি অনুমান করাও ভুল যে কেবল একটি ফাইল সিস্টেম ভ্রমণ করার কারণে এটি সর্বদা দুর্নীতি থেকে নিরাপদ থাকবে - জার্নালিং দৃ rob়তা বৃদ্ধি করে তবে এটি সুরক্ষার গ্যারান্টি দেয় না (বিশেষত যদি আপনি ফাইলসিস্টেম / জার্নালিং কোডে কোনও অনাবৃত বাগের সামনে গিয়ে হোঁচট খায় এবং জার্নালটি কুঁকড়ে যায়) - রিসারএফএসের লোকেরা সেই ফাইল সিস্টেমের প্রথম দিনগুলি সম্পর্কে দুর্দান্ত কিছু গল্প বলতে পারে)।
voretaq7

2
অক্ষত থাকা /usrবা দূষিত /varহলে সহায়তা করে না /। একইভাবে অক্ষত থাকা দূষিত /হলে (বেশি) সাহায্য করে না /home। আপনি শেষ পর্যন্ত ব্যাকআপ থেকে পুনরুদ্ধার করতে হবে। আপনি যদি নতুন / অস্থির fs চালনা না করেন তবে এই জাতীয় ব্যর্থতা দশ লক্ষের মধ্যে একটির কথা উল্লেখ না করা।
psusi

4

ফাইল সিস্টেমটি খোদাই করার অনুশীলনটি সেই দিন থেকেই যখন কোনও সফ্টওয়্যার রাইড ছিল না, এবং ডিস্ক ড্রাইভগুলি ছোট ছিল, তাই আপনাকে বেশ কয়েকটি ব্যবহার করতে হয়েছিল, এবং এইভাবে করার একমাত্র উপায় ছিল ফাইল সিস্টেমটি ভেঙে ফেলা এবং বিভিন্ন ড্রাইভে বিভিন্ন ডিরেক্টরি স্থাপন করুন। এর অন্যান্য historicalতিহাসিক কারণটি ছিল যাতে আপনি সহজেই কোনও পার্টিশন এবং dumpএটি ব্যাকআপের জন্য আনমাউন্ট করতে পারেন যা আপনি মূলের সাথে করতে পারেন নি। এই সরঞ্জামটি আজকাল বেশিরভাগ পক্ষে অনুগ্রহের বাইরে চলে গেছে এবং এর পরিবর্তে মূলটিতে এমনকি একটি এলভিএম স্ন্যাপশটে ব্যবহার করা যেতে পারে।

এর পরে আর এটি করার কোনও কারণ নেই। এটি করার একমাত্র কারণটি হল আপনি উদাহরণস্বরূপ, /tmpপুরো ডিস্কটি পূরণ করা থেকে বিরত রাখতে চান ।

এই কারণটি আজকাল বেশিরভাগ ক্ষেত্রে অপ্রাসঙ্গিক কারণ সাধারণ শেল অ্যাক্সেস সহ সরবরাহকারী ব্যবহারকারীরা পথের পাশ দিয়ে চলেছে এবং আজকাল সার্ভারগুলি ডেডিকেটেড পরিষেবাদি যেমন ওয়েব বা মেল সার্ভারগুলি চালায় run যেহেতু আপনার এলোমেলো ব্যবহারকারীর যথেচ্ছ কমান্ড চালানো সম্ভব নয়, আপনার সাধারণত আপনার ফাইল সিস্টেমটি পূরণ করার চেষ্টা করার বিষয়ে তাদের চিন্তা করার দরকার নেই (এবং আপনি যখন করেছিলেন তখনও আপনার এটি বন্ধ করার জন্য ডিস্ক কোটা ছিল)।

কোন অভিযানের স্তরটি ব্যবহার করা উচিত, আপনার মনে রাখতে হবে যে অভিযানের মূল উদ্দেশ্যটি ডেটা রক্ষা করা নয় (এটি ব্যাকআপগুলির জন্য কী) তবে আপটাইম বজায় রাখা। আপনি যদি /tmpকোনও রেইড0 লাগিয়ে রাখেন তবে আপনার সার্ভারটি এখনও নীচে চলে যাবে এবং কোনও ডিস্ক ব্যর্থ হলে আপনাকে এটি মেরামত করতে হবে। আপনি raid1 এর পরিবর্তে raid10 ব্যবহার করতে চাইতে পারেন যাতে আপনি আরও ভাল পারফরম্যান্স পান।

ফাইল সিস্টেমটি ভেঙে না ফেলার একটি খুব ভাল কারণ হ'ল যদি আপনি বরাদ্দগুলি ভুল করে থাকেন তবে অন্য কোথাও প্রচুর পরিমাণে ফাঁকা জায়গা থাকা সত্ত্বেও আপনি ফাইল সিস্টেমের কিছু অংশ পূর্ণ হয়ে যেতে পারেন। এটিকে সংশোধন করা কঠিন হতে পারে, যদি না আপনি LVM ব্যবহার করেন এবং কিছু অ্যাসাইনড স্পেস না রেখে থাকেন।


4
Unতিহ্যগত উপায়ে ইউনিক্স ফাইল সিস্টেমটি অবিরত করার প্রচুর কারণ রয়েছে। Sysadmins নেই - যদি এই আমরা এখন দ্বারা বন্ধ হয়ে যেত করছেন জন্য কোনো কারণ ছিল যে রহস্যময় ঐতিহ্য :) সংযুক্ত
voretaq7

1
@ ভোরেটাক 7, তারপরে কিছু নাম দিন। যদি আপনি না পারেন তবে অন্ধভাবে ধরে নিতে হবে সেখানে অবশ্যই বোকামি।
psusi

1
অন্ধভাবে তোতা পরম্পরাগত প্রজ্ঞার চেয়ে বরং প্রতিপক্ষের যুক্তি সরবরাহ করা এই লোকদের চেয়ে বেশি।
psusi

2
ভর্তি করে সমস্ত কিছু নেওয়া থেকে / ভার / লগ রাখে। দুর্নীতিটিকে একটি ফাইল সিস্টেমে সীমাবদ্ধ করে। ব্যাকআপগুলি সরল করে তোলে - স্ন্যাপশটগুলি হোক বা ট্র্যাভারসাল বিধিগুলি মাউন্ট করুন, ব্যক্তি প্রায়শই বিভিন্ন সময়সূচীতে জিনিসগুলি ব্যাক আপ করতে চায়। ইমেজিং / আপগ্রেডগুলি সরল করে। টাস্ক সম্পর্কিত ফাইল-সিস্টেম ভিত্তিক কর্মক্ষমতা নির্বাচনের অনুমতি দেয়।
জেফ ফেরল্যান্ড

1
@ জেফফারল্যান্ড, সর্বোপরি নিজের পার্টিশনে / ভার / লগ লাগানোর দুর্বল কারণ, তবে অন্যান্য কয়েকটি পার্টিশনের জন্য নয়। আপনি যদি এখনও ব্যবহার dumpনা করে থাকেন তবে fs এর বিভিন্ন অংশ ব্যাক আপ করার জন্য সেই অংশগুলি বিভিন্ন পার্টিশনে থাকা প্রয়োজন হবে না। আপগ্রেডগুলি কোনওভাবে বা অন্যভাবে যত্ন করে না। ইমেজিং জিনিসগুলি করার খুব ভাল উপায় নয়।
psusi

3

আমি যখন ডিস্কের স্থান স্বল্প সরবরাহ করতাম তখন বিভাজন সংক্রান্ত অনেক তথ্য তৈরি হয়েছিল। ফলস্বরূপ আপনি বেশ কয়েকটি মামলার জন্য অপেক্ষাকৃত ছোট পার্টিশন দেখতে পাবেন। প্রয়োজনীয় পার্টিশন মাপ সার্ভারের ব্যবহারের উপর নির্ভর করে vary সবচেয়ে পরিবর্তনশীল হতে থাকে /tmp, /var, home, /opt, এবং /srv/usrএকটি যুক্তিসঙ্গত এবং স্থিতিশীল আকার হতে থাকে। এর জন্য স্পেসে যে /কোনও একটি বা অন্যান্য পার্টিশন এবং তাদের স্থানের প্রয়োজনীয়তা অন্তর্ভুক্ত থাকতে পারে। সাইজিং আসলে আপনি সিস্টেমটি করছেন তার উপর নির্ভরশীল।

আমি বৃদ্ধি swapএবং মাউন্ট /tmpহবে tmpfs/tmpএরপরে আপনি ব্যাকিং স্টোর হিসাবে অদলবদল ব্যবহার করবেন তবে উপলভ্য মেমরিটি ব্যবহার করুন। আপনার /tmpচেহারাগুলির আকারটি অত্যন্ত উচ্চ, তবে বাতিল হওয়া আপলোডগুলি পরিচালনা করবে যা পরিষ্কার হয় না।

আমি মাইএসকিউএল ফাইলগুলিতে সরানো বিবেচনা করব /srv। এটি ডিস্ক শ্রেণিবিন্যাসের তুলনামূলকভাবে নতুন স্তর।

আপনি যদি চেনেন না তবে আপনার চূড়ান্ত প্রয়োজনীয়তাগুলি LVM ব্যবহার এবং আপনার পার্টিশনটি পূরণ হিসাবে প্রসারিত হিসাবে বিবেচনা করুন।


অদলবদল বাড়ানোর বিষয়ে সতর্কতা অবলম্বন করুন - "পর্যাপ্ত" অদলবদল রাখা ভাল, তবে আপনার যদি খুব বেশি পরিমাণ থাকে তবে আপনি কখনই এটি ব্যবহার করবেন না (কারণ আপনি যখন অদলবদল করে যাচ্ছেন যে সিস্টেমের পারফরম্যান্সটি খুব বেশি বেদনাদায়ক)। আমি বলব যে প্রশ্নে প্রস্তাবিত 4 জি সম্ভবত একটি এলএএমপি স্ট্যাকের জন্য "যথেষ্ট" - যদি আপনি 4 জি অদলবদল (এবং প্রকৃতপক্ষে সেই ডেটাটি পেজিং এবং আউট) ব্যবহার করছেন তবে আপনি সম্ভবত ফোনে চিৎকার করছেন বলেও ওয়েবসাইটটি ধীর গতি :)
voretaq7

1
@ voretaq7 আপনি যদি সক্রিয় প্রোগ্রামগুলির জন্য ব্যবহার করেন তবে আকারের অদলবদলের বিষয়টি বিবেচ্য নয়। এটি tmpfs এর জন্য ব্যবহার করা যেখানে বড় ফাইলগুলি ডিস্কে লিখিত হয় তবে ছোট ফাইলগুলি মেমরির বাসিন্দা থাকে অদলবদলের যুক্তিসঙ্গত ব্যবহার। অভিপ্রায়টি অন্য কোথাও রাখার সময় এটি প্রতিটি ফাইল ডিস্কে লেখার উপর সংরক্ষণ করে। আমি অদলবদল বাড়ানোর পরামর্শ দিয়েছিলাম বলে মনে হয়েছিল যে একটি বড় /tmpজায়গার পুনরুদ্ধার হতে পারে।
বিলথোর

অদলবদলের জন্য নিয়মিত ফাইলটি ব্যবহার করবেন না কেন? তারা কি দীর্ঘদিন ধরে ডেডিকেটেড অদলবদলের মত দ্রুত ছিল না?
ক্রিস স্মিথ

@ ক্রিসস্মিথ একটি নিয়মিত ফাইল ডেডিকেটেড অংশ হিসাবে প্রায় দ্রুত হওয়া উচিত তবে এটি ডিস্কের সাথে সামঞ্জস্যপূর্ণ নাও হতে পারে যা I / O অনুরোধগুলিকে বিভক্ত করে। এটি স্ট্রাইপ করে তৈরি করা যেতে পারে। এছাড়াও, দুর্ঘটনাক্রমে একটি সোয়াপ ফাইল মুছে ফেলা অপেক্ষাকৃত সহজ। মুছে ফেলা ফাইলটি সিস্টেম রিবুট না হওয়া পর্যন্ত স্পষ্ট হবে না, যখন এতে আর অদলবদল থাকবে না।
বিলথোর

@ বিল্টহোর এটি সত্য - আপনি যদি tmpfsব্যাকিং স্টোর হিসাবে অদলবদলটি ব্যবহার করার প্রত্যাশা করেন এবং আপনার টিএমপিএফস চাহিদা মেটাতে আপনার "পর্যাপ্ত" অদলবদল থাকা উচিত, পাশাপাশি সিস্টেমের জন্য উপযুক্ত রিজার্ভও থাকতে হবে। (এটি আমি সাধারণভাবে ভাবতে পারি না যেহেতু আমি যে একমাত্র সিস্টেমটি ব্যবহার করি সেখানেই tmpfsঅদলবদল না করার জন্য কনফিগার করা হয়, কারণ এতে একটি র‌্যাম উদ্বৃত্ত থাকে এবং আমি ক্ষুদ্র ফাইলগুলি তৈরি করতে / মুছে ফেলার জন্য অস্থায়ী স্থানটি ব্যবহার করছি :)
voretaq7

2

আপনার আর্কিটেকচারের উপর নির্ভর করে - আপনি প্রতিটি রিবুটের পরে সাফ হয়ে যাওয়ার কারণে আপনি আসলে / টিএমপি ব্যবহার করতে চাইবেন না। যদি আপনার সাইটগুলি আপলোডগুলির চূড়ান্ত প্রক্রিয়াজাতকরণের সাথে ডিল করে তবে এটিকে অন্য কোনও স্থানে (php.ini এর মাধ্যমে) পরিবর্তন করা ধারণা হতে পারে; যা আপনি এটি যে কোনও মাউন্ট পয়েন্ট করতে পারেন।

যেমন পূর্বে সুপারিশ করা হয়েছে, প্রয়োজন অনুযায়ী LVM এবং ইনক্রিমেন্ট ব্যবহার করার জন্য এটি সুপারিশ করা হয়।

আমি মাইএসকিউএল ডেটার জন্য একটি উত্সর্গীকৃত পার্টিশনেরও উচ্চ প্রস্তাব দিয়েছি (আপনি এখনও এটি / var / lib / mysql এর অধীনে মাউন্ট করতে পারেন)।


ফাইলগুলি /tmpপরে সেখানে নাও থাকতে পারে তা ধরে নেওয়া সাধারণত একটি ভাল ধারণা - পরে আপনাকে অপ্রীতিকর চমক থেকে বাঁচায় :-)
voretaq7
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.