एक Open Storage Operating System चुनना
पारंपरिक, proprietary storage devices, दोनों NAS और SAN, को छोड़कर off the shelf hardware का उपयोग करना और उस पर एक storage operating system install करना increasingly common होता जा रहा है, जिसे कई लोग “do it yourself” storage servers कहते हैं। यह, निश्चित रूप से, एक misnomer है क्योंकि कोई भी एक normal file server को “do it yourself” नहीं कहता केवल इसलिए कि आपने खुद Windows install किया। Storage के आसपास बहुत सारे myth और legend हैं और लोग अक्सर घबरा जाते हैं जब वे Windows install करने और उसे NAS के बजाय file server कहने के बारे में सोचते हैं। तो, अगर यह आपको बेहतर लगे, तो NAS और SAN की बजाय file server या storage server जैसे terms उपयोग करें – problem solved। यह “open storage” movement का हिस्सा है – storage systems को proprietary से standard की ओर ले जाना।
Storage server के लिए सही operating system चुनना महत्वपूर्ण है और हमेशा आसान नहीं है। मैं इस space में extensively काम करता हूं और लोग अक्सर मुझसे पूछते हैं कि मैं क्या recommend करता हूं और recommendations scenario के आधार पर vary करती हैं, और अक्सर confusing लगती हैं। लेकिन factors वास्तव में relatively आसान हैं, अगर आप बस उन limitations को जानते हैं जो decision tree में choices और paths बनाती हैं।
OS चुनने से पहले हमें रुककर विचार करना होगा कि हमारी needs क्या होंगी। कुछ areas जिन पर विचार करने की जरूरत है वे हैं: capacity, performance, ease of administration, budget, connection technology, cost और clustering। दो main categories of systems हैं जिन पर हम विचार करेंगे, standard operating system या storage appliance operating system। Standard operating systems हैं Windows, Linux, Solaris और FreeBSD। Storage appliance operating systems हैं FreeNAS, OpenFiler और NexentaStor। दोनों categories में और भी हैं लेकिन ये वर्तमान में main players हैं।
पहला निर्णय यह है कि आप या आपका organization storage server role में operate करने वाले normal operating system को support करने में comfortable है या नहीं। अगर आप NAS देख रहे हैं तो बस अपने आप से पूछें कि क्या आप एक file server administer कर सकते हैं। एक block storage server (SAN) को administer करना थोड़ा अधिक complex है या, कम से कम, unusual है, इसलिए यह थोड़ी concern पैदा कर सकता है लेकिन वास्तव में अन्य administration tasks के अनुरूप है। अगर जवाब हां है, कि normal operating system tools और interfaces आपके लिए acceptable हैं, तो तुरंत “appliance” category को rule out करें। Appliance approach complexity जोड़ती है और development और support cycles को slow करती है, इसलिए जब तक आवश्यक न हो, अवांछनीय है।
Storage appliance operating systems केवल एक storage server चलाने में “easy to use” pre-packaged view प्रदान करने के लिए exist करते हैं। Concept में यह अच्छा है, लेकिन इस method में real problems हैं। सबसे बड़ी problems packaging process से आती हैं जो आपको enterprise OS vendors से एक कदम दूर खींचती है जिससे आपकी system अधिक fragile, updates और features में पीछे और traditional OS counterparts से कम secure हो जाती है। यह आपको कुछ गलत होने पर एक massive user base और community वाले large enterprise vendor के बजाय OEM-level support के लिए एक बहुत small company की दया पर भी छोड़ देता है। Appliancization process भी necessity से systems से features और options strip कर देता है। अंत में आप हारते हैं।
Appliances अच्छे हैं क्योंकि आपको एक convenient web interface मिलती है जिससे “कोई भी” आपके storage को administer कर सकता है। कम से कम theory में। लेकिन वास्तव में दो concerns हैं। पहली यह है कि हमेशा operating system में ही drop करने और चीजों को ठीक करने की जरूरत होती है। Appliance की custom web interface होने से यह सामान्य से नाटकीय रूप से अधिक कठिन हो जाता है इसलिए जब आपको सबसे अधिक appliance की nature की जरूरत होती है तभी आपके पास नहीं होती। दूसरी यह है कि storage जैसी critical चीज़ को “किसी के भी” काम करने के लिए उपलब्ध कराना एक terrifying thought है। आपके infrastructure में कुछ ही pieces हैं जहां आप चाहते हैं कि storage में से अधिक experience, planning और care ली जाए। System को उपयोग करना कठिन बनाना हमेशा बुरी बात नहीं है।
अगर आपको appliance system की जरूरत है तो primarily आप FreeNAS और OpenFiler को देख रहे हैं। NexentaStor एक compelling product offer करता है लेकिन यह free version में उपलब्ध नहीं है और लागत onerous हो सकती है। Freely downloadable version पहले 18TB raw storage के लिए free लगती है लेकिन license अन्यथा कहता है जिससे यह शायद ही कभी popular choice बनता है। (NexentaStor की लागत इतनी अधिक है कि fully supported Solaris system खरीदना कम costly होगा और Nexenta के बजाय original vendor से full support प्रदान करता है जो essentially पुराने versions of Solaris और ZFS को repackage कर रहा है। अधिक modern code और updates original source से कम expensively उपलब्ध हैं।)
FreeNAS, clustering के बाहर, appliancized package में storage platform of choice है। इसमें बहुत चर्चित ZFS filesystem है जो इसे OpenFiler और अन्य Linux-based alternatives में lacking flexibility और ease of use देती है। इसमें एक working iSCSI implementation भी है इसलिए आप FreeNAS को safely NAS या SAN के रूप में उपयोग कर सकते हैं। FreeNAS के लिए support बढ़ता प्रतीत होता है, नियमित रूप से नई developments हो रही हैं और features retain हो रहे हैं। FreeNAS features और supported protocols की एक large range offer करता है। यह माना जाता है कि future में FreeNAS में clustering भी आएगी क्योंकि यह हाल ही में underlying FreeBSD operating system में जोड़ी गई है। अगर ऐसा हुआ तो FreeNAS marketplace में OpenFiler की जरूरत को completely eliminate कर देगा। FreeNAS completely free है।
OpenFiler में एक reliable iSCSI SAN implementation की कमी है (जब तक आप उस part को एक working component से replace करवाने के लिए fortune नहीं देते) और अपने competitors से बहुत अधिक out of date है लेकिन full block-level real-time replication offer करता है जो इसे reliability के लिए clustered mode में operate करने की अनुमति देता है। यहां issue यह है कि NAS appliance की handy web interface इस scenario को address नहीं करती और अगर आप यह करना चाहते हैं तो आपको command line पर अपने हाथ dirty करने होंगे, बहुत ज़्यादा। यह expert level stuff है और जो कोई भी OpenFiler को एक reliable cluster बनाने के project पर विचार करने में capable है, वह उतना ही comfortable होगा, और likely far more comfortable, अपनी choice के Linux distribution पर scratch से पूरा cluster बनाने में। OpenFiler काफी unpopular और अब completely discontinued rPath Linux पर Conary packaging system के साथ बनाया गया है जो दोनों Linux world में, कहना है तो, niche players हैं। आपको अन्य administrators से बहुत कम rPath support मिलेगा और कई packages और features जिन तक आप access चाहते हैं उपलब्ध नहीं हैं। OpenFiler का किसी significant significance का एकमात्र advantage clustering के लिए DRBD की availability है, जो ऊपर बताए अनुसार, nonsensical है। OpenFiler के लिए support waning प्रतीत होता है, नई features non-existent हैं और वास्तव में AFP जैसे key features को drop किया गया है बजाय नई features जोड़ने के। OpenFiler free है लेकिन reliable iSCSI जैसे key features नहीं हैं। OpenFiler users की recent reports यह हैं कि latest release में non-iSCSI storage भी unstable हो गया है और data खोना एक regular occurrence है। OpenFiler इस industry segment के mindshare में बहुत popular रहता है लेकिन इसे completely avoid किया जाना चाहिए।
अगर आपको अपने storage operating system को appliancize नहीं करना है तो आपके पास अधिक और बेहतर choices हैं, लेकिन एक far more complex decision tree। Appliance OS market के विपरीत जो potholes से भरा है (NexentaStor में surprise costs हैं, OpenFiler iSCSI support करता प्रतीत होता है लेकिन data loss का कारण बनता है, new versions से features remove हो जाते हैं) यहां बताए गए सभी चार operating systems अत्यंत robust और feature rich हैं। इनमें से तीन के पास OEM vendor support है जो एक major deciding factor हो सकता है और सभी के पास great third party support options हैं जो appliance market के लिए उपलब्ध से far broader हैं।
पहला निर्णय यह है कि Windows only features, notably NTFS ACLs, की जरूरत है या नहीं। New NAS users के लिए यह surprising होना common है जब SMB protocol उतना granular filesystem control नहीं देता जितना वे Windows में use में हैं। यह इसलिए है क्योंकि वे controls actually filesystem द्वारा handle किए जाते हैं, network protocol द्वारा नहीं, और Windows अकेले इन्हें NTFS के माध्यम से provide करता है। तो अगर उस granular Windows file control की जरूरत है, तो Windows आपका एकमात्र option है।
अन्य तीन entrants, Linux, Solaris और FreeBSD, सभी clustering के notable exception के साथ basic capabilities share करते हैं। सभी के पास good software RAID है, सभी के पास powerful और robust filesystems हैं, सभी के पास powerful logical volume management है और सभी NAS और SAN connection options की variety provide करते हैं। Linux और FreeBSD के कई versions completely freely उपलब्ध हैं। Solaris, testing के लिए free होने के बावजूद, production use के लिए free उपलब्ध नहीं है।
इन तीन OS options के बीच सबसे बड़ा differentiator clustering है। Linux के पास DRBD लंबे समय से है और यह एक robust filesystem clustering technology है। FreeBSD ने हाल ही में (9.0 के अनुसार) इसी purpose के लिए HAST जोड़ा है। तो, theory में, FreeBSD के पास Linux के समान clustering options हैं लेकिन यह बहुत newer और बहुत कम well known है। Solaris में base OS में filesystem clustering की कमी है और इस समय इसे handle करने के लिए commercial add-ons की आवश्यकता है।
Solaris और FreeBSD powerful और battle tested ZFS filesystem share करते हैं। ZFS अत्यंत powerful और flexible है और इन platforms का key selling point रहा है। Linux का filesystems के लिए support अधिक convoluted है। लगभग कोई भी Linux distribution (हम principally RHEL/CentOS, Oracle Unbreakable Linux, Suse/OpenSuse और Ubuntu की परवाह करते हैं) EXT4 support करती है जो powerful और fast है लेकिन कुछ really nice ZFS features की कमी है। हालांकि, Linux rapidly BtrFS adopt कर रही है जो ZFS के साथ बहुत competitive है लेकिन nascent है और currently केवल Suse और Oracle Linux distros में उपलब्ध है। हम उम्मीद करते हैं कि इसे production use के लिए जल्द ही अन्य से देखेंगे लेकिन इस समय यह अभी भी experimental है।
Clustering के बाहर, likely इन तीन के बीच OS का choice primarily experience और comfort पर आएगा। Solaris generally best throughput provide करने के लिए जाना जाता है और FreeBSD worst। लेकिन तीनों काफी close हैं। एक बार BtrFS Linux पर widely available और stable होने के बाद, Linux likely de facto choice बन जाएगा जैसा पहले था।
External influence के बिना, storage platform के लिए मेरी recommendation FreeBSD और फिर Linux है, Solaris को इस आधार पर eliminate करते हुए कि शायद ही कभी कोई commercial support की तलाश में होता है इसलिए यह automatically ruled out है। यह लगभग पूरी तरह Copy-on-Write filesystems की availability पर और कोई clustering न मानते हुए based है जो common नहीं है। अगर clustering की जरूरत है तो पहले Linux फिर FreeBSD और Solaris फिर ruled out है।
Linux और FreeBSD rapidly functionality में एक-दूसरे के करीब आ रहे हैं। जैसे-जैसे BtrFS Linux पर और HAST FreeBSD पर mature होता है वे middle में मिलते प्रतीत होते हैं जिसमें choice little more than a toss up है।
कोई single, simple answer नहीं है। Storage OS चुनना performance, resources, features, support, stability आदि जैसे myriad factors को balance करने के बारे में सब है। कुछ factors हैं जिनका उपयोग कई contenders को rule out करने के लिए किया जा सकता है और इन hard delimiters को जानना key है। यह जानना महत्वपूर्ण है कि आप system का उपयोग कैसे करने की plan करते हैं और आपके लिए कौन से factors महत्वपूर्ण हैं।
एक platform चुनने के बाद भी कई decisions करने हैं। कुछ platforms में multiple file systems शामिल हैं। SAN और NAS हैं। Multiple SAN और NAS protocols हैं। Network bonding (या teaming, Windows की दुनिया में) है। Multipathing है। Snapshots, volumes, RAID हैं। List चलती रहती है।
