Archive for the Category » filesystems «

Sunday, August 04th, 2013 | Author:

I had a power outage affect my server’s large Md RAID-র array. Rather than let the server as a whole be down while waiting for it to complete an fsck, I had it boot without the large array so I could run the fsck manually.

কিন্তু, when running it manually I realised I had no way of knowing how far it was and how long it would take to complete. This is especially problematic with such a large array. With a little searching I found the tip of adding the -C parameter when calling fsck. I couldn’t find this in the documentation however: fsckhelp showed no such option.

The option turns out to be ext4-specific, and thus shows a perfectly functional progress bar with a percentage indicator. To find the information, instead offsckhelp” বা “man fsck”, you have to inputfsck.ext4help” বা “man fsck.ext4”. 🙂

ভাগ
Sunday, August 04th, 2013 | Author:

ইতিহাস

আমি গত উল্লেখ থেকে অনেক পরিবর্তন ছিল আমার ব্যক্তিগত সার্ভার – এটি leaps এবং ক্ষেত্র দ্বারা উত্থিত করেনি (এটা এখন একটি 7TB আছে Md RAID6) এবং এটি সম্প্রতি সঙ্গে পুনরায় বিল্ড করা হয়েছে উবুন্টু সার্ভার.

খিলান একটি ভুল ছিল না. Arch লিনাক্স ইতিমধ্যে লিনাক্স সম্পর্কে অনেক কিছু সম্পর্কে শেখানো ছিল (এবং তাই আমার অন্যান্য ডেস্কটপে কি অবিরত করতে হবে). কিন্তু Arch স্পষ্টভাবে আমি একটি সার্ভার ব্যয় করতে চান তুলনায় অধিক সময় এবং মনোযোগ প্রয়োজন. মূলত আমি একটি অনুস্মারক ইমেল বলেছেন পর্যন্ত করার জন্য সার্ভার সম্পর্কে ভুলবেন পাবে পছন্দ “Um … আপনি তাকান উচিত কয়েক আপডেট আছে, বন্ধুকে.”

স্থান মুক্ত নয় – এবং কেউই স্থান

উবুন্টু মাইগ্রেট করার সুযোগ আমি রান আউট ছিল যে ছিল সময় SATA পোর্ট, কম্পিউটার বাকি হার্ড ড্রাইভ সাথে সংযোগ স্থাপন করা আবশ্যক পোর্ট – যে 7TB RAID অ্যারের পোর্ট অনেক ব্যবহার করে! আমি এমনকি দূরে দেওয়া আমার খুব পুরাতন 200GB হার্ড ডিস্ক ঐ পোর্ট এক আপ গ্রহণ. আমি প্রাপক সতর্ক যে ডিস্কের SMART পর্যবেক্ষণ এটি অবিশ্বস্ত ছিল নির্দেশিত. হিসাবে একটি SATA পোর্ট অভাব অস্থায়ী কার্যসংক্রান্ত, আমি এমনকি একটি Md মধ্যে চারটি USB লাঠি এক সেট সার্ভার অপারেটিং সিস্টেম মাইগ্রেট করেছে RAID1. পাগল. আমি জানি. আমি গতি সম্পর্কে খুব সুখী ছিল না. আমি আউট যান এবং একটি নতুন নির্ভরযোগ্য হার্ড ড্রাইভ এবং এটি সঙ্গে যেতে একটি SATA বিস্তার কার্ড কিনতে করার সিদ্ধান্ত নিয়েছে.

সার্ভার এর প্রধান Arch পার্টিশন ডিস্কের 7GB ওপর ব্যবহার করা হয়েছে. যে একটি বড় খণ্ড একটি ছিল অদলবদল ফাইল, তথ্য ক্যাশে হওয়ার কারণে এবং অন্যথায় বিবিধ বা অপ্রয়োজনীয় ফাইল. সামগ্রিক অপারেটিং প্রকৃত আকার, সহ /বাড়ি ফোল্ডার, 2GB সম্পর্কে শুধুমাত্র ছিল. এই সম্পর্কে একটি অতিদ্রুত তদন্ত করার অনুরোধ জানানো এসএসডি ড্রাইভ, চিন্তা সম্ভবত একটি ছোট এক দামী নাও হতে পারে. এটা আসলে আমি খুঁজে পাইনি প্রসঙ্গ অ এসএসডি ড্রাইভ খরচ নিষ্কাশিত যে অধিক তুলনায় এই অপেক্ষাকৃত ছোট SSDs এক. আমার জন্য Yay. 🙂

পছন্দ? Woah?!

