OpenVZ 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