انتخاب یک سیستمعامل ذخیرهسازی متنباز
به طور فزایندهای رایج شده که از دستگاههای ذخیرهسازی سنتی و اختصاصی، هم NAS و هم SAN، صرفنظر کنند و به جای آن از سختافزار استاندارد و نصب یک سیستمعامل ذخیرهسازی روی آن استفاده کنند که بسیاری آن را سرورهای ذخیرهسازی «خودساخته» مینامند. البته این یک اشتباه است چون هیچکس یک فایل سرور عادی را «خودساخته» فقط به این دلیل که Windows را خودشان نصب کردهاند نمینامد. ذخیرهسازی اسطوره و افسانههای زیادی دارد که اطرافش میچرخد و مردم اغلب وقتی به نصب Windows و نامیدن آن NAS به جای فایل سرور فکر میکنند دچار وحشت میشوند. پس اگر حالتان بهتر میشود، از اصطلاحاتی مثل فایل سرور یا سرور ذخیرهسازی به جای NAS و SAN استفاده کنید – مشکل حل شد. این بخشی از جنبش «ذخیرهسازی متنباز» است – انتقال سیستمهای ذخیرهسازی از اختصاصی به استاندارد.
انتخاب سیستمعامل مناسب برای یک سرور ذخیرهسازی مهم است و همیشه آسان نیست. من به طور گسترده در این حوزه کار میکنم و مردم اغلب از من میپرسند چه توصیه میکنم و توصیهها بسته به سناریو متغیر است و اغلب گیجکننده به نظر میرسد. اما عوامل در واقع نسبتاً ساده هستند، اگر فقط محدودیتهایی که انتخابها و مسیرها را در درخت تصمیم ایجاد میکنند را بدانید.
قبل از انتخاب یک سیستمعامل باید متوقف شویم و در نظر بگیریم که نیازهایمان چیست. برخی حوزههایی که باید در نظر گرفته شوند عبارتند از: ظرفیت، عملکرد، سهولت مدیریت، بودجه، فناوری اتصال، هزینه و خوشهبندی. دو دسته اصلی سیستمهایی که در نظر خواهیم گرفت نیز وجود دارد؛ سیستمعامل استاندارد یا سیستمعامل دستگاه ذخیرهسازی. سیستمعاملهای استاندارد Windows، Linux، Solaris و FreeBSD هستند. سیستمعاملهای دستگاه ذخیرهسازی FreeNAS، OpenFiler و NexentaStor هستند. گزینههای دیگری در هر دو دسته وجود دارد اما اینها بازیگران اصلی فعلی هستند.
اولین تصمیمی که باید گرفته شود این است که آیا شما یا سازمانتان با پشتیبانی از یک سیستمعامل معمولی در نقش سرور ذخیرهسازی راحت است یا نه. اگر به دنبال NAS هستید فقط از خودتان بپرسید آیا میتوانستید یک فایل سرور را مدیریت کنید. مدیریت یک سرور ذخیرهسازی بلوکی (SAN) کمی پیچیدهتر یا حداقل غیرمعمولتر است پس ممکن است کمی نگرانی ایجاد کند اما واقعاً در راستای سایر وظایف مدیریتی است. اگر جواب مثبت است، یعنی استفاده از ابزارها و رابطهای سیستمعامل معمولی برایتان قابل قبول است، پس دسته «دستگاه» را فوراً حذف کنید. رویکرد دستگاه پیچیدگی اضافه میکند و چرخههای توسعه و پشتیبانی را کُند میکند، پس مگر ضروری باشد مطلوب نیست.
سیستمعاملهای دستگاه ذخیرهسازی تنها برای ارائه یک نمای از پیش بستهبندیشده و «آسان برای استفاده» از اجرای یک سرور ذخیرهسازی وجود دارند. از نظر مفهومی این خوب است اما مشکلات واقعی با این روش وجود دارد. بزرگترین مشکلات از فرآیند بستهبندی میآیند که شما را یک قدم از فروشندگان سیستمعامل سازمانی دور میکند و سیستم شما را شکنندهتر، از بهروزرسانیها و ویژگیها عقبتر و از نظر امنیتی کمتر از همتایان سنتی سیستمعامل میکند. همچنین شما را در دست یک شرکت بسیار کوچک برای پشتیبانی در سطح OEM هنگام بروز مشکل رها میکند به جای اینکه با یک فروشنده سازمانی بزرگ با پایگاه کاربری و جامعه عظیم باشید. فرآیند دستگاهسازی همچنین ویژگیها و گزینههای سیستمها را بنا بر ضرورت حذف میکند. در نهایت، شما ضرر میکنید.
دستگاهها به این دلیل خوب هستند که یک رابط وب راحت دارید که از آن «هرکسی» میتواند ذخیرهسازی شما را مدیریت کند. حداقل در تئوری. اما در واقعیت دو نگرانی وجود دارد. اول اینکه همیشه نیاز است که هر از چندگاهی به خود سیستمعامل رفته و چیزهایی را درست کنید. داشتن رابط وب سفارشی دستگاه این کار را به طرز چشمگیری سختتر از معمول میکند پس درست در زمانی که بیشترین نیاز به ماهیت دستگاهی سیستم را دارید آن را ندارید. دوم اینکه در دسترس قرار دادن چیزی به اهمیت ذخیرهسازی برای «هرکسی» که روی آن کار کند یک فکر ترسناک است. تعداد کمی از قطعات زیرساخت شما هستند که میخواهید تجربه، برنامهریزی و دقت بیشتری در آنها داشته باشید تا ذخیرهسازی. دشوارتر کردن استفاده از سیستم همیشه چیز بدی نیست.
اگر به سیستم دستگاهی نیاز دارید اساساً به FreeNAS و OpenFiler نگاه میکنید. NexentaStor محصول جذابی ارائه میدهد اما در نسخه رایگان موجود نیست و هزینه میتواند سنگین باشد. نسخه قابل دانلود رایگان به نظر میرسد برای اولین ۱۸ ترابایت ذخیرهسازی خام رایگان است اما مجوز خلاف آن را میگوید که این را به ندرت انتخاب محبوب میکند. (هزینه NexentaStor آنقدر بالاست که خرید یک سیستم Solaris با پشتیبانی کامل کمتر هزینهبر خواهد بود و پشتیبانی کامل از فروشنده اصلی به جای Nexenta که اساساً نسخههای قدیمی Solaris و ZFS را دوباره بستهبندی میکند ارائه میدهد. کد مدرنتر و بهروزرسانیها با هزینه کمتر از منبع اصلی در دسترس است.)
FreeNAS، خارج از خوشهبندی، پلتفرم ذخیرهسازی انتخابی در یک بسته دستگاهی است. فایل سیستم ZFS بسیار ستایششدهای دارد که انعطافپذیری و سهولت استفادهای را که در OpenFiler و سایر جایگزینهای مبتنی بر Linux کم است ارائه میدهد. همچنین یک پیادهسازی iSCSI کارآمد دارد پس میتوانید به صورت ایمن از FreeNAS به عنوان NAS یا SAN استفاده کنید. به نظر میرسد پشتیبانی از FreeNAS با توسعههای جدید منظم و نگه داشتن ویژگیها در حال افزایش است. FreeNAS طیف گستردهای از ویژگیها و پروتکلهای پشتیبانیشده ارائه میدهد. اعتقاد بر این است که خوشهبندی نیز در آینده به FreeNAS خواهد آمد زیرا این اخیراً به سیستمعامل FreeBSD زیرین اضافه شده است. اگر چنین باشد، FreeNAS به طور کامل نیاز به OpenFiler در بازار را از بین خواهد برد. FreeNAS کاملاً رایگان است.
OpenFiler فاقد یک پیادهسازی SAN با iSCSI قابل اعتماد است (مگر اینکه هزینه گزافی برای جایگزینی آن بخش از سیستم با یک جزء کارآمد بپردازید) و بسیار از رقبایش به روز عقبتر است اما تکرار بلادرنگ کامل در سطح بلوک را ارائه میدهد که به آن اجازه میدهد در حالت خوشهبندی برای قابلیت اطمینان کار کند. مشکل اینجا این است که رابط وب دستگاه NAS این سناریو را آدرس نمیدهد و اگر میخواهید این کار را بکنید باید در خط فرمان دست و پنجه نرم کنید، خیلی زیاد. این کار در سطح متخصص است و هر کسی که قادر به حتی در نظر گرفتن پروژهای برای تبدیل OpenFiler به یک خوشه قابل اعتماد باشد، به همان اندازه و احتمالاً بسیار بیشتر، با ساخت کل خوشه از ابتدا در توزیع Linux مورد نظرش راحت خواهد بود. OpenFiler روی rPath Linux نسبتاً غیرمحبوب و اکنون کاملاً متوقفشده با استفاده از سیستم بستهبندی Conary ساخته شده که هر دو بازیگران گوشهای هستند، به بیان محتاطانه، در دنیای Linux. پشتیبانی کمی از rPath از سوی سایر مدیران سیستم خواهید یافت و بسیاری از بستهها و ویژگیهایی که ممکن است بخواهید به آنها دسترسی داشته باشید ناموجود است. تنها مزیت قابل توجه OpenFiler در دسترس بودن DRBD برای خوشهبندی است که همانطور که گفته شد بیمعنی است. به نظر میرسد پشتیبانی از OpenFiler در حال کاهش است و ویژگیهای جدید وجود ندارند و در واقع ویژگیهای کلیدی مانند AFP حذف شدهاند به جای اینکه ویژگیهای جدید اضافه شده باشند. OpenFiler رایگان است اما ویژگیهای کلیدی مانند iSCSI قابل اعتماد رایگان نیست. گزارشهای اخیر از کاربران OpenFiler نشان میدهد که حتی ذخیرهسازی غیر-iSCSI هم در آخرین نسخه بیثبات شده و از دست دادن داده یک اتفاق معمول است. OpenFiler در ذهنیت این بخش صنعت بسیار محبوب است اما باید کاملاً از آن اجتناب کرد.
اگر نیازی به دستگاهیسازی سیستمعامل ذخیرهسازیتان ندارید، انتخابهای بیشتر و بهتری دارید اما یک درخت تصمیم بسیار پیچیدهتر. برخلاف بازار سیستمعامل دستگاهی که پر از چالهچوله است (NexentaStor هزینههای غیرمنتظره دارد، OpenFiler ظاهراً از iSCSI پشتیبانی میکند اما باعث از دست رفتن داده میشود، ویژگیها از نسخههای جدید حذف میشوند) هر چهار سیستمعامل ذکرشده اینجا بسیار قوی و غنی از ویژگی هستند. سه تای آنها پشتیبانی فروشنده OEM دارند که میتواند عامل تصمیمگیری مهمی باشد و همه گزینههای پشتیبانی شخص ثالث عالی بسیار گستردهتر از آنچه برای بازار دستگاهی موجود است دارند.
اولین تصمیم این است که آیا ویژگیهای فقط Windows، به ویژه NTFS ACLها، لازم است یا نه. رایج است که کاربران جدید NAS وقتی پروتکل SMB تمام کنترل دانهریز فایل سیستمی که در Windows به آن عادت دارند را ارائه نمیدهد شگفتزده میشوند. این به این دلیل است که آن کنترلها در واقع توسط فایل سیستم نه پروتکل شبکه مدیریت میشوند و Windows به تنهایی اینها را از طریق NTFS ارائه میدهد. پس اگر آن کنترل دانهریز فایل Windows لازم است، Windows تنها گزینه شماست.
سه گزینه دیگر، Linux، Solaris و FreeBSD، همه قابلیتهای پایه را با استثنای قابل توجه خوشهبندی به اشتراک میگذارند. همه RAID نرمافزاری خوب، فایل سیستمهای قوی و قابل اعتماد، مدیریت حجم منطقی قدرتمند و انواع گزینههای اتصال NAS و SAN دارند. بسیاری از نسخههای Linux و FreeBSD کاملاً رایگان هستند. Solaris در حالی که برای آزمایش رایگان است، برای استفاده تولیدی به صورت رایگان موجود نیست.
بزرگترین تمایزدهنده بین این سه گزینه سیستمعامل خوشهبندی است. Linux مدت زیادی است که DRBD دارد و این یک فناوری خوشهبندی فایل سیستم قوی است. FreeBSD اخیراً (از نسخه ۹.۰) HAST را برای خدمت به همین هدف اضافه کرده است. پس از نظر تئوری FreeBSD همان گزینههای خوشهبندی را دارد اما این خیلی جدیدتر و خیلی کمتر شناختهشده است. Solaris فاقد خوشهبندی فایل سیستم در سیستمعامل پایه است و برای رسیدگی به این در حال حاضر به افزونههای تجاری نیاز دارد.
Solaris و FreeBSD فایل سیستم ZFS قدرتمند و با سابقه را به اشتراک میگذارند. ZFS بسیار قوی و انعطافپذیر است و مدتهاست نقطه فروش کلیدی این پلتفرمها بوده. پشتیبانی Linux از فایل سیستمها پیچیدهتر است. تقریباً هر توزیع Linux (ما اصلاً به RHEL/CentOS، Oracle Unbreakable Linux، Suse/OpenSuse و Ubuntu اهمیت میدهیم) از EXT4 پشتیبانی میکند که قوی و سریع است اما فاقد برخی از ویژگیهای واقعاً خوب ZFS است. با این حال Linux به سرعت BtrFS را پذیرفته که با ZFS رقابتی است اما جدید است و در حال حاضر فقط در توزیعهای Suse و Oracle Linux موجود است. انتظار داریم به زودی آن را از سایرین برای استفاده تولیدی ببینیم اما در حال حاضر هنوز آزمایشی است.
خارج از خوشهبندی، احتمالاً انتخاب سیستمعامل از این سه عمدتاً به تجربه و راحتی بستگی دارد. Solaris به طور کلی برای ارائه بهترین توان عملیاتی و FreeBSD برای بدترین شناخته شده است. اما هر سه کاملاً نزدیک هستند. وقتی BtrFS به طور گسترده در Linux در دسترس و پایدار شود، Linux احتمالاً به انتخاب پیشفرض تبدیل خواهد شد همانطور که در گذشته بوده است.
بدون تأثیر خارجی، توصیه من برای پلتفرم ذخیرهسازی FreeBSD و سپس Linux است با حذف Solaris بر اساس اینکه به ندرت کسی به دنبال پشتیبانی تجاری است و بنابراین به طور خودکار حذف میشود. این تقریباً کاملاً بر اساس دسترس بودن فایل سیستمهای Copy-on-Write و با فرض عدم خوشهبندی که رایج نیست است. اگر خوشهبندی مورد نیاز است پس Linux اول سپس FreeBSD و Solaris دوباره حذف میشود.
Linux و FreeBSD به سرعت در حال نزدیک شدن به یکدیگر از نظر قابلیت هستند. با بلوغ BtrFS روی Linux و HAST روی FreeBSD به نظر میرسد در وسط به هم میرسند با انتخابی که چیزی بیش از یک پرتاب سکه نیست.
هیچ جواب واحد و سادهای وجود ندارد. انتخاب یک سیستمعامل ذخیرهسازی همه چیز درباره تعادل عوامل بیشمار از عملکرد، منابع، ویژگیها، پشتیبانی، پایداری و غیره است. چند عامل وجود دارد که میتوان از آنها برای حذف بسیاری از رقبا استفاده کرد و شناخت این محدودیتهای سخت کلیدی است. دانستن دقیقاً اینکه چطور قصد دارید از سیستم استفاده کنید و چه عواملی برایتان مهم هستند در غربال کردن گزینههای موجود مهم است.
حتی بعد از انتخاب یک پلتفرم تصمیمهای زیادی برای گرفتن وجود دارد. برخی پلتفرمها شامل چندین فایل سیستم هستند. SAN و NAS وجود دارد. چندین پروتکل SAN و NAS وجود دارد. پیوند شبکه (یا تیمینگ در دنیای Windows) وجود دارد. Multipathing وجود دارد. اسنپشات، حجم، RAID وجود دارد. لیست ادامه دارد و دارد.
