GNU/Linux >> Belajar Linux >  >> Linux

Apa itu Mesin Virtual, dan Mengapa Menggunakannya?

Di masa depan, kami akan dapat menggunakan sistem realitas virtual yang dibuat dengan sempurna untuk hampir tidak dapat dibedakan dari kenyataan. Lingkungan yang tidak ada, tetapi Anda dapat melihat dan merasakannya. Meskipun kami belum cukup sampai di sana untuk diri kami sendiri, kami ada di sana dalam kasus komputer kami. Teknologi virtualisasi menciptakan kemungkinan ini untuk komputer kita. Ini memiliki berbagai aplikasi dan prinsip kerja, dan kami akan mencoba menjelaskannya kepada Anda lebih detail.

Mesin Virtual &Kebutuhannya

Pengantar

Menjalankan keseluruhan sistem operasi secara tradisional membutuhkan satu set perangkat keras penting, semuanya tersedia untuk sistem operasi. Untuk menjalankan beberapa OS, yang juga bisa dilakukan adalah beberapa boot, tetapi dalam hal ini, Anda tidak dapat menjalankan dua sistem operasi secara bersamaan. Mesin Virtual telah memberi kami kemungkinan untuk menggunakan lebih dari satu sistem operasi secara bersamaan pada perangkat keras yang sama .

Dalam kasus mesin virtual, ada beberapa poin jelas yang bisa kita buat. Sama seperti kami memulai artikel ini, ini adalah semacam VR untuk sistem operasi. VM yang kami buat menggunakan perangkat keras "virtual". Perangkat keras yang digunakan OS yang dihosting sama nyatanya dengan yang lain dalam hal pemahaman tentang OS itu sendiri, tetapi OS hanya dibuat untuk melihatnya seperti itu. RAM, penyimpanan, dan daya prosesor yang digunakan oleh OS hanya memanfaatkan sebagian kecil dari perangkat keras yang sebenarnya. Semua virtualisasi dan manajemen ini dilakukan oleh sesuatu yang disebut hypervisor.

Hypervisor

Hypervisor adalah firmware, perangkat lunak, atau perangkat keras yang merupakan komponen utama dari VM. Mari kita perjelas sedikit terminologi di sini:sistem tempat VM diinstal disebut sistem host, dan mesin yang diinstal pada VM disebut sistem tamu . Hypervisor adalah lapisan yang mengelola semua sumber daya antara VM dan perangkat keras sistem yang sebenarnya (atau OS yang menghosting hypervisor). Meskipun OS dijalankan pada perangkat keras virtual, tugas hypervisor adalah membuatnya seolah-olah OS memiliki akses ke perangkat keras yang sebenarnya.

Hypervisor memberikan batas stabil yang tidak dapat ditembus antara berbagai OS yang dijalankan sebagai VM. Hypervisor mensimulasikan komponen perangkat keras untuk VM, yang dikonfigurasi oleh pengguna. Perangkat keras yang digunakan VM (melalui hypervisor) adalah sebagian kecil dari perangkat keras sistem yang sebenarnya. Dengan demikian, seseorang tidak dapat melebihi batas perangkat keras yang sebenarnya. Misalnya, jika Anda memiliki RAM 16 GB, Anda dapat membaginya menjadi 8 GB di antara dua VM.

Poin kritisnya adalah teknologi yang memungkinkan VM:hypervisors; tidak memerlukan perangkat keras khusus. Ini hanyalah komponen perangkat lunak yang penting. Ada dua jenis hypervisor yang signifikan:

Tipe 2:Hypervisor yang Di-host

Saya sadar bahwa saya mendemonstrasikan tipe 2 sebelum 1, tetapi ada urutannya. Hypervisor yang dihosting tetap berada di level aplikasi. Ini mungkin tidak asing bagi Anda jika Anda pernah menggunakan Oracle VM VirtualBox, VMWare, atau GNOME Box.

Ini adalah aplikasi yang memungkinkan Anda untuk menginstal OS sebagai mesin virtual di dalam OS Anda (OS tempat aplikasi itu sendiri diinstal). Ini sangat mudah diatur dan digunakan. Yang harus Anda lakukan adalah menginstal aplikasi yang memungkinkan Anda membuat VM, dan mendapatkan gambar OS yang diperlukan. Anda dapat langsung menentukan berapa banyak RAM, ruang hard drive, dll. yang ingin Anda izinkan untuk digunakan oleh VM.

