منبع اصلی نوشتار زیر در این لینک قرار دارد

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

غالبا از طریق اتصال راه دور ssh به یک سرور (ماشین) لینوکسی متصل می شویم و سپس دستورها را اجرا می کنیم. شاید لازم باشد که تشخیص دهیم که آیا ماشین لینوکسی راه دور بر روی یک ماشین فیزیکی یا بر روی یک ماشین مجازی اجرا می شود.

Hypervisor های متفاوتی برای اجرای لینوکس بر روی ماشین های مجازی وجود دارند که عمده ترین آنها موارد زیر است. در یک حالت می خواهیم بدانیم آیا لینوکس بر روی ماشین فیزیکی یا بر روی ماشین مجازیاجرا می شود. و اگر به صورت مجازی اجرا می شود، کدام Hypervisor استفاده شده است.

  • Virtual Box
  • KVM
  • Xen
  • VMWare

استفاده از دستور dmidecode

از دستور dmidecode به همراه سویئچ s- و پارامتر system-product-name به صورت زیر استفاده کنید.

sudo dmidecode -s system-product-name

و یا از دستور dmidecode به تنهایی و بی هیچ سویئچی استفاده کنید و از خروجی بخش System Information را بخوانید.

sudo dmidecode | less

dmidecode_linux_physical_virtual_machine1

همچنین می توانید مطلب “پیدا کردن حداکثر ساپورت RAM بایوس یا مادربورد ماشین (سرور)” را برای کاربرد دیگر دستور dmidecode نیز مطالعه کنید.

استفاده از اسکریپت virt-what

virt-what اسکریپت است که برای تشخیص اینکه آیا سیستم عامل در حال اجرا بر روی ماشین مجازی است استفاده می شود. virt-what از انواع مختلف Hypervisor ها مانند موارد بالا پشتیبانی می کند.

virt-what

اگر virt-what بر روی سیستم شما نصب نیست می توایند از مخازن توزیع خود آنرا نصب کنید. به صور مثال برای نصب بر روی توزیع openSUSE از دستور زیر استفاده کنید. همچنین می توایند از اینجا کد منبع آنرا دانلود و سپس نصب کنید.

sudo zypper in virt-what

وقتی لینوکس بر روی ماشین مجازی اجرا می شود، تمامی اجزای سخت افزاری نیز به صورت مجازی خواهند بود. به صور مثال از فایل زیر می توانید متوجه شوید که هارد دیسک اول متصل به سیستم (dev/sda/) ار کدام مدل هارد دیسک مجازی استفاده می کند.

cat /sys/block/sda/device/model

اگر از Virtual Box استفاده شود در خروجی عبارت VBOX HARDDISK نشان داده می شود.

پیدا کردن اطلاعات سخت افزاری بر روی سیستم عامل لینوکس



برچسب ها : , , , , , , ,