OpenVZSebagai SysAdmin atau personal yang mengoperasikan Node Server OpenVZ tentu harus sudah menguasai penggunaan perintah operasional yang umum dan sering digunakan. Aritkel ini merupakan dokumentasi penggunaan perintah dasar OpenVZ. Tentunya sebelum merujuk pada dokumentasi artikel ini sudah dipastikan terlebih dahulu bahwa kondisi server sudah terinstall dan terkonfigurasi OpenVZ kernel dan sudah berjalan dengan baik. Silahkan merujuk pada proses dan tahapan Instalasi OpenVZ Kernel terlebih dahulu.

Create Container

[root@nodeserver ~]# vzctl create 101 --ostemplate centos-6-x86_64-minimal --layout simfs --hostname ctid-101.chrootid.com --name ctid-101.chrootid.com
Name ctid-101.chrootid.com assigned
Creating container private area (centos-6-x86_64-minimal)
Performing postcreate actions
CT configuration saved to /etc/vz/conf/101.conf
Container private area was created

Setup Spesifikasi Container

[root@nodeserver ~]# vzctl set 101 --save --ram 1024M --swap 2048M --ipadd 192.168.137.3 --nameserver 8.8.8.8 --onboot yes --userpasswd root:#merdeka@2016$ --cpus 2 --diskspace 50G:51G --diskinodes 1000000:1100000 --quotaugidlimit 100
Starting container...
Container is mounted
Container start in progress...
Changing password for user root.
passwd: all authentication tokens updated successfully.
Killing container ...
Container was stopped
Container is unmounted
CT configuration saved to /etc/vz/conf/101.conf

Cek Status Container

[root@nodeserver ~]# vzctl status 101
CTID 101 exist unmounted down

Start Container

[root@nodeserver ~]# vzctl start 101
Starting container...
Container is mounted
Adding IP address(es): 192.168.137.3
Setting CPU units: 1000
Setting CPUs: 2
Container start in progress...

Login Container via Node

Setelah proses create container, selanjutnya dapat dilakukan pengecekan spesifikasi container tersebut mulai dari cpu, ram, maupun disk space di sisi container tersebut dengan login/enter terlebih dahulu.

[root@nodeserver ~]# hostname
nodeserver.chrootid.com
[root@nodeserver ~]# vzctl enter 101
entered into CT 101
[root@ctid-101 /]# hostname
ctid-101.chrootid.com

Cek Disk Space Container

[root@ctid-101 /]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/simfs       50G  340M   50G   1% /
none            512M  4.0K  512M   1% /dev
none            512M     0  512M   0% /dev/shm

Cek Memory Container

[root@ctid-101 /]# free -m
             total       used       free     shared    buffers     cached
Mem:          1024         12       1011          0          0          7
-/+ buffers/cache:          4       1019
Swap:         2048          0       2048

Cek Total Core Prosesor Container

[root@ctid-101 /]# grep "model name" /proc/cpuinfo
model name      : Intel(R) Core(TM) i7 CPU         870  @ 2.93GHz
model name      : Intel(R) Core(TM) i7 CPU         870  @ 2.93GHz

Cek Hasil Konfigurasi TCP/IP Container

[root@ctid-101 /]# ifconfig
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
venet0    Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:127.0.0.1  P-t-P:127.0.0.1  Bcast:0.0.0.0  Mask:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1
          RX packets:6 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:382 (382.0 b)  TX bytes:550 (550.0 b)
venet0:0  Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:192.168.137.3  P-t-P:192.168.137.3  Bcast:192.168.137.3  Mask:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1

Dari hasil pengecekan spesifikasi containter vps tersebut dapat diketahui bahwa spesifikasinya telah sesuai dengan kondisi yang telah di create di sisi node server sebelumnya.
Terkait dengan kondisi konfigurasi TCP/IP disisi container, ip address sudah terassign dengan baik pada interface venet0:0 namun apabila mengalami kendala proses ping “Destination Host Prohibited” maka hal tersebut adalah dikarenakan protokol icmp yang telah di reject oleh rules firewall iptables secara default di sisi node server.
Berikut proses deaktifasi aturan reject protokol icmp di sisi rules firewall iptables node server. Apabila kondisi masih berada (logged on) di sisi container maka bisa keluar terlebih dahulu dengan ekseskusi perintah exit dari container.
enable icmp ping node openvz.

