Designing High Availability Cluster Using Server Virtualization on Cloud Storage Services

Cloud Storage Service at PT. Harrisma Globaltechnologies Jakarta has not been applied based on virtualization. The problem with cloud storage services in general is that the server is not able to serve a high number of requests as a result the cloud storage server fails. One of these problems is caused by inadequate server resources and less than optimal storage server management. These problems can be solved effectively and efficiently with server virtualization. Where server virtualization is managed by Proxmox. Proxmox is an open-source virtualization platform supported by KVM and OpenVZ hypervisors and can be managed with web-based graphics. Server virtualization collaboration can save server resources by duplicating server services virtually. The research methodology used is clustering by applying the concept of high-availability where there is a secondary server as a backup-server for the primary-server. The results of this study include three parameters, namely Throughput, Response Time, and CPU Usage. The results show that cloud storage servers that implement virtualization than those that do not apply with a difference in the value of the Throughput parameter of 1896.6 Kbps, the difference in the value of the Response Time parameter of 10.6 requests/second, and the difference in the value of the CPU Usage criteria of 11.91%.


Introduction
Today's organizational needs are highly dependent on information technology infrastructure. One of them is the need for server development to increase the data center. PT. Harrisma Global technologies Jakarta has a cloud computing-based storage system to assist users in the problem of storing large amounts of data, so that users do not store data on each computer used. This makes it easier for employees who need their data to only need to access a cloud server that has been implemented. So that the stored data becomes centralized and can be accessed from anywhere. The problem that often occurs is the emergence of failures when access is made by the client, and makes the service always disconnected, this problem can occur due to server maintenance or hardware problems that can make the server down. Then a clustering system was developed on the server which makes the server required to use the High Availability method, this technology is used to anticipate the failure or damage of devices on the server computer, the server itself is a computer system that serves as a service provider for the client. The expected server must always be active, the software and processes on the server running normally. With a server function that provides services to clients, the server is required to have a high level of availability [1]. In this study, the discussion is only on problems including the cloud computing infrastructure that is built is a private cloud, the virtualization technology used is Proxmox Virtual Environment, the Server Operating system used is Linux Ubuntu 20.04, Owncloud is used as a cloud storage management application, the client computer uses the Windows operating system. 10. Implementation of the Cluster on the Server using the High Availability Cluster technique, this study only discusses some Quality-of-service calculations, the author does not discuss data security other than the security used by the client using the username and password on the server. The purpose of this paper is to provide solutions to problems encountered in terms of file sharing and resource use, to build a cloud storage system with the implementation of high availability clusters that can minimize downtime to maintain high service availability.

Server Virtualization
Server virtualization is the use of software that allows one hardware device to run several operating systems and services at the same time, while virtual server is the use of software that allows multiple hardware devices to run one system in an integrated manner [2]. The use of virtualization has long been used since the 1960s and has been applied to several aspects of computers from entire computer systems to individual capabilities or components. Currently virtualization is widely used because virtualization is more environmentally friendly and supports green computing.

Proxmox
Proxmox is a Debian-based (64 bit) virtualized Linux distribution that supports OpenVZ and KVM. Proxmox allows for centralized management of multiple physical servers. A Proxmox consists of at least one master and several nodes (at least one master and one node) [3]. Proxmox is an open source-based virtualization software. Which means this proxmox is free. Proxmox is based on debian x86_64, therefore Proxmox can only be installed on 64 bit-based machines, Proxmox will not be able to be installed on i386 based machines. Proxmox supports several types of virtualization platforms such as KVM and OpenVZ [4]. To use KVM on proxmox you also must make sure the processor you are using supports hardware virtualization features (hardware virtualization) either Intel VT or AMD-V, in contrast to KVM, if you use OpenVZ you don't need this hardware virtualization

Cloud Storage
Cloud Storage is a digital data storage technology that utilizes a virtual server as a storage medium [5]. Security is one of the most important factors because users certainly expect data stored in Cloud Storage to be safe. Not only that, storing digital data in Cloud Storage will reduce the risk of data loss if there is a problem with our electronic devices. Events of data loss due to damage to devices such as computers, laptops or other gadgets can also be resolved with the storage technology [6].

High Availability Cluster
The concept of this cluster is being developed a lot because of its advantages, namely it can produce a system with a high level of reliability and a system that has a high level of availability. This depends on the initial purpose of making the computer cluster system. With this technology the need for a system that has a high level of availability can be achieved [7]. How High Availability Works, namely when one of the servers on the same cluster node is having problems, as soon as possible another server will take over the traffic, and the server that previously experienced problems will auto-healing or repair automatically until it is ready to backup as before [8].
This research methodology is carried out using an analysis method on the performance of a network using the NDLC Network Development Life Cycle method approach.

