OpenVZOpenVZ merupakan teknologi virtualisasi berbasis container (CT) yang digunakan sistem operasi linux. Dengan virtualisasi OpenVZ atau biasa disebut juga sebagai Virtual Environment (VE) atau Virtual Private Server (VPS) dapat membuat beberapa virtual server dalam satu fisik server secara terisolasi sehingga antara virtual server dengan virtual server lainnya seperti memiliki sumber daya server masing-masing mulai dari cpu, memory, storage, ip address serta akses root virtual servernya.

Dalam artikel ini, proses dan tahapan instalasi serta konfigurasi OpenVZ didokumentasikan dengan menggunakan spesifikasi hardware perangkat server beserta dengan sistem operasinya sebagai berikut.

Prosesor : Intel Core i7 870 @ 2.93 GHz (8 CPUs)
RAM : 2x 4GB
Storage : 1x 500GB HDD
Networking : 1x 1Gbps NIC
Sistem Operasi : CentOS 6.7 x86_64 Minimal

Terkait dengan proses instalasi centos beserta dengan tahapan persiapan partisinya tidak didokumentasikan melalui artikel ini sehingga penulis berasumsi bahwa untuk proses instalasi centos dapat diproses secara mandiri terlebih dahulu dan dipastikan sudah berjalan dengan baik. Berikut kondisi disk partition di sisi node server OpenVZ yang digunakan dan didokumentasikan melalui artikel ini.

[root@nodeserver ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2        20G 1011M   18G   6% /
tmpfs           3.8G     0  3.8G   0% /dev/shm
/dev/sda1       485M   84M  376M  19% /boot
/dev/sda6       431G  7.9G  401G   2% /vz
[root@nodeserver ~]# fdisk -l /dev/sda
Disk /dev/sda: 500.1 GB, 500107862016 bytes
224 heads, 56 sectors/track, 77867 cylinders
Units = cylinders of 12544 * 512 = 6422528 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000390a6
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          83      520548   83  Linux
/dev/sda2              84        3428    20979840   83  Linux
/dev/sda3            3429       77867   466881408    5  Extended
/dev/sda5            3429        4766     8391908   82  Linux swap / Solaris
/dev/sda6            4767       77867   458489444   83  Linux

Instalasi OpenVZ Kernel

Sebelum proses instalasi, tambahkan terlebih dahulu openvz repo server yang menyimpan openvz kernel yang siap diinstal, tambah atau importkan gpg key kemudian install menggunakan yum.

[root@nodeserver ~]# wget -P /etc/yum.repos.d/ https://ftp.openvz.org/openvz.repo
[root@nodeserver ~]# rpm --import https://ftp.openvz.org/RPM-GPG-Key-OpenVZ
[root@nodeserver ~]# yum -y install vzkernel

Setelah vzkernel terinstall, pastikan OpenVZ kernel dalam posisi urutan pertama di sisi grub agar apabila node server melakukan proses booting atau rebooting akan merujuk dan menggunakan OpenVZ kernel.

[root@nodeserver ~]# more /boot/grub/grub.conf
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/sda2
#          initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title OpenVZ (2.6.32-042stab113.17)
        root (hd0,0)
        kernel /vmlinuz-2.6.32-042stab113.17 ro root=UUID=5c01c927-8822-4fe7-a6b9-217a0b9bac89 nomodeset rd_NO_LUKS  KEYBOARDTYPE=pc KEYTABLE=us LANG=en_US.UTF-8 rd_
NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_NO_LVM rd_NO_DM rhgb quiet
        initrd /initramfs-2.6.32-042stab113.17.img
title CentOS (2.6.32-573.18.1.el6.x86_64)
        root (hd0,0)
        kernel /vmlinuz-2.6.32-573.18.1.el6.x86_64 ro root=UUID=5c01c927-8822-4fe7-a6b9-217a0b9bac89 nomodeset rd_NO_LUKS  KEYBOARDTYPE=pc KEYTABLE=us LANG=en_US.UTF
-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_NO_LVM rd_NO_DM rhgb quiet
        initrd /initramfs-2.6.32-573.18.1.el6.x86_64.img

Install OpenVZ Tools

Instalasi tambahan modul untuk penggunaan perintah operasional dasar OpenVZ.

[root@nodeserver ~]# yum -y install vzctl vzquota ploop

Konfigurasi Sysctl

Aktifasi serta deaktifasi modul parameter kernel di sisi sysctl untuk mendukung operasional dasar penggunaan OpenVZ dengan hardware di sisi node server.

[root@nodeserver ~]# vim /etc/sysctl.conf
# aktfasi paket forwarding
net.ipv4.ip_forward = 1
net.ipv6.conf.default.forwarding = 1
net.ipv6.conf.all.forwarding = 1
# deaktifasi proxy arp
net.ipv4.conf.default.proxy_arp = 0
# aktifasi source route verification
net.ipv4.conf.all.rp_filter = 1
# aktifasi the magic-sysrq key
kernel.sysrq = 1
# deaktifasi redirects paket di semua interface
net.ipv4.conf.default.send_redirects = 1
net.ipv4.conf.all.send_redirects = 0

Deaktifasi Selinux

[root@nodeserver ~]# vim /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     mls - Multi Level Security protection.
#SELINUXTYPE=targeted

Download OS Template

Beberapa OS template yang umum digunakan telah dikompress dalam bentuk tarball dan siap didownload melalui link https://download.openvz.org/template/precreated/ tersebut kemudian simpan di dalam direktori /vz/template/cache tampa perlu di extrack. Proses download dapat menggunakan perintah wget.

[root@nodeserver ~]# cd /vz/template/cache
[root@nodeserver ~]# wget -N wget -N https://download.openvz.org/template/precreated/centos-6-x86_64.tar.gz

Tahapan instalasi dan konfigurasi dasar OpenVZ kernel telah diproses. Selanjutnya lakukan pengecekan reboot server dan pastikan telah running menggunakan OpenVZ kernel berikut.

[root@nodeserver ~]# uname -a
Linux nodeserver.chrootid.com 2.6.32-042stab113.17 #1 SMP Wed Feb 10 18:31:00 MSK 2016 x86_64 x86_64 x86_64 GNU/Linux
[root@nodeserver ~]# uname -r
2.6.32-042stab113.17