OpenVZ (Open Virtuozzo) adalah teknologi virtualisasi tingkat sistem operasi untuk Linux. Hal ini memungkinkan server fisik untuk menjalankan beberapa instance sistem operasi yang terisolasi, yang disebut wadah, server pribadi virtual (VPS), atau lingkungan virtual (VE).

**OpenVZ dibandingkan dengan teknologi virtualisasi lainnya**
Sementara teknologi virtualisasi seperti Vmwaredan Xen menyediakan virtualisasi penuh dan dapat menjalankan beberapa sistem operasi dan versi kernel yang berbeda, OpenVZ menggunakan kernel Linux tunggal dan karenanya hanya dapat menjalankan Linux. Semua wadah OpenVZ berbagi arsitektur dan versi kernel yang sama. Ini bisa menjadi kerugian dalam situasi di mana para tamu memerlukan versi kernel yang berbeda dari host. Namun, karena tidak memiliki overhead hypervisor sejati, ini sangat cepat dan efisien.

Alokasi memori dengan OpenVZ lunak karena memori yang tidak digunakan dalam satu lingkungan virtual dapat digunakan oleh orang lain atau untuk caching disk. Sementara versi lama OpenVZ menggunakan sistem file umum (di mana setiap lingkungan virtual hanya direktori file yang diisolasi, versi OpenVZ saat ini memungkinkan setiap wadah memiliki sistem file sendiri.
Kernel OpenVZ adalah kernel Linux, dimodifikasi untuk menambah dukungan untuk wadah OpenVZ. Kernel yang dimodifikasi menyediakan virtualisasi, isolasi, manajemen sumber daya, dan pos pemeriksaan. Pada vzctl 4.0, OpenVZ dapat bekerja dengan kernel Linux 3.x yang belum ditambal, dengan set fitur yang diperkecil.

Alokasi memori dengan OpenVZ lunak karena memori yang tidak digunakan dalam satu lingkungan virtual dapat digunakan oleh orang lain atau untuk caching disk. Sementara versi lama OpenVZ menggunakan sistem file umum (di mana setiap lingkungan virtual hanya direktori file yang diisolasi), versi OpenVZ saat ini memungkinkan setiap wadah memiliki sistem file sendiri.
Kernel OpenVZ adalah kernel Linux, dimodifikasi untuk menambah dukungan untuk wadah OpenVZ.
Kernel yang dimodifikasi menyediakan virtualisasi, isolasi, manajemen sumber daya, dan pos pemeriksaan. Pada vzctl 4.0, OpenVZ dapat bekerja dengan kernel Linux 3.x yang belum ditambal, dengan set fitur yang diperkecil.

Virtualisasi dan Isolasi
------------------------

Setiap kontainer adalah entitas yang terpisah, dan sebagian besar seperti server fisik. Masing-masing memiliki:

Pengguna dan grupSetiap kontainer memiliki pengguna root sendiri, serta pengguna dan grup lain.
FilePustaka sistem, aplikasi, virtualisasi proc dan sys, kunci tervirtualisasi, dll.
JaringanPerangkat jaringan virtual, yang memungkinkan sebuah wadah memiliki alamat IP sendiri, dan aturan perutean.
PerangkatJika perlu, wadah apa pun dapat diberikan akses ke perangkat nyata seperti antarmuka jaringan, port serial, partisi disk, dll.
Objek IPCMemori bersama, semafor, pesan.

Manajemen Sumber Daya
---------------------

Manajemen sumber daya OpenVZ terdiri dari empat komponen: kuota disk dua tingkat, penjadwal CPU yang adil, penjadwal I / O disk, dan penghitung kacang pengguna (lihat di bawah). Sumber daya ini dapat diubah selama waktu menjalankan wadah, menghilangkan kebutuhan untuk reboot.

### Kuota disk dua tingkat

Setiap kontainer dapat memiliki kuota disk sendiri, diukur dalam hal blok disk dan inode (kira-kira jumlah file). Di dalam wadah, dimungkinkan untuk menggunakan alat standar untuk menetapkan kuota disk per-pengguna dan per-grup UNIX.

### Penjadwal CPU

Penjadwal CPU dalam OpenVZ adalah implementasi dua tingkat dari strategi penjadwalan pembagian yang adil.

Pada tingkat pertama, penjadwal memutuskan wadah mana yang akan memberikan waktu CPU, berdasarkan nilai **cpuunits** per-wadah. Pada tingkat kedua, penjadwal Linux standar memutuskan proses mana yang harus dijalankan dalam wadah itu, menggunakan prioritas proses Linux standar.

Dimungkinkan untuk menetapkan nilai yang berbeda untuk CPU di setiap wadah. Waktu CPU nyata akan didistribusikan secara proporsional ke nilai-nilai ini.

Selain yang di atas, OpenVZ  menyediakan cara untuk:

* atur batas CPU yang ketat, seperti 10% dari total waktu CPU (--cpulimit);
* membatasi jumlah inti CPU yang tersedia untuk wadah (`--cpus`);
* ikat wadah ke set CPU tertentu (--cpumask).

### Penjadwal I/O

Mirip dengan penjadwal CPU yang dijelaskan di atas, penjadwal I / O di OpenVZ juga dua tingkat, dengan menggunakan penjadwal I/O CFQ Jens Axboe di tingkat kedua. Setiap kontainer diberi prioritas I / O, dan scheduler mendistribusikan bandwidth I / O yang tersedia sesuai dengan prioritas yang ditetapkan. Dengan demikian tidak ada satu wadah pun yang dapat memenuhi saluran I / O.

### Pengguna Beancounters

adalah seperangkat penghitung, batas, dan jaminan per-kontainer, yang dimaksudkan untuk mencegah satu kontainer memonopoli sumber daya sistem. Dalam kernel OpenVZ saat ini (RHEL6-based 042stab\*) ada dua parameter utama (**ram** dan **swap**, alias **halaman fisik** dan **swappages**), dan lainnya opsional 

Sumber daya lain kebanyakan adalah memori dan berbagai objek dalam-kernel seperti komunikasi antar-proses segmen memori bersama dan buffer jaringan. Setiap sumber daya dapat dilihat dari `/proc/user_beancounters` dan memiliki lima nilai yang terkait dengannya: penggunaan saat ini, penggunaan maksimum (untuk masa pakai wadah), penghalang, batas, dan penghitung gagal. Arti penghalang dan batas bergantung pada parameter; singkatnya, hal itu dapat dianggap sebagai batas lunak dan batas keras. Jika ada sumber daya yang mencapai batas, penghitung gagal untuk itu meningkat. Ini memungkinkan pemilik untuk mendeteksi masalah dengan memonitor/proc/user\_beancounters dalam wadah.

Pos pemeriksaan dan migrasi langsung
------------------------------------

Fitur migrasi langsung dan pos pemeriksaan dirilis untuk OpenVZ pada pertengahan April 2006. Ini memungkinkan untuk memindahkan wadah dari satu server fisik ke yang lain tanpa mematikan wadah. Proses ini dikenal sebagai checkpointing: wadah dibekukan dan seluruh kondisinya disimpan ke file pada disk. File ini kemudian dapat ditransfer ke komputer lain dan sebuah wadah dapat dibekukan (dipulihkan) di sana; penundaan kira-kira beberapa detik. Karena keadaan biasanya dipertahankan sepenuhnya, jeda ini mungkin tampak sebagai penundaan komputasi biasa.

Keterbatasan
------------

Secara default, OpenVZ membatasi akses kontainer ke perangkat fisik nyata (sehingga membuat perangkat keras independen). Administrator OpenVZ dapat mengaktifkan akses kontainer ke berbagai perangkat nyata, seperti drive disk, port USB, perangkat PCI  atau kartu jaringan fisik 

Antarmuka pengguna grafis yang disebut EasyVZ telah dicoba pada tahun 2007, tetapi itu tidak berkembang melampaui versi 0,1. Hingga versi 3.4, Proxmox VE dapat digunakan sebagai lingkungan virtualisasi server berbasis OpenVZ dengan GUI, meskipun versi yang lebih baru beralih ke LXC.

Referensi
---------

1. ↑  "Salinan arsip". Diarsipkan dari versi asli tanggal 2021-12-19. Diakses tanggal 2019-07-06.
2. 1 2
3. 1 2  Kolyshkin, Kir (6 October 2012). "OpenVZ turns 7, gifts are available!". *OpenVZ Blog*. Diakses tanggal 2013-01-17.
4. ↑  vzctl(8) man page, CPU fair scheduler parameters section,  Diarsipkan 2017-04-14 di Wayback Machine.
5. ↑  "Salinan arsip". Diarsipkan dari versi asli tanggal 2017-09-06. Diakses tanggal 2019-07-06.
6. ↑  vzctl(8) man page, Device access management subsection,
7. ↑  vzctl(8) man page, PCI device management section,
8. ↑  vzctl(8) man page, Network devices section,
9. ↑  EasyVZ: Grafische Verwaltung für OpenVZ. Frontend für freie Linux-Virtualisierung

Pranala luar
------------

* Situs web resmi Sunting ini di Wikidata

 

| * l
* b
* s
Perangkat lunak virtualisasi |
| --- |
| Virtualisasilevel SO | 

|  |  |
| --- | --- |
| Wadah OS | 
* FreeBSD jail
* iCore Virtual Accounts
* Linux-VServer
* LXC
* OpenVZ
* Solaris Containers
* Virtuozzo
* Workload Partitions

 |
| Wadah aplikasi | 
* Docker
* lmctfy
* rkt

 |
| Arsitektur kernel virtual | 
* User-mode Linux
* vkernel

 |
| Fitur kernel terkait | 
* cgroups
* chroot
* namespaces
* seccomp

 |
| Orkestrasi | 
* Amazon ECS
* Kubernetes
* OpenShift

 |

 |
| Virtualisasidesktop | 
* Citrix XenApp
* Citrix XenDesktop
* Remote Desktop Services
* VMware Horizon View
* Ulteo Open Virtual Desktop

 |
| Virtualisasiaplikasi | 
* Ceedo
* Citrix XenApp
* Dalvik
* InstallFree
* Microsoft App-V
* Remote Desktop Services
* Symantec Workspace Virtualization
* Turbo
* VMware ThinApp
* ZeroVM

 |
| Virtualisasijaringan | 
* Distributed Overlay Virtual Ethernet (DOVE)
* NVGRE
* Open vSwitch
* Virtual security switch
* Virtual Extensible LAN (VXLAN)

 |

Templat:Linux kernel