ইন অপারেটিং সিস্টেম নির্বাচন করে, আমি ইতিমধ্যে একটি সিদ্ধান্ত এটি আর্চ হবে না চাই. বাইরে অন্য সকল জনপ্রিয় ডিস্ট্রিবিউশন, আমি উবুন্টু সবচেয়ে পরিচিত করছি এবং CentOS. Fedora-র এছাড়াও একটি সম্ভাবনা ছিল – কিন্তু আমি গম্ভীরভাবে কোনো একটি সার্ভারের জন্য বিবেচনা করা হয়েছে. উবুন্টু বৃত্তাকার জিতেছে.

যতক্ষণ না আমি করতে ছিল পরবর্তী সিদ্ধান্ত আমার ঘটতে না সর্বাত্মকতা (উবুন্টু এর ইনস্টলেশন উইজার্ড) এটি আমার জিজ্ঞাসা: কীভাবে সেট আপ করবেন পার্টিশন.

আমি লিনাক্সে SSDs ব্যবহার করে নতুন ছিল – আমি সঠিকভাবে ব্যবহার করে তাদের না pitfalls ভাল সচেতন, বেশিরভাগ কারণে দরিদ্র আয়ু তাদের ঝুঁকি যদি অপব্যয়িত.

আমি একটা ডেডিকেটেড swap পার্টিশন ব্যবহার না করতে চান. আমি আপগ্রেড ভবিষ্যতে সার্ভার এর মাদারবোর্ড / CPU-র / মেমরি না অতিদূরে পরিকল্পনা. আমি উপর ভিত্তি করে সিদ্ধান্ত নিয়েছে যে আমি একটি নতুন swap ফাইল মধ্যে বিদ্যমান md RAID-র উপর মাপের swap করা. swap 'বিশেষত, দ্রুত করা সম্ভব হবে না কিন্তু কিছু ভুল সর্বস্বান্ত এবং মেমরি উপলব্ধ নয় যখন তার শুধুমাত্র উদ্দেশ্য যে বিরল অনুষ্ঠানের জন্য হতে হবে.

এই তারপর আমাকে দিতে বামে root-র পাথ একটি আউট পুরো 60GB ইন্টেল 330 এসএসডি. আমি বিবেচনা / গৃহ পৃথক কিন্তু এটা ঠিক করলো একটু স্থূল, প্রদত্ত কিভাবে অল্প গত ক্ষেত্রে ব্যবহার করা হয়েছিল. আমি প্রথম পার্টিশন সেট আপ LVM-র – আমি সম্প্রতি আমি একটি Linux বক্স সেট আপ যখনই করছেন করেছি কিছু (সত্যিই, LVM-র ব্যবহার না করার কোন অজুহাত আছে). যখন এটি অংশ আছে যেখানে আমি ফাইল সিস্টেম কনফিগার করতে হবে, আমি ক্লিক ড্রপ ডাউন এবং instinctively ext4 ফাইল নির্বাচিত. তারপর আমি একই তালিকায় btrfs খেয়াল. গ্রাহ্য না করা!!

কিন্তু কি?

Btrfs (“মাখন-Eff-কানা অনুলিপি করুন”, “ভাল-Eff-কানা অনুলিপি করুন”, “মৌমাছি গাছ-Eff-কানা অনুলিপি করুন”, বা যাই হোক না কেন আপনি দিনে অভিনব) একটি অপেক্ষাকৃত নতুন ফাইল সিস্টেম উন্নত করার জন্য Linux-আনা’ ফাইল সিস্টেম ফাইল সিস্টেম বর্তমান প্রযুক্তির সাথে ক্ষমতা আবার ট্র্যাক. বিদ্যমান কিং অফ দ্য হিল ফাইল সিস্টেম, “ext” (বর্তমান সংস্করণে বলা ext4 ফাইল) বেশ ভাল – কিন্তু এটা সীমিত করা হয়েছে, একটি পুরানো দৃষ্টান্ত আটকে (আনকোরা নতুন মনে F22 Raptor বনাম. একটি F4 ফ্যান্টম একটি সমানতা আপগ্রেড একটি অর্ধ jested প্রয়াস সঙ্গে) এবং যেমন নতুন এন্টারপ্রাইজ ফাইল সঙ্গে খুব দীর্ঘ জন্য প্রতিদ্বন্দ্বিতা করতে সক্ষম হবে অসম্ভাব্য ওরাকল এর ZFS. Btrfs এখনও যেতে দীর্ঘ পথ রয়েছে এবং এখনও বিবেচিত পরীক্ষামূলক (যারা আপনাকে এবং জিজ্ঞাসা কি তার উপর নির্ভর করে আপনি অতিরিক্ত বৈশিষ্ট্যগুলিও উপস্থিত রয়েছে প্রয়োজন). এটি ব্যবহারের জন্য অনেক মৌলিক যাও স্থিতিশীল বিবেচনা – কিন্তু কেউ কোন গ্যারান্টী করতে হবে. এবং, অবশ্যই, প্রত্যেকের এবং ব্যাকআপ করতে বলছে পরীক্ষা করা হয়!

