مروری بر امکانات معرفی شده بر روی Red Hat Enterprise Linux 7
بالاخره طبق قول قبلی شرکت Red Hat مبنی بر انتشار اولیه RHEL 7 – Red Hat Enterprise Linux 7 در شش ماهه دوم سال ۲۰۱۳ ، سیستم عامل اینترپرایز این شرکت نسخه بتا ۱ آن منتشر شد. قبلا در بر روی امکانات معرفی شده RHEL 7 در کنفرانس سالانه Red Hat Summit مروری اجمالی داشتهام ولی چهارشنبه با معرفی رسمی RHEL 7 Beta 1 شرکت ردهت با انتشار مستندی، تکنولوژیهای مورد استفاده در RHEL 7 را معرفی کرد.
تصور رایج و اشتباهی که بیشتر کاربران در مورد تفاوت RHEL و Fedora دارند این است که فدورا یک توزیع بر پایه سیستم عامل ردهت است که توسط کامیونیتی توسعه و منتشر میشود و به اشتباه همه فدورا را یک توزیع بر پایه ردهت مینامند. در صورتی که این مسئله کاملا برعکس است و پروژه upstream سیستم عامل ردهت، پروژه فدوراست و هر ۲ سال و نیم الی ۳ سال یکبار سیستم عامل RHEL از روی کدمنبع و پکیجهای آخرین نسخه منتشر شده از فدورا در زمان انتشار ردهت اینترپرایز لینوکس – RHEL ، منتشر میشود. پس شاید درستتر باشد بگوییم RHEL یک توزیع لینوکس با مصارف سروری و اینترپرایز است بر پایه فدورا. دقیقا مثل Ubuntu که توزیعی است بر پایه Debian. البته ساختار و شیوه انتشار و نوع کاربرد RHEL و نسبت آن با Fedora کاملا با Debian و Ubuntu برعکس است. به واسطه همین نسبت خانوادگی، بخشی از تکنولوژیهای معرفی شده در RHEL 7 قبلا در نسخههای قبلی Fedora معرفی شده و ممکن است برای بعضی از کاربران شناخته شده باشد.
امکانات معرفی شده در RHEL 7 – Red Hat Enterprise Linux:
اینترپرایز لینوکس به ادعای شرکت ردهت، بر خلاف نسخههای قبلی که بیشتر برای مصارف سرور و استفاده مدیران سیستم آماده شده بود اینبار در نسخه ۷ برای کاربریهای Development , Administration و DevOps در نظر گرفته شده و در نظر دارد محیط به روزی را برای توسعه نرم افزار برای برنامه نویسان و توسعه دهندگان آماده کند.
System Platform
نسخهی ۱۹ فدورا به عنوان کدمنبع و از پکیجهای این نسخه برای توسعه و آمادهسازی سیستم عامل RHEL 7 انتخاب شده است. البته در برخی از سایتهای خبر و تحیلی هم ادعا شده که ردهت از ترکیبی از نسخههای ۱۸/۱۹/۲۰ فدورا برای این منظور استفاده کرده است.
Linux Containers
یکی از مهمترین قابلیتهای معرفی شده در RHEL 7 قابلیت Linux Container است که با استفاده از Docker روی سیستم عامل اینترپرایز ردهت پیاده سازی میشود. Linux Container و تکنولوژی Docker نوعی از مجازیسازی است که در لایه اپلیکیشن صورت میگیرد. این تکنولوژی برای هر اپلیکیشن بر روی هر Single Host یک محیط ایزوله و کاملا جدا از بقیه سیستم ایجاد کرده و با سطوح دسترسی و میزان مصرف منابع سخت افزاری مورد نیاز برای اپلیکیشن ، امکان اجرای هر اپلیکیشنی را بر روی یک سیستم لینوکس فراهم میکند. Docker حتی قابلیت اجرای چندین باره یک نرم افزار را با پراسس و منابع مجزا را دارا میباشد.
Performance Co-Pilot
سیستم Performance Co-Pilot تکنولوژی جدیدی است که ردهت برای مانیتور، ثبت و آنالیز کارکرد سیستم در سیستم عامل جدیدش در نظر گرفته است. Performance Co-Pilot یک API برای ورودی و خروجی اطلاعات جهت توسعه نرم افزارهای بر پایه این سیستم نیز در اختیار توسعهدهندگان قرار میدهد. همچنین این سیستم ابزاری برای جستجو و بازیابی اطلاعات جمعآوری شده به همراه دارد و اطلاعات جمعاوری شده توسط آن میتواند با Systemd, Syslogd و SysStat یکپارچه شود. این سیستم همراه با یک ابزار گرافیکی جهت نمایش اطلاعات همراه است که ابزار و قابلیتهای آن کم از قابلیتهای اینترفیس تکست آن ندارد.
Tuned and Tuned Profiles
ابزار Tuned یک ابزار بهینه سازی سیستم برای مدیران سیستم است که بسته به نوع کار و فشاری که روی سیستم است به صورت داینامیک و هوشمند عمل میکند و تنطیمات سیستم را برای انجام بهینه وظایف تغییر میدهد. این ابزار از قابلیت Profile پشتیبانی میکند و بسته با حجمکار سیستم و موقعیت زمانی، پروفایل مرتبط را بر روی Tuned اجرا میکند.
Tuna
ابزار Tuna ابزاری است که در RHEL 6 هم وجود داشت و برای مانیتور کردن کارکرد پردازشی سیستم و بهینهسازی کرنل با استفاده از Profileهای مختلف در حجمهای کاری متفاوت و زمان های مختلف استفاده میشد. اکنون در RHEL 7 این ابزار بهینه سازیهای زیادی داشته و با استفاده از ابزار گرافیکی که برای آن در نظر گرفته شده میتوان کارکرد سیستم، مانیتورینگ و بهینهسازی های سیستم را با آن انجام داد.
Hardware Event Reporting Mechanism
با استفاده از ابزار Hardware Event Reporting Mechanism یا HERM مدیر سیستم این قابلیت را خواهد داشت که به صورت دورهای یا پس از هر عملیاتی گزارشی از کارکرد سخت افزاری سیستم داشته باشد و از صحت و سلامت یا خرابی سختافزاری مطلع شود.
Guest Integration with VMware
در این نسخه سعی شده RHEL 7 تا حد زیادی در VMware vSphere به عنوان سیستم Guest کارایی بهینهای داشته باشد. ابزار Open VM Tools و رندرینگ سه بعدی گرافیکی و ارتباط سریع ماشین مجازی با VMware ESXi و به علاوه کارایی بالای ردهت اینترپرایز لینوکس بر روی VMware به نسبت قبل از جمله قابلیتهایی است که در این بخش به RHEL 7 اضافه شده است.
Cryptography Support
به مجازیساز KVM به درخواست دولتهای آمریکا و انگلیس قابلیت رمزینگاری امنیتی جدیدی اضافه شده که با استفاده از آن، ماشین مجازی قادر به کشیدن نمودارهای Entropy بر روی سیستم Host خواهد بود. به صورت پیشفرض این نمودارها در فایل /dev/random به صورت امن بر روی سیستم Host ذخیره میشود.
Development
سیستم عامل اینترپرایز ردهت نسخه ۷ از آخرین و پایدارترین نسخه OpenJDK یعنی نسخه ۷ استفاده میکند. تمامی پکیجهای Java 7 از جمله Java 1.7-OpenJDK و Java1.7-Oracle و Java 1.7-IBM قابل نصب بر روی RHEL 7 خواهند بود و به صورت موازی با هم قابل استفاده هستند. همچنین از نسخههای Python 2.7.5 و PHP 5.4 و Ruby 2 و Apache Web Server 2.4 برای توسعه نرم افزار و وب بر روی RHEL 7 استفاده میشود.
In-Place Upgrade
قابلیت آپگرید از نسخه ۶ به ۷ در RHEL 7 اضافه شده و مدیر سیستم میتواند از نسخه RHEL 6.5 به RHEL 7 آپگرید کند. در RHEL 6.5 ابزاری قرار داده شده با نام Zstream که کار این ابزار آماده کردن توضیحات و گزارش در مورد چگونگی آپگرید از نسخه ۶ به ۷ است که در فایل گزارشهای آن قید میشود که کدام بخش از سیستم به صورت اتوماتیک آپگرید میشود و کدام بخشها باید به صورت دستی انجام شود. اما نحوه آپگرید کردن RHEL به نسخه بالاتر هنوز به راحتی سیستمهای Debian Based نیست ولی پشتیبانی حداقل ۱۰ ساله از RHEL 6 یا RHEL 7 باعث ماندگاری مدیران سیستم بر روی نسخههای با پشتیبانی میشود. به قولی سیستمی که کار میکند، کار میکند ! بحث آپگرید زمانی مطرح میشود که نیاز به امکانات جدید داشته باشید یا پشتیبانی آن به سر آماده باشد. لازم به ذکر است در طول این ۱۰ سال به صورت مداوم آپدیتهای امنیتی برای RHEL منتشر میشود.
Partitioning Defaults For Rollback
قابلیت بازگشت به حالت قبل بر روی یک سرور Production بعد از تغییرات فراوان بر روی تنظیمات سیستم یکی از محاسن یک سیستم عامل محسوب میشود. این قابلیت بر روی فایل سیستم XFS و EXT4 بر روی RHEL 7 با استفاده از پارتیشنبندی LVM و Snapshotها انجامپذیر است.
Anaconda Kickstart For Active Directory Integration
بر روی سیستمهای RPM Based مثل CentOS و RHEL و Fedora فایلهایی در حین نصب به مدیای نصب اضافه میشود که وظایف ادمینیستریشنی و مدیریتی سرور را بر روی سیستم کاهش میدهد و همه کانفیگها در حین نصب بر روی سیستم اعمال میشود. به این فایلها Kickstart گفته میشود. در این نسخه از RHEL قابلیتی اضافه شده که میتواند مراحل Join شدن سیستم به Microsoft Active Directory را در حین نصب به سیستم اضافه کند و پس از نصب با استفاده از One-Time Password یکبار برای همیشه سیستم در AD ثبت شود.
Creating Installation Media
یکی دیگر از قابلیتهایی که به RHEL 7 اضافه شده قابلیت ساخت مدیا نصب شخصیسازی شده برای مصارف گوناگون و با استفاده از Kickstart اختصاصی میباشد. با استفاده از این قابلیت میتوانید برای مصارف مختلف با کانفیگ و شخصیسازیهای اختصاصی برای خود CD نصب برای مصارف مجازیسازی یا ورکاستیشن یا استاندارد سرور و… ایجاد کنید.
Server Profile Template
در RHEL 7 قابلیتی گنجانده شده که با استفاده از آن میتوانید برای مصارف سروری و با حجمکار های متفاوت تمپلیت نصبی از RHEL 7 ایجاد کنید.سرعت ساخت این تمپلیتها بسیار بالا و توسعه آن راحت میباشد و برای نصب تعداد زیادی سرور بر پایه RHEL مناسب است.
Desktop
بر روی RHEL 7 میزکارهای Gnome 3 با استفاده از Gnome Shell و Gnome 3 با استفاده از استایل Classic که گنوم ۳ را به شکل گنوم ۲ تبدیل میکند و همچنین KDE قابل نصب و استفاده هستند. میزکار پیشفرض هم Gnome 3 با استایل Classic است که سعی شده از نظر ظاهری تفاوت چندانی با نسخههای RHEL 6 و RHEL 5 نداشته باشد.
System-Wide Resource Management
ابزار مدیر سیستم و سرویس RHEL 7 همچون نسخههای اخیر Fedora ، سیستم Systemd خواهد بود. Systemd با مشابههای خود در نسخههای قبلی RHEL مثل SysV و LSB init Scripts و Sysvinit در اجرای سرویسها سازگاری دارد و قابل جایگزینی نیز میباشد.
OpenLMI
یکی از ویژگیهای RHEL 7 استفاده و پشتیبانی از OpenLMI یا Open Linux Management Infrastructure است. OpenLMI پروژهای است که میتوان با استفاده از آن مدیریت و مانیتورینگ و نگهداری یک سرور لینوکسی از راه دور به دست بگیرید و تمام فرامینی که به صورت لوکال با یک سرور لینوکس میتوانید انجام دهید به صورت ریموت نیز انجام دهید. OpenLMI همچنین از API برای توسعه نرم افزار بر پایه این پلتفرم هم نیز پشتیبانی میکند. برای اطلاعات بیشتر پیشنهاد میکنم به سایت رسمی این پروژه سری بزنید.
File Systems
در RHEL 7 از فایل سیستم XFS به صورت پیشفرض استفاده میشود. در نسخههای قبلی XFS حداکثر حجم پارتیشنی که پشتیبانی میشد ۱۰۰ ترابایت بود که در نسخه جدید و در RHEL 7 به ۵۰۰ ترابایت ارتقاء پیدا کرده است. همچنین همانند نسخه قبلی RHEL از فایل سیستم EXT4 نیز پشتیبانی میشود و حداکثر سایر پارتیشن بر پایه EXT4 در این نسخه میتواند ۵۰ ترابایت باشد. همچنین فایل سیستم BTRFS نیز در این نسخه گنجانده شده است ولی برای مصارف اینترپرایز و سرور Production پیشنهاد نمیشود. همچنین فایل سیستم CIFS برای شبکه و GFS2 برای کلاسترینگ هم بهبودهایی داشتهاند که در این نسخه گنجانده شده اند.
ISCSI and FOCOE Targets
در RHEL 7 ابزار جدیدی در کرنل لینوکس برای مدیریت ISCSI و Fiber Channel Over Ethernet قرار داده شده که در مقایسه با قبل که این فرایند به صورت سخت افزاری در اپلاینسها و دیوایسهای Storage Server مدیریت میشد حالا به صورت نرم افزاری و در لایه کرنل مدیریت میشود و به طبع این ویژگی کاهش هزینهها را در بر خواهد داشت و استفاده و تولید Storage Server Appliance ها را به شکل سابق گران نخواهد کرد.
Dynamic LUN Detection
در این نسخه نیز LUNها که در Storage های تحت شبکه استفاده میشود به صورت اتوماتیک شناخته میشوند و نیازی به دستکاری دستی کانفیگ نرم افزاری نمیباشد.
Snapper
ابزار snapper ابزار جدیدی است که به RHEL اضافه شده و کار آن ایجاد، حذف، برچسبگذاری (لیبل) و مدیریت Snapshot ها بر روی فایل سیستم BTRFS و همچنین LVM میباشد. این ابزار میتواند ابزار دم دست و راحتی برای مدیران سیستم جهت مدیریت بکاپهای بر پایه Snapshot باشد.
Dynamic Firewall
یک فایروال برای سرور نباید به دلیل تغییرات در رولهای فایروالی متوقف شود و همواره باید در حال اجرا باشد تا بتواند حملات به سوی سرور را دفع کند. در RHEL 7 قابلیت فایروال داینامیک با استفاده از Firewalld اضافه شده است که به نسبت قبل رولهای فایروال با سرعت بیشتر و سینتکس راحتری نوشته میشود.
Labled NFS
در بحث مجازی سازی برای امنیت بیشتر، Home Directory ماشینهای مجازی از فایل سیستم شبکهای NFS در ماشین مجازی مانت میشود. در RHEV Storage Domain میتوان برای هریک از NFSها لیبل و برچسب تعریف کرد.
NetworkManager Interfaces
در RHEL 7 دو نوع ابزار برای مدیریت شبکه قرار داده شده است. یکی nmcli که یک ابزار کامندلاین بوده که بیشتر مدیران سیستم از آن استفاده میکنند و برای مدیریت شبکه به صورت راهدور و ریموت این ابزار مناسبتر است. و دومی TUI است که جایگزین System-config-Network-TUI شده است که کار را برای کسانی که تمایلی به کار با کانفیگ فایلهای شبکه ندارند آسان میکند.
Accurate Time Synchronization
در RHEL 7 برای پروتکل شبکه زمانی دیگر خبری از ntpd نیست و به جای آن از Chrony استفاده میشود. یکی از دلایل جایگزینی Chrony این است سرعت بیشتری برای سینک زمانی به نسبت ntpd دارد.
Team Driver Link Aggregation
مکانیسم جدیدی که در RHEL 7 معرفی شده نوعی Link Aggregation به نام Team Driver است که چندین ورودی/خروجی شبکه را به یک اینترفیس تبدیل میکند. با استفاده از آن میتوان سرعت بیشتر را با اجتماع چند کارت شبکه در یک سیستم متمرکز کرد.
Forty Gb Ethernet Link Speed
سیستم عامل اینترپرایز ردهت نسخه ۷ پیشبینی آیندهی شبکههای کامپیوتری را کرده است ! لینکهای شبکه ۴۰ گیگابیت ویژگی است که ردهت برای خورههای شبکه در نظر گرفته و در RHEL 7 پشتیبانی میشود.
نسخه هفتم سیستم عامل ردهت اینترپرایز لینوکس در حال حاضر در مرحله بتا به سر میبرد و پیشبینی میشود حداکثر تا اوائل مارچ ۲۰۱۴ منتشر شود. قابلیتهای معرفی شده هم فعلا در مرحله بتا به سر میبرند و ممکن است علاوه بر این امکانات معرفی شده امکانات بیشتری به این لیست اضافه شود. تمام ویژگیهای ذکر شده در این مقاله برای سایر خانواده Enterprise Linux ها از جمله CentOS و Scientific Linux و ClearOS و… صدق میکند و اگر از جمله کاربران RHEL یا ادمین سرورهای RHEL بنا به دلایل تحریم یا نداشتن لایسنس یا غیره نیستید خوشحال باشید که با سیستم عاملهای بر پایه سورس کد RHEL مثل CentOS هم میتوانید تمامی این ویژگیها را با کمی تغییرات داشته باشید و تجربه کنید.