محمد مهدی خلعت بری بدون دیدگاه

KVM Linux – قسمت اول

معرفی:

KVM یا Kernel-based Virtual Machine از محصولات شرکت Red Hat Enterprise است. یک ابزار کامل برای امور مجازی سازی روی لینوکس با سخت افزار x86 معماری سخت افزار AMD64 و Intel64 می باشد که برای اجرا باید Extension های مجازی سازی AMD-V و Intel VT را دارا باشند و برای کرنل Red Hat Enterprise Linux 6 ساخته شده بود. KVM شامل ماژول کرنل kvm.ko است، که زیرساخت مجازی سازی کرنلی و ماژول پردازنده kvm-intel.ko و kvm-amd.ko را دربر دارد. می تواند چندین سیستم عامل مهمان یا ماشین مجازی ویندوزی و لینوکسی را راه اندازی نماید که هرکدام برای خود کارت شبکه، دیسک، آداپتور گرافیک و .. را می توانند داشته باشند.

kvm به عنوان یک ماژول کرنل قابل بارگذاری است که وقتی اجرا شود کرنل لینوکس را به عنوان یک hypervisor bare metal تبدیل می کند. دو اصل مهم در طراحی kvm اتفاق افتاد تا این hypervisor به سرعت به عنوان پایدار ترین hypervisor متن باز قرار گرفت.اول این که kvm بعد از ظهور hardware assisted به وجود آمد واین امر kvm را مجبور پشتیبانی از ویژگی های hardware assisted کرد تا hypervisor kvm دستور هایی که پردازنده های intel VT-Xi و AMD-V پشتیبانی می کند را پیاده سازی کند.دوم اینکه تیم kvm در ادامه از ضرب مثل “don’t  reinvent the wheel”  استفاده کردند به این معنی که به دنبال اختراع روش جدید نبودند و بهترین روش های موجود برای حل مسئله استفاده کردند. در یک hypervisor اجزای بسیاری وجود دارد که علاوه بر مجازی سازی CPU و Memory اجزای دیگری هم وجود دارد برای مثال: memory manager, process scheduler, I/O stack, device drivers, securit manager ، network stack و غیره. در حقیقت یک hypervisor واقعا یک سیستم عامل خاصی است که هدف آن به جای بالا اوردن یک برنامه بالا آوردن یک ماشین مجازی است.

 

معماری kvm :

در معماری kvm ماشین مجازی به عنوان یک پروسس منظم است که توسط زمانبند استاندارد لینوکس اجرا می شود.در حقیقت هر CPU مجازی به عنوان یک پروسس منظم به نظر می رسد.این کار به kvm اجازه می دهد که از تمام ویژگی های کرنل لینوکس بهره مند شود.

 

مدیریت حافظه :

KVM ویژگی هایی از مدیریت حافظه قدرتمند لینوکس را به ارث برده است.حافظه ای از یک ماشین مجازی به عنوان حافظه ذخیره می شود و این حافظه برای هر فرایند دیگری در لینوکس می تواند جابه جا شود . پشتیبانی از صفحه های بزرگ large pages عملکردی بهتر و امکان پشتبانی یا اشتراک گذاری فایل دیسک‌ها را فراهم می‌کند. NUMA SUPPORT به یک ماشین مجازی اجازه دسترسی موثر به مقدار بزرگی از حافظه را می دهد. صفحات مشترک حافظه از طریق یکی از ویژگی های کرنل به نام Kernel Same-page Merging(KSM) پشتیبانی می شود.ksm حافظه هر ماشین مجازی را اسکن می کند و صفحات حافظه یکسان این ماشین های مجازی را باهم ادغام می کند و این یک صفحه باقیمانده را بین ماشین ها به اشتراک می گذارد.و اگر یک مهمان بخواهد صفحه مشترک بین ماشین های را تغییر بدهد به اویک کپی محافظت شده از صفحه مشترک رامی دهیم.در بسیاری از مواقع امکان یکپارچه سازی بین ماشین های مجازی بروی یک هاست وجود دارد برای مثال در یک ماشین مجازی ویندوز از حافظه در DLL رایج ، کتابخانه ها، کرنل های یا دیگر اجزای مشترک بین ماشین مجازی استفاده نمی شود .با KSM بیشتر ماشین های مجازی می توانند بر روی یک هاست مستقر شوند و این امر باعث کاهش سخت افزار، هزینه هاو بهبود مصرف سرور می شود.

ذخیره سازی :