[root@nodeserver ~]# vim /etc/sysconfig/iptables
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
#-A INPUT -j REJECT --reject-with icmp-host-prohibited
#-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

Tambahkan karakter kres (#) atau jadikan baris komentar terhadap rules reject untuk protokol icmp di sis node server vps.

Cek Status Container Aktif

[root@nodeserver ~]# vzlist
      CTID      NPROC STATUS    IP_ADDR         HOSTNAME
       101         84 running   192.168.137.3   ctid-101.chrootid.com
       102         13 running   192.168.137.20  ctid-102.chrootid.com

Backup

Proses backup untuk setiap container dapat menggunakan perintah vzdump, namun secara default vzdump tidak terinstall dengan kernel OpenVZ dan tidak tersedia di sisi server repository OpenVZ /etc/yum.repos.d/openvz.repo dengan demikian perlu diinstallkan kembali dengan mendownlod binary paket rpm terlebih dahulu atau dengan menambahkan server repositorinya yang menyediakan aplikasi program vzdump tersebut. Dalam artikel ini akan di dokumentasikan installasi vzdump melalu server repository yang disediakan solusvm.

Tambah Daftar Repo Server Solusvm

[root@nodeserver ~]# vim /etc/yum.repos.d/solusvm.repo
[soluslabs]
name=Soluslab Repo
#baseurl=https://repo.soluslabs.com/centos/$releasever/os/$basearch
mirrorlist=https://repo.soluslabs.com/centos/mirrors-soluslabs
gpgcheck=0
enabled=1

Install vzdump

[root@nodeserver ~]# yum -y install vzdump

Backup Container

[root@nodeserver ~]#  vzdump 101
INFO: Starting new backup job - vzdump 101
INFO: Starting Backup of VM 101 (openvz)
INFO: status = CTID 101 exist mounted running
WARN: online backup without stop/suspend/snapshot
WARN: this can lead to inconsistent data
INFO: creating archive '/vz/dump/vzdump-101.dat' (/vz/private/101)
INFO: tar: ./var/log/dcpumon/toplog.1458520801: Warning: Cannot stat: No such file or directory
INFO: tar: ./var/log/dcpumon/toplog.1458521401: Warning: Cannot stat: No such file or directory
INFO: tar: ./var/log/dcpumon/toplog.1458521101: Warning: Cannot stat: No such file or directory
INFO: Total bytes written: 7083223040 (6.6GiB, 10MiB/s)
INFO: file size 6.60GB
INFO: Finished Backup of VM 101 (00:11:21)

Backup Compress Container dan Notifikasi Email

[root@nodeserver ~]# vzdump 101 --compress --mailto [email protected]
INFO: Starting new backup job - vzdump 101 --compress --mailto [email protected]
INFO: Starting Backup of VM 101 (openvz)
INFO: status = CTID 101 exist mounted running
WARN: online backup without stop/suspend/snapshot
WARN: this can lead to inconsistent data
INFO: creating archive '/vz/dump/vzdump-101.dat' (/vz/private/101)
INFO: tar: ./var/log/dcpumon/toplog.1458528001: Warning: Cannot stat: No such file or directory
INFO: Total bytes written: 7085066240 (6.6GiB, 13MiB/s)
INFO: file size 1.77GB
INFO: Finished Backup of VM 101 (00:09:38)

Data backup container secara default akan tersimpan di dalam direktori /vz/dump dengan format file backup vzdump-$CTID.tar namun untuk file backup container dengan menggunakan metode compress maka hasilnya menggunakan format vzdump-$CTID.tgz.

Restorasi Data Backup Container

[root@nodeserver ~]# vzdump --restore /vz/dump/vzdump-101.tgz 101
INFO: restore openvz image '/vz/dump/vzdump-101.tgz' using ID 101
INFO: extracting archive '/vz/dump/vzdump-101.tgz'
INFO: Total bytes read: 7085066240 (6.6GiB, 52MiB/s)
INFO: extracting configuration to '/etc/vz/conf/101.conf'
INFO: restore successful