Mooooooo

ext এবং btrfs মধ্যে সবচেয়ে মৌলিক পার্থক্য হল যে btrfs একটি “গাভী” বা “উপর লিখুন অনুলিপি” ফাইল সিস্টেম. এর অর্থ এই যে তথ্য আসলে ইচ্ছাকৃতভাবে ফাইল সিস্টেম এর internals দ্বারা মুছে ফেলা হয় না. যদি আপনি কোনো ফাইল পরিবর্তন করা লিখুন, Btrfs প্রকৃত মিডিয়ার একটি নতুন অবস্থান থেকে আপনার পরিবর্তনগুলি লিখতে হবে এবং নতুন অবস্থানে পড়ুন অভ্যন্তরীণ পয়েন্টার আপডেট হবে. Btrfs যে যায় একটি পদক্ষেপ আরও যারা অভ্যন্তরীণ পয়েন্টার (উল্লেখিত হিসাবে মেটাডেটা যাও) হয় এছাড়াও গাভী. Ext পুরোনো সংস্করণগুলি মুছে ফেলা কেবল তথ্য থাকবে. Ext4 যাও দুর্নীতির ঘটনা যে ঘটবে না তা নিশ্চিত করার জন্য একটি জার্নাল ব্যবহার এসি প্লাগ সবচেয়ে অপ্রাপ্তকাল মুহূর্তে করা উচিত yanked যাবে. একটি ধাপের অনুরূপ সংখ্যা জার্নাল ফলাফল তথ্য আপডেট করা প্রয়োজন. একটি এসএসডি সঙ্গে, অন্তর্নিহিত হার্ডওয়্যার অনুরূপ একটি গাভী প্রক্রিয়া ব্যবহার করছেন কি ফাইল সিস্টেম কোন ব্যাপার পরিচালনা. এর কারণ আসলে এসএসডি ড্রাইভ তথ্য মুছে ফেলা যাবে না – তারা তথ্য কপি করা আছে (আপনার পরিবর্তনগুলি সঙ্গে) একটি নতুন অবস্থান এবং তারপর সম্পূর্ণভাবে পুরাতন ব্লক নিশ্চিহ্ন. এই এলাকায় একটি অপ্টিমাইজেশান একটি এসএসডি এমনকি পুরাতন ব্লক নিশ্চিহ্ন বরং জিনিষ তাই ব্যস্ত হয় না যখন কেবল একটি, পরবর্তী সময়ে তা ব্লক নিশ্চিহ্ন করার একটি নোট তৈরি করতে পারে না যে,. শেষ ফলাফল এসএসডি ড্রাইভ একটি গাভী ফাইল সিস্টেম সঙ্গে খুব ভাল মাপসই করা হবে এবং অ গাভী ফাইল সঙ্গে পাশাপাশি সঞ্চালন করে না.

বিষয়গুলোকে রসান, ফাইল সিস্টেম গাভী সহজে একটি বৈশিষ্ট্য বলা deduplication সঙ্গে হাতে হাত যায়. এর ফলে দুই (অথবা আরো) তথ্য অভিন্ন ব্লক সঞ্চিত করা হবে শুধুমাত্র একটি কপি ব্যবহার করে, সংরক্ষণের স্থান. সঙ্গে গরু, যদি একটি deduplicated ফাইল পরিবর্তন করা হয়, পৃথক যমজ প্রভাবিত হিসাবে পরিবর্তন করা ফাইল এর তথ্য একটি পৃথক প্রাকৃতিক ব্লক করা হয়েছে করা না করা.

ঘুরে গরু তোলে snapshotting তুলনামূলকভাবে প্রয়োগ সহজ. যখন একটি স্ন্যাপশট হয় নিছক সিস্টেম ভলিউমের মধ্যে বিদ্যমান সকল তথ্য এবং মেটাডেটা একটি অনুলিপি হিসাবে নতুন স্ন্যাপ রেকর্ড. সঙ্গে গরু, যখন পরিবর্তন, স্ন্যাপ এর তথ্য অক্ষত থাকে, এবং একটি ফাইল সিস্টেম এর অবস্থা সঙ্গতিপূর্ণ সময় স্ন্যাপ করা হয় এ দৃশ্য রক্ষণাবেক্ষণ করা যায়.

একটি নতুন বন্ধু

সঙ্গে মন উপরোক্ত, বিশেষত হিসাবে উবুন্টু btrfs একটি ইনস্টলেশনের-time অপশন হিসাবে উপলব্ধ করেনি, আমি মূর্তিযুক্ত এটি একটি ভাল সময় btrfs মধ্যে এবং আকর্ষণীয় একটি সামান্য অন্বেষণ করা হবে. 🙂

পার্ট 2 শীঘ্রই আসছে …

ভাগ