Ada hal positif yang signifikan untuk menggunakan hypervisor yang dihosting, terutama untuk pengguna biasa seperti kami. Namun, ada masalah. Struktur sistem komputer yang biasa mengikuti urutan ini:

  • Perangkat keras fisik
  • Firmware
  • Pengemudi
  • Sistem Operasi
  • Aplikasi

Masuk ke sedikit teknis, perangkat lunak yang kami gunakan pada sistem komputer memiliki "hak istimewa" yang berbeda. Misalnya, jika Anda mengizinkan akses perangkat lunak apa pun untuk mengonfigurasi kinerja prosesor Anda, itu dapat melanjutkan dan mengacaukan seluruh sistem Anda dengan mudah. Ini adalah praktik keamanan yang buruk. Pada kenyataannya, yang terjadi adalah kernel OS berinteraksi dengan perangkat keras. Jika ada aplikasi yang memerlukan akses ke komponen perangkat keras apa pun, aplikasi tersebut dapat mengirim permintaan ke kernel, dan kernel akan memberikan respons yang sesuai. Permintaan ini disebut panggilan sistem atau panggilan sistem .

Sekarang kita mengambil kasus VM pada hypervisor yang dihosting. Misalnya, Anda menjalankan aplikasi di OS tamu. Ini akan mengirim syscall ke kernel OS tamu. Ini, pada gilirannya, akan ditafsirkan dan dikonversi ke syscall lain oleh hypervisor, yang sekarang akan mengirim syscall itu ke kernel OS host (karena ingat, hypervisor yang dihosting hanyalah aplikasi lain untuk OS host). Kernel OS host akan mengirimkan respons ke hypervisor, yang sekarang perlu diubah menjadi respons yang sesuai untuk aplikasi di OS tamu. Fiuh.

Semua ini berarti bahwa hypervisor yang dihosting harus melalui proses yang cukup panjang. Pada sebagian besar perangkat keras modern, ini tidak memakan waktu lama tetapi tidak seperti kecepatan dan kinerja asli. Solusi untuk ini adalah hypervisor tipe 1.

Tipe 1:Hypervisor Logam Bare

Langsung ke intinya, hypervisor bare metal berada di atas lapisan firmware/driver. Ini berarti bahwa ia dapat berinteraksi dengan perangkat keras secara langsung, seperti halnya sebuah OS. Semua OS yang diperlukan akan diinstal di atas hypervisor bare metal, dan aplikasi di atasnya. Ini menambahkan beberapa keuntungan. Semua OS yang diinstal pada hypervisor berjalan dengan sangat baik, hampir seperti OS asli, dengan lag atau lag yang minimal. Jika perangkat keras tempat hypervisor diinstal kuat (seperti biasanya pada komputer atau server game), perangkat tersebut akan dapat mengelola beberapa OS dengan cukup mudah.

Beberapa contoh umum hypervisor bare metal termasuk VMWare ESXi, Microsoft Hyper-V, Citrix XenServer, Xen, Linux KVM, dll.

Wadah

Kontainer agak mirip dengan VM, tetapi ada sedikit perbedaan. Seperti yang telah kita lihat dalam kasus hypervisor yang dihosting, VM digunakan untuk menginstal seluruh OS, dan kemudian aplikasi diinstal dan digunakan di atas OS tersebut. Sebuah wadah, di sisi lain, mengemas kode aplikasi, dependensinya, alat, pustaka, runtime, dan semua hal lain yang diperlukan dan hanya menjalankan aplikasi itu di lingkungan virtual.

Gambar akan membuat hierarki lebih jelas. Perhatikan bahwa wadah dipasang di atas OS, dan kemudian aplikasi dijalankan langsung di dalam wadah. Tidak ada OS di dalam container, seperti halnya dengan VM.

Menggunakan

Jadi, kami telah mempelajari detail prinsip kerja VM. Saatnya untuk mengetahui bagaimana hal itu dapat berguna dalam skenario kehidupan nyata.

Beberapa Stasiun Kerja dari Sistem Tunggal

Poin pertama dan nilai jual utama VM adalah kenyataan bahwa Anda dapat menggunakan beberapa sistem operasi, terpisah satu sama lain, pada saat yang sama, dari mesin yang sama. Ini membuka kemungkinan yang luar biasa. Misalnya, jika Anda membutuhkan dua workstation di tempat yang sama, Anda dapat membeli satu sistem kuat yang mampu menjalankan dua sistem terpisah pada saat yang bersamaan. Ini akan terbukti sangat efisien.