KVM قادر به استفاده از هر گونه ذخیره سازی پشتیبانی شده توسط لینوکس برای ذخیره Image های ماشین مجازی است، که شامل دیسک های محلی با IDE, SCSI و SATA ،شبکه های متصل ذخیره سازی NAS  که شامل NFS و SAMBA/CIFS یا SAN با پشتیبانی برای iSCSI و Fiber Channel می باشد. ممکن است از چندمسیر I / O به منظور بهبود توان ذخیره سازی و تولید افزونگی مورد استفاده قرار گیرد. KVM، ایمیج ماشین های مجازی مشترک در فایل سیستم ها را پشتیبانی می کند برای مثال (Global File System (GFS2 به ایمیج ماشین مجازی اجازه می دهد بین چندین هاست به طور مشترک یا چندین logical volumes مشترک استفاده شود. فرمت محلی (native) ایمج KVM به نام QCOW2 است که شامل پشتیبانی از snapshots ،اجازه دادن snapshots از سطوح مختلف ، فشرده سازی و رمزنگاری می باشد.

مهاجرت زنده live migration :

KVM از مهاجرت زنده پشتیبانی می کند که امکان انتقال یک ماشین مجازی در حال اجرا را بین میزبانان فیزیکی، بدون هیچ وقفه در خدمات، فراهم می سازد.مهاجرت زنده برای کابر نهایی ناپیدا است ،ماشین مجازی روشن باقی می ماند،‌اتصالات شبکه فعال باقی می ماند و کاربر برنامه در حالیکه ماشین مجازی در حال انتقال به میزبان جدید است در حال اجرا است .

هایپرویژن Hypervisor چیست و چه کاربردی دارد ؟

 

یک هایپرویژن Hypervisor   یکی از دو روش برای مجازی سازی یک محیط محاسباتی است ، منظور ما از virtualize ، تقسیم منابع مانند RAM , CPU از یک محیط محاسبات فیزیکی ( شناخته شده به عنوان سرور اصلی میزبان ) به چند ماشین مجازی کوچکتر ( شناخته شده به عنوان مهمان ) . هر مهمان می تواند سیستم عامل مورد نیاز خود را نصب کند و هر ماشین مجازی منابع خود  RAM  و CPU  خود را دارد ، در واقع سرور مجازی درست مانند یک سرور فیزیکی رفتار می کند ، این امکان نیازمند پشتیبانی قابلیتی به نام VT-x در سی پی یو های اینتل و AMD-V در سی پی یو های AMD است.

یکی از وظایف کلیدی که Hypervisor فراهم می کند جداسازی است ، این به این معنی است یک مهمان امکان دسترسی به سرور میزبان و همچنین دسترسی به سایر مهمان ( ماشین های مجازی ) ایجاد شده در سرور ندارد و رفتار های سرور مهمان روی آنها تاثیری نداشته باشد ، حتی اگر ماشین مهمان با مشکلاتی مانند کرش شدن مواجه شود. بنابراین هایپرویژن باید به دقت مانند یک سخت افزار ماشین فیزیکی تقلید کند و از دسترسی مهمان به سخت افزار واقعی جلوگیری کند ، از آنجایی که این عمل به شدت سرعت را کاهش می دهد از یک روش paravirtualized یا PV drivers استفاده می شود. این امکان تمام سخت افزار ها را به صورت مجازی در اختیار ماشین مجازی قرار می دهد و  درایور های آن توسط Hypervisor دریافت می شود ، با استفاده از این روش سرعت بالا می رود و همچنین امکان دسترسی مستقیم به سخت افزار های اصلی سرور و کنترل آنها توسط مهمان دیگر وجود ندارد.

 

Hypervisors دو نوع است Type 1 و Type 2

Type 1  : در این نوع از Hypervisors که به اصطلاح به آن “برهنه فلزی” گفته می شود ، Hypervisors به طور مستقیم برای کنترل سخت افزار و سیستم عامل های مهمان اجرا می شود. بنابراین مجازی ساز های VMware ESXi و Xen از نوع Type 1 می باشد. تصویر زیر مثالی type 1 است :

 

Type 2  : در این نوع از Hypervisors که به اصطلاح به آن “میزبانی شده” گفته می شود ، Hypervisors در داخل یک سیستم عامل اجرا می شود و پس از آن سیستم عامل عامل های مهمان ایحاد می شود. سیستم های مجازی ساز دسکتاپ اغلب از این روش استفاده می کنند. بنابراین مجازی ساز های  OpenVZ و KVM از نوع Type 2 هستند.تصویر زیر مثالی type 2 است :

با تصاویر بالا نتیجه می گیریم Hypervisors تایپ 1 بهتر از تایپ 2 است زیرا در تایپ 1 Hypervisors هنگام دسترسی به منابع فیزیکی از سیستم عامل میزبان استفاده نمی شود. پیدا کردن نوع Hypervisors کاری بسیار ساده است ، برای مثال مجازی ساز KVM که به عنوان یک پردازش در سیستم عامل میزبان لینوکس نصب می شود از نوع TYPE-2 است. در واقع فرایند راه اندازی صرفا دسترسی به تعداد محدودی منابع از طریق سیستم عامل میزبان و بسیاری از وظایف حساس توسط ماژول کرنل انجام می شود که دسترسی مستقیم به سخت افزار را دارد.

در شماره بعدی به مقایسه انواع مجازی ساز های لینوکسی خواهیم پرداخت.

محمد مهدی خلعتبری

الهام عابدی بدون دیدگاه

زورآزمایی دو رقیب وب ساز(php و ASP.net)

موضوعی که همیشه برای تازه واردان در حوزه های برنامه نویسی مطرحه، اینکه در میان زبان های محبوب و پرکاربرد کدوم یک رو برگزینیم؟! در عین حال که سوال خوبیست، اشکال زیادی هم بهش وارده! چرا که ممکنه یک زبان نسبت به زبان دیگه مزیت کمتری داشته باشه اما از نظر کاربردی به صرفه تر باشه! به طور کل همچین مقایسه ای اطلاعات و دید ما رو نسبت به یادگیری کاربردی تر می کنه منتها به شرطی که به کمیت های هر زبان بسنده نکنیم و در نهایت بدانیم که از این کار چه می خواهیم و قرار است چه چیزی خلق کنیم! بیشتر بدانید

Mojarch بدون دیدگاه

Xbox One X:کنسول با طعم ویندوز

یک سال پس از عرضه نسخه ارتقا یافته کنسول پلی استیشن ۴ توسط سونی با نام PS4 pro مایکروسافت نیز نسخه ارتقا یافته کنسول خود یعنی ایکس باکس وان ایکس (Xbox One X) را عرضه نمود.

مایکروسافت به طور رسمی در E3 سال ۲۰۱۷ این کنسول را معرفی و از عنوان:«قدرتمند ترین کنسول تا به امروز» برای ان استفاده کرد. بیشتر بدانید

bobz بدون دیدگاه

خبرگزاری قبیله گیک‌ها – خبر شماره ۴

دانشگاه Purdue اعلام کرد که همکاری با شرکت مایکروسافت در زمینه کامپیوترهای کوانتومی را برای مدت چند سال افزایش داده است.

یکی از محققان مایکروسافت بنام Michael Freedman دراین مورد اعلام کرد که “این درست مانند آن است که سیاره ای کاملا متفاوت در زمینه محاسبات کامپیوتری در آن بیرون قرار دارد و ما با همکاری یکدیگر قصد داریم بر روی آن فرود بیائیم. بعد از عمومی شدن مصرف کامپیوترهای کوانتومی در جهان ما شاهد موضوعاتی خواهیم بود که تا بحال در دنیای متعارف ما دیده نشده است.”

این همکاری قرار است در نهایت به خروج کامپیوترهای کوانتومی از آزمایشگاه و ورود آنها به عرصه مصارف روزانه منجر شود.

 

منبع خبر

محمد مهدی خلعت بری بدون دیدگاه

بررسی سیستم عامل ها در Business Level های مختلف

سلام!

سلام سلامتی میاره دیگه. منم خواستم اول مطلبم بهتون سلام کنم. این عکس پت و مت هم که میبینید هیچ ربطی به مطلبمون نداره و فقط من ازش خوشم میاد و اینو هم بگم که بیشتر مخاطب های من تو این مطلب بچه هایی هستن که کامپیوتر خوندن، اونم از هر نوعیش!

ماها وقتی که بچه بودیم و کامپیوتر های خونگی واسه خودمون میخریدیم، حتما یه سیستم عامل ویندوز روش نصب میکردن. حالا بستگی به سنمون، اولین ویندوزی که ازش استفاده میکردیم، فرق میکرد. ویندوز ۹۴، ۹۸، XP و … .

بیشتر بدانید

محمد مهدی خلعت بری بدون دیدگاه

بررسی جامع سیستم عامل ها – قسمت سوم

Mid-range Business :

میتوان گفت این دسته از شرکت ها درصد بالای شرکت های ایران و جهان رو دربردارند. ما در بررسی خودمون این شرکت ها رو به دو بخش تقسیم میکنیم :

  • شرکت های غیر حوزه IT
  • شرکت های حوزه IT

Youtube /Telegram / Torrent / Aparat

محمد مهدی خلعت بری بدون دیدگاه

بررسی جامع سیستم عامل ها – قسمت دوم

Small Business :

این دسته از شرکت هایی که در بازار کار شروع به فعالیت میکنن هم خیلی تعداد زیادی دارن و هم خیلی مهم هستن. من این شرکت هارو به ۴ دسته تقسیم میکنم:

  • شرکت های کوچک و واقعا تازه کار در حوزه غیر IT
  • شرکت های کوچک با پشتوانه قبلی در حوزه غیر IT
  • شرکت های کوچک و واقعا تازه کار در حوزه IT
  • شرکت های کوچک با پشتوانه قبلی در حوزه IT

 

Youtube /Telegram / Torrent / Aparat