ماشین مجازی چیست ؟
متن ترجمه شده به زبان فارسی:
ماشین مجازی چیست؟
ماشین مجازی (VM) یک منبع محاسباتی است که به جای رایانه فیزیکی از نرم افزار برای اجرای برنامه ها و استقرار برنامه ها استفاده می کند. یک یا چند ماشین مجازی "مهمان" روی یک ماشین "میزبان" فیزیکی اجرا می شود. هر ماشین مجازی سیستم عامل خود را اجرا می کند و به طور جداگانه از ماشین های مجازی دیگر عمل می کند، حتی زمانی که همه آنها بر روی یک میزبان اجرا می شوند. این بدان معنی است که، برای مثال، یک ماشین مجازی MacOS می تواند بر روی یک کامپیوتر فیزیکی اجرا شود.
فناوری ماشین مجازی برای بسیاری از موارد استفاده در محیطهای داخلی و ابری استفاده میشود. اخیراً، سرویسهای ابری عمومی از ماشینهای مجازی برای ارائه منابع برنامه مجازی به چندین کاربر به طور همزمان استفاده میکنند تا محاسباتی کارآمدتر و انعطافپذیرتر داشته باشند.
ماشین های مجازی چه کاربردی دارند؟
ماشینهای مجازی (VM) به یک کسبوکار اجازه میدهند سیستم عاملی را اجرا کنند که مانند یک رایانه کاملاً مجزا در یک پنجره برنامه روی دسکتاپ رفتار میکند. ماشینهای مجازی ممکن است برای پاسخگویی به سطوح مختلف نیازهای قدرت پردازشی، اجرای نرمافزارهایی که به سیستمعامل متفاوتی نیاز دارند یا برای آزمایش برنامهها در یک محیط امن و جعبهشنودی استفاده شوند.
ماشینهای مجازی از گذشته برای مجازیسازی سرور استفاده میشدهاند، که تیمهای فناوری اطلاعات را قادر میسازد تا منابع محاسباتی خود را یکپارچه کرده و کارایی را بهبود بخشند. علاوه بر این، ماشینهای مجازی میتوانند وظایف خاصی را انجام دهند که انجام آنها در محیط میزبان بسیار خطرناک است، مانند دسترسی به دادههای آلوده به ویروس یا آزمایش سیستمهای عامل. از آنجایی که ماشین مجازی از بقیه سیستم جدا شده است، نرم افزار داخل ماشین مجازی نمی تواند کامپیوتر میزبان را دستکاری کند.
ماشین های مجازی چگونه کار می کنند؟
ماشین مجازی به عنوان یک فرآیند در یک پنجره برنامه اجرا می شود، مشابه هر برنامه دیگری، در سیستم عامل ماشین فیزیکی. فایلهای کلیدی که یک ماشین مجازی را تشکیل میدهند شامل فایل لاگ، فایل تنظیمات NVRAM، فایل دیسک مجازی و فایل پیکربندی هستند.
مزایای ماشین های مجازی
مدیریت و نگهداری ماشینهای مجازی آسان است و مزایای زیادی نسبت به ماشینهای فیزیکی دارند:
ماشین های مجازی می توانند چندین محیط سیستم عامل را بر روی یک کامپیوتر فیزیکی اجرا کنند که باعث صرفه جویی در فضای فیزیکی، زمان و هزینه های مدیریت می شود.
ماشینهای مجازی از برنامههای قدیمی پشتیبانی میکنند و هزینه مهاجرت به یک سیستم عامل جدید را کاهش میدهند. به عنوان مثال، ماشین مجازی aLinux که توزیعی از لینوکس ها را به عنوان سیستم عامل مهمان اجرا می کند، می تواند روی ahostserver که یک سیستم غیر عامل لینوکس مانند ویندوز را اجرا می کند وجود داشته باشد. ماشینهای مجازی همچنین میتوانند گزینههای یکپارچه بازیابی بلایای طبیعی و تهیه برنامه را ارائه دهند.
معایب ماشین های مجازی
در حالی که ماشینهای مجازی مزایای متعددی نسبت به ماشینهای فیزیکی دارند، معایب بالقوهای نیز وجود دارد:
اجرای چندین ماشین مجازی روی یک ماشین فیزیکی میتواند منجر به عملکرد ناپایدار در صورت برآورده نشدن نیازهای زیرساختی شود.
ماشین های مجازی کارایی کمتری دارند و کندتر از یک کامپیوتر فیزیکی کامل کار می کنند. اکثر شرکت ها از ترکیبی از زیرساخت های فیزیکی و مجازی برای ایجاد تعادل بین مزایا و معایب مربوطه استفاده می کنند.
دو نوع ماشین مجازی
کاربران می توانند از بین دو نوع مختلف ماشین مجازی – ماشین های مجازی پردازشی و ماشین های مجازی سیستمی را انتخاب کنند:
ماشین مجازی فرآیندی اجازه می دهد تا یک فرآیند واحد به عنوان یک برنامه کاربردی بر روی یک ماشین میزبان اجرا شود و با پوشاندن اطلاعات سخت افزار یا سیستم عامل، یک محیط برنامه نویسی مستقل از پلت فرم را فراهم می کند. نمونه ای از ماشین مجازی پردازشی، ماشین مجازی جاوا است که به هر سیستم عاملی امکان می دهد برنامه های جاوا را به گونه ای اجرا کند که گویی بومی آن سیستم هستند.
یک ماشین مجازی سیستم به طور کامل مجازی سازی شده است تا جایگزین ماشین فیزیکی شود. یک پلتفرم سیستمی از اشتراک منابع فیزیکی کامپیوتر میزبان بین چندین ماشین مجازی پشتیبانی میکند که هر کدام نسخهای از سیستم عامل خود را اجرا میکنند. این فرآیند مجازی سازی متکی به یک Hypervisor است که می تواند بر روی سخت افزارهای خالی مانند VMware ESXi یا بالای یک سیستم عامل اجرا شود.
5 نوع مجازی سازی چیست؟
تمام اجزای یک مرکز داده سنتی یا زیرساخت فناوری اطلاعات را می توان امروزه با انواع مختلف مجازی سازی مجازی سازی کرد:
مجازیسازی سختافزار: هنگام مجازیسازی سختافزار، نسخههای مجازی رایانهها و سیستمهای عامل (VM) ایجاد میشوند و در یک سرور فیزیکی اصلی، واحد ایجاد میشوند. یک هایپروایزر مستقیماً با فضای دیسک و CPU یک سرور فیزیکی برای مدیریت ماشین های مجازی ارتباط برقرار می کند. مجازیسازی سختافزار، که به عنوان مجازیسازی سرور نیز شناخته میشود، اجازه میدهد تا از منابع سختافزاری بهطور کارآمدتر استفاده شود و یک ماشین به طور همزمان سیستمعاملهای مختلف را اجرا کند.
مجازی سازی نرم افزار: مجازی سازی نرم افزار یک سیستم کامپیوتری کامل با سخت افزار ایجاد می کند که به یک یا چند سیستم عامل مهمان اجازه می دهد روی یک ماشین میزبان فیزیکی اجرا شوند. به عنوان مثال، سیستم عامل اندروید می تواند بر روی یک دستگاه میزبان که به طور بومی از سیستم عامل ویندوز مایکروسافت استفاده می کند، اجرا شود و از سخت افزاری مشابه دستگاه میزبان استفاده می کند. علاوه بر این، برنامهها را میتوان مجازی کرد و از یک سرور به دستگاه کاربر نهایی، مانند لپتاپ یا گوشی هوشمند، تحویل داد. این به کارمندان اجازه می دهد تا هنگام کار از راه دور به برنامه های میزبانی مرکزی دسترسی داشته باشند.
مجازیسازی فضای ذخیرهسازی: فضای ذخیرهسازی را میتوان با ادغام چند دستگاه ذخیرهسازی فیزیکی به صورت یک دستگاه ذخیرهسازی واحد مجازیسازی کرد. از مزایای آن می توان به افزایش عملکرد و سرعت، تعادل بار و کاهش هزینه ها اشاره کرد. مجازیسازی فضای ذخیرهسازی همچنین به برنامهریزی بازیابی فاجعه کمک میکند، زیرا دادههای ذخیرهسازی مجازی را میتوان کپی کرد و به سرعت به مکان دیگری منتقل کرد و زمان خرابی را کاهش داد.
مجازی سازی شبکه: چندین شبکه فرعی را می توان در یک شبکه فیزیکی با ترکیب تجهیزات در یک منبع شبکه مجازی مبتنی بر نرم افزار ایجاد کرد. مجازی سازی شبکه همچنین پهنای باند موجود را به چندین کانال مستقل تقسیم می کند که هر کدام می توانند به سرورها و دستگاه ها در زمان واقعی اختصاص داده شوند. از مزایای آن می توان به افزایش قابلیت اطمینان، سرعت شبکه، امنیت و نظارت بهتر بر استفاده از داده ها اشاره کرد. مجازی سازی شبکه می تواند انتخاب خوبی برای شرکت هایی با حجم بالای کاربر باشد که همیشه نیاز به دسترسی دارند.
مجازی سازی دسکتاپ: این نوع رایج مجازی سازی، محیط دسکتاپ را از دستگاه فیزیکی جدا می کند و یک دسکتاپ را روی یک سرور راه دور ذخیره می کند و به کاربران اجازه می دهد از هر کجا و در هر دستگاهی به دسکتاپ خود دسترسی داشته باشند. علاوه بر دسترسی آسان، مزایای دسکتاپ مجازی شامل امنیت بهتر داده ها، صرفه جویی در هزینه مجوزها و به روز رسانی نرم افزار و مدیریت آسان است.
کانتینر در مقابل ماشین مجازی
مانند ماشینهای مجازی، فناوری کانتینری مانند Kubernetes از نظر اجرای برنامههای مجزا روی یک پلتفرم مشابه است. در حالی که ماشینهای مجازی لایه سختافزار را مجازی میکنند تا یک «رایانه» ایجاد کنند، کانتینرها تنها یک برنامه را به همراه وابستگیهای آن بستهبندی میکنند. ماشینهای مجازی اغلب توسط یک هایپروایزر مدیریت میشوند، در حالی که سیستمهای کانتینری خدمات مشترک سیستم عامل را از میزبان اصلی ارائه میکنند و برنامهها را با استفاده از سختافزار حافظه مجازی جدا میکنند.
یکی از مزایای کلیدی کانتینرها این است که سربار کمتری نسبت به ماشین های مجازی دارند. کانتینرها فقط شامل باینری ها، کتابخانه ها و سایر وابستگی های مورد نیاز و برنامه هستند. کانتینرهایی که روی یک میزبان قرار دارند هسته سیستم عامل یکسانی دارند و کانتینرها را بسیار کوچکتر از ماشین های مجازی می کند. در نتیجه، کانتینرها سریعتر بوت میشوند، منابع سرور را به حداکثر میرسانند و تحویل برنامهها را آسانتر میکنند. کانتینرها برای موارد استفاده مانند برنامه های کاربردی وب، آزمایش DevOps، میکروسرویس ها و به حداکثر رساندن تعداد برنامه های قابل استقرار در هر سرور محبوب شده اند.
ماشین های مجازی بزرگتر و کندتر از کانتینرها راه اندازی می شوند. آنها به طور منطقی با هسته سیستم عامل خود از یکدیگر جدا هستند و مزایای یک سیستم عامل کاملاً مجزا را ارائه می دهند. ماشینهای مجازی برای اجرای چندین برنامه با هم، برنامههای یکپارچه، جداسازی بین برنامهها و برای برنامههای قدیمی که روی سیستمعاملهای قدیمیتر اجرا میشوند، بهترین هستند. کانتینرها و ماشین های مجازی نیز ممکن است با هم استفاده شوند.
راه اندازی ماشین مجازی
راه اندازی ماشین های مجازی می تواند ساده باشد و راهنماهای زیادی به صورت آنلاین وجود دارد که کاربران را در این فرآیند راهنمایی می کند. VMware یکی از این راهنمای راه اندازی ماشین مجازی مفید را ارائه می دهد.
متن ترجمه نشده و خارجی _ زبان انگلیسی:
What is a virtual machine?
A Virtual Machine (VM) is a compute resource that uses software instead of a physical computer to run programs and deploy apps. One or more virtual “guest” machines run on a physical “host” machine. Each virtual machine runs its own operating system and functions separately from the other VMs, even when they are all running on the same host. This means that, for example, a virtual MacOS virtual machine can run on a physical PC.
Virtual machine technology is used for many use cases across on-premises and cloud environments. More recently, public cloud services are using virtual machines to provide virtual application resources to multiple users at once, for even more cost efficient and flexible compute.
What are virtual machines used for?
Virtual machines (VMs) allow a business to run an operating system that behaves like a completely separate computer in an app window on a desktop. VMs may be deployed to accommodate different levels of processing power needs, to run software that requires a different operating system, or to test applications in a safe, sandboxed environment.
Virtual machines have historically been used for server virtualization, which enables IT teams to consolidate their computing resources and improve efficiency. Additionally, virtual machines can perform specific tasks considered too risky to carry out in a host environment, such as accessing virus-infected data or testing operating systems. Since the virtual machine is separated from the rest of the system, the software inside the virtual machine cannot tamper with the host computer.
How do virtual machines work?
The virtual machine runs as a process in an application window, similar to any other application, on the operating system of the physical machine. Key files that make up a virtual machine include a log file, NVRAM setting file, virtual disk file and configuration file.
Advantages of virtual machines
Virtual machines are easy to manage and maintain, and they offer several advantages over physical machines:
- VMs can run multiple operating system environments on a single physical computer, saving physical space, time and management costs.
- Virtual machines support legacy applications, reducing the cost of migrating to a new operating system. For example, a Linux virtual machine running a distribution of Linux as the guest operating system can exist on a host server that is running a non-Linux operating system, such as Windows.
- VMs can also provide integrated disaster recovery and application provisioning options.
Disadvantages of virtual machines
While virtual machines have several advantages over physical machines, there are also some potential disadvantages:
- Running multiple virtual machines on one physical machine can result in unstable performance if infrastructure requirements are not met.
- Virtual machines are less efficient and run slower than a full physical computer. Most enterprises use a combination of physical and virtual infrastructure to balance the corresponding advantages and disadvantages.
The two types of virtual machines
Users can choose from two different types of virtual machines—process VMs and system VMs:
A process virtual machine allows a single process to run as an application on a host machine, providing a platform-independent programming environment by masking the information of the underlying hardware or operating system. An example of a process VM is the Java Virtual Machine, which enables any operating system to run Java applications as if they were native to that system.
A system virtual machine is fully virtualized to substitute for a physical machine. A system platform supports the sharing of a host computer’s physical resources between multiple virtual machines, each running its own copy of the operating system. This virtualization process relies on a hypervisor, which can run on bare hardware, such as VMware ESXi, or on top of an operating system.
What are 5 types of virtualization?
All the components of a traditional data center or IT infrastructure can be virtualized today, with various specific types of virtualization:
- Hardware virtualization: When virtualizing hardware, virtual versions of computers and operating systems (VMs) are created and consolidated into a single, primary, physical server. A hypervisor communicates directly with a physical server’s disk space and CPU to manage the VMs. Hardware virtualization, which is also known as server virtualization, allows hardware resources to be utilized more efficiently and for one machine to simultaneously run different operating systems.
- Software virtualization: Software virtualization creates a computer system complete with hardware that allows one or more guest operating systems to run on a physical host machine. For example, Android OS can run on a host machine that is natively using a Microsoft Windows OS, utilizing the same hardware as the host machine does. Additionally, applications can be virtualized and delivered from a server to an end user’s device, such as a laptop or smartphone. This allows employees to access centrally hosted applications when working remotely.
- Storage virtualization: Storage can be virtualized by consolidating multiple physical storage devices to appear as a single storage device. Benefits include increased performance and speed, load balancing and reduced costs. Storage virtualization also helps with disaster recovery planning, as virtual storage data can be duplicated and quickly transferred to another location, reducing downtime.
- Network virtualization: Multiple sub-networks can be created on the same physical network by combining equipment into a single, software-based virtual network resource. Network virtualization also divides available bandwidth into multiple, independent channels, each of which can be assigned to servers and devices in real time. Advantages include increased reliability, network speed, security and better monitoring of data usage. Network virtualization can be a good choice for companies with a high volume of users who need access at all times.
- Desktop virtualization: This common type of virtualization separates the desktop environment from the physical device and stores a desktop on a remote server, allowing users to access their desktops from anywhere on any device. In addition to easy accessibility, benefits of virtual desktops include better data security, cost savings on software licenses and updates, and ease of management.
Container vs virtual machine
Like virtual machines, container technology such as Kubernetes is similar in the sense of running isolated applications on a single platform. While virtual machines virtualize the hardware layer to create a “computer,” containers package up just a single app along with its dependencies. Virtual machines are often managed by a hypervisor, whereas container systems provide shared operating system services from the underlying host and isolate the applications using virtual-memory hardware.
A key benefit of containers is that they have less overhead compared to virtual machines. Containers include only the binaries, libraries and other required dependencies, and the application. Containers that are on the same host share the same operating system kernel, making containers much smaller than virtual machines. As a result, containers boot faster, maximize server resources, and make delivering applications easier. Containers have become popluar for use cases such as web applications, DevOps testing, microservices and maximizing the number of apps that can be deployed per server.
Virtual machines are larger and slower to boot than containers. They are logically isolated from one another, with their own operating system kernel, and offer the benefits of a completely separate operating system. Virtual machines are best for running multiple applications together, monolithic applications, isolation between apps, and for legacy apps running on older operating systems. Containers and virtual machines may also be used together.
Setting up a virtual machine
Virtual machines can be simple to set up, and there are many guides online that walk users through the process. VMware offers one such useful virtual machine set-up guide.
![]()
خیلی ممنون که مارا تا اینجا همراهی کردید :)