Ini memiliki penggunaan yang luas juga. Jika Anda memerlukan aplikasi yang berjalan di OS apa pun yang tidak Anda gunakan, Anda tidak perlu menginstal sistem operasi di komputer Anda. Anda dapat menginstal perangkat lunak hypervisor yang dihosting di OS Anda dan menginstal OS yang didukung. Jauh lebih mudah untuk menangani dan menyelesaikan pekerjaan.

Utilisasi Maksimum

Pemanfaatan sumber daya secara maksimal adalah alasan mengapa virtualisasi sangat populer untuk server. Server adalah komputer yang sangat, sangat kuat. Sulit bagi satu OS untuk benar-benar memanfaatkan sumber daya perangkat keras sepenuhnya. Larutan? Instal hypervisor bare-metal dan jalankan beberapa sistem operasi yang bersama-sama menggunakan perangkat keras secara keseluruhan.

Dengan demikian, VM memanfaatkan pemanfaatan sumber daya secara maksimal. Tapi bukan hanya server yang kita bicarakan. Misalnya, jika Anda memiliki komputer game yang kuat, Anda dapat menggunakan perangkat kerasnya sepenuhnya dengan mengatakan, menggunakan satu OS sebagai workstation utama dan satu sebagai NAS. Atau mungkin jumlah OS dan tugas yang lebih signifikan.

Efisiensi Daya

Karena Anda sekarang dapat menjalankan dua sistem menggunakan satu mesin, bukan dua mesin terpisah untuk dua sistem yang berbeda, Anda menghemat banyak listrik dan daya. Ini bagus untuk tagihan listrik Anda; itu juga tidak diragukan lagi baik untuk lingkungan.

Ruang Fisik/ Mobilitas

Anda dapat menggunakan satu mesin untuk beberapa sistem alih-alih berbagai perangkat, jadi Anda sekarang secara alami menghemat banyak ruang fisik. Ini berarti bahwa jika Anda mendapatkan satu mesin yang sangat kuat, Anda dapat memenuhi persyaratan beberapa mesin, jadi jika Anda harus memindahkan infrastruktur Anda dari satu tempat ke tempat lain, Anda sekarang harus memindahkan perangkat keras fisik yang lebih sedikit daripada yang biasanya harus Anda pindahkan. .

Pemulihan

Ini adalah fitur yang berguna. VM memiliki properti untuk mengambil 'snapshot'. Karena seluruh sistem adalah virtual, VM membuat salinan properti, pengaturan, dan datanya pada interval waktu tertentu. Jadi, jika sistem Anda menjadi kacau atau rusak pada suatu saat, Anda dapat kembali ke salah satu status stabil, dan tidak akan ada banyak kerusakan yang terjadi.

Area Pengujian

VM (sebenarnya, juga wadah) sering digunakan sebagai tempat pengujian. Masalah apa pun yang mungkin Anda buat dalam pengaturan virtual tidak dapat membahayakan perangkat keras yang sebenarnya, sehingga menjadikannya tempat yang ideal untuk pengujian perangkat lunak baru (terutama firmware). Pengembang sering menggunakan VM untuk memeriksa kompatibilitas dengan OS yang berbeda juga.

Kesimpulan

Mesin virtual telah memberi kami banyak peningkatan dibandingkan metode lama kami. Kami sekarang dapat menjalankan sistem di ruang yang lebih kecil, lebih efisien, dan lebih aman. Mereka telah menjadi solusi mudah untuk menggunakan perangkat lunak yang tidak didukung secara asli oleh OS Anda. VM telah menjadi surga untuk tujuan pengujian—secara keseluruhan, bagus untuk tujuan pribadi, profesional, dan lingkungan.

Kami harap Anda menemukan artikel itu informatif dan bermanfaat.


Linux
  1. Apa itu Perintah Chown di Linux dan Cara Menggunakannya

  2. Apa itu Perintah cURL Dan Bagaimana Cara Menggunakannya?

  3. Cara:Apa itu Git dan Github? Bagaimana cara menggunakannya dan mengapa saya harus peduli?

  1. Chroot “jail” – Apa Itu Dan Bagaimana Cara Menggunakannya?

  2. Kapan dan Mengapa Menggunakan Docker

  3. Apa yang mematikan proses saya dan mengapa?

  1. Linux – Mengapa Kami Menggunakan Su – Dan Bukan Hanya Su?

  2. Kapan Dan Mengapa Saya Harus Menggunakan Pembaruan Apt-get?

  3. Mengapa eval harus dihindari di Bash, dan apa yang harus saya gunakan?