Figure 1. Network Development Life Cycle
NDLC is a computer network system development life cycle that is comprehensive with a strong level of integrity from several steps that must be carried out to achieve an output that is accurate, valid and has high productivity [10]. Each stage has characteristics with several specific activities with certain goals. In the process of developing information systems, NDLC is one component of several other components. Thus, NDLC can only be implemented if the previous process has been completed such as conducting business strategic planning, application development life cycle, and data distribution analysis [11]. The following are the steps that the author does based on the NDLC method.

Analysis
PT. Harrisma Global technologies Jakarta has an internet connection with a speed of 100 Mbps originating from the internet service provider Astinet, there are 3 servers, namely a web server, mail server and cloud storage server. There are 2 routers, the Cisco router is connected directly to the ISP as a gateway and there is a firewall setting, on the second router there is a Mirotic router which functions as a distribution of IP addresses and hotspot settings. Here's the current network schematic:

Figure 2. PT Harrisma Global technologies Current Network Scheme
During this pandemic, work is carried out remotely from home, so the activity of accessing cloud storage servers is very high because they are accessed through public networks, so servers often fail to function.

Design
At the Design stage, the author makes a design drawing of the interconnection network topology that will be built, it is hoped that this image will provide a complete picture of the existing needs. There are additional servers to support the high Availbility Cluster method, namely proxmox 1 and proxmox 2 which are connected via a switch with a cloud storage server, the following are the specifications of the proxmox 1 and 2 servers

Simulation Prototyping
Simulating the topology design that has been made using the Packet tracer software and installing the Proxmox VE software on Virtual Box The simulation begins by creating a virtual machine with a storage capacity of 40 GB and 8 GB RAM, followed by the installation of Proxmox VE

Implementation
Implementation of all that has been planned and designed beforehand. Implementation is a very decisive stage of the success / failure of the project to be built and at this stage the Teamwork will be tested in the field to solve technical and nontechnical problems [11]. A cluster is a group of independent computers (network servers) that operate and work closely together and are seen by network clients as if they were a single computer unit. The process of connecting several computers so that they can work like that is called Clustering. Cluster components are usually connected to each other quickly through a very fast interconnection, or it can be via a local network (LAN). The following are the steps for configuring the cluster on the proxmox server, on the proxmox 1 server on the command line type the command below: root@server1# Pvecm Createmycsluster (1) After the implementation of the monitoring stage is an important stage, so that the computer network and communication can run according to the wishes and initial goals of the user in the early stages of analysis. The management stage is carried out in terms of setting the communication path between the proxmox cluster servers so that they can be accessed publicly.
Testing the reliability of creating a KVM virtual machine on a proxmox 1 server and a proxmox 2 server, with the server cluster method, it will be tested to create a virtual machine on a server that has been combined using the Ubuntu Server 20.04 operating system based on iso with a size of 1.7 GB. The results obtained are in the form of differences in the process of creating virtual machines using owncloud and local cloud storage. On server 1, node 1 or also called KVM 100 server created using owncloud storage gets 0.8 second results while node 2 without a server cluster gets 0.15 seconds longer than node 1 with a difference of 0.7 second. On server 2, node 1 created using owncloud storage gets 0.6 second results while node 2 without NAS gets 0.14 second results longer than node 1 with a difference of 0.8 second.

Throughput
Throughput generated by the server before configuration and the server after configuration. The server before configuration produces a throughput value of 316.50 KB/s, while the server after configuration produces a throughput value of 2213.1 KB/s. The difference between the two Throughput results is 1896.6 Kbps.

Response Time
The result of the response time criteria during testing or benchmarking against the server before configuration is 288,876 requests/second, while on the server after configuration the response time criteria result is 278,276 requests/second. The test results show that the server after configuration produces a response time value that is smaller than the server before configuration with a value difference of 10.6 requests/second.

CPU Usage
The results of web server performance testing or benchmarks get CPU usage criteria on the server before configuration with CPU consumption of 77.86%, while the CPU consumption generated on the server after configuration is 90.87%. The value of CPU usage is obtained from the value of all existing CPU resources, which is 100% minus the benchmark test results against the CPU. a) Server before configuration: 100% -77.86% = 22.14% b) Server after configuration: 100% -89.77% = 10.23% So, server CPU consumption after configuration is less than server before configuration by 11.91% difference

Conclusion
In each of the criteria, both throughput, response time, and CPU usage resulted that the server after configuration had a superior value than the server before configuration according to each criterion. This is because the clustering method using the High Availability concept strongly supports server performance by dividing the workload equally on both the primary-server and secondary-server so that services can be served optimally without causing the server to down. In addition, container-based virtualization is also lightweight so that the consumption of server resource usage is lighter than virtual machine-based virtualization.