Вы находитесь на странице: 1из 18

CHAPTER 1: INTRODUCTION

1.1 Overview

Raspberry Pi Smart Server Backup is a system proposed to cater the problem of having a
server failure. The main idea behind this project is to create a lower cost system using Raspberry Pi
that will backup important servers include DNS server, DHCP server, Web server and FTP server. This
system will be configured with four basic server (DNS server, DHCP server, Web server and FTP
server) configurations. For example, if a DNS main server of a company breakdown, the network
administrator can trigger DNS backup server from Raspberry Pi Smart Server Backup system.

There are hardware and software combined together to make the project work. On the
hardware part, Raspberry Pi is used as a platform to install DNS server, DHCP server, Web server and
FTP server. As on the software part, Raspbian is used as the operating system for Raspberry Pi,
Dnsmasq is used to configure DNS server. Apache2 is used to configure Web server. Vsftpd is used to
configure the FTP server and MySQL is used to configure the database.

1.2 Project Objectives

The objectives of this project are:

 To build a server system that consists of four different types of services (DNS server, DHCP
server, Web server and FTP server) that can be trigger as a backup server when something
happens to the main server.
 To create low-cost server based on Raspberry Pi for backup system.
1.3 Project Problem Statement

In the modern world of growing technology, computers and information systems are
essential parts of modern business organizations. Most organizations nowadays implement their own
dedicated network server. The network server is being used for variety of purposes in modern
organizations include for communication, inventory management, data management, management
information systems, and customer relationship management. Network server plays important roles
to ensure these organizations to operate smoothly.

Nevertheless, a variety of events can lead to the failure of a server instance. Loss of power,
hardware malfunction, operating system crashes, network partitions, and unexpected application
behavior can all contribute to the failure of a server instance. Therefore, it is important to have a
backup server system to minimize the impact of failure events. Small and medium sized organizations
often find out that backing up a server is very costly.

1.4 Project Scope

Raspberry Pi Smart Server Backup system intends to be implemented in small and medium
sized organizations that have limited budget and small network environment to accommodate a
limited amount of users and storages.

1.5 Project Significance

Raspberry Pi Smart Server Backup system is expected to help small or medium sized
organizations to save their cost on developing a backup server. The network administrator will find it
easier to implement this system as it already being configured with four types of server
configurations.
1.6 Project Limitation

The limitation of this project is:

 Slower server performance.


 Support limited amount of traffics as Raspberry Pi is low-performance hardware.
CHAPTER 2: LITERATURE REVIEW

2.1 Literature Review Introduction

This chapter will discuss on several subjects related to this project. The literature review
written based on the knowledge and information found in the research paper or literature that
related to this project. This literature review has been divided into two sections. The first section will
discuss on the concept of this project. The second section will discuss on study and project that has a
similar features or functions with this project.

2.2 The Concept of a Backup Server

In order to understand the concept of a backup server, it is important to know the definition
of a server in computing environment. A server is a system consists of software and suitable
computer hardware that responds to multiple requests in a computer network to provide various
network services to the clients. As advanced as technology grows nowadays, it is a known fact that
most computers or in this case server might fail at some point due to many reasons such as a
network problems or system overload. This is where a backup server system might come handy. A
backup server system provides fault tolerance to the main server. A backup server is a software or
hardware in a network that responsible for backing up and restoring files, folders, databases and
hard drives on a network in order to prevent the loss of data if something happens to the main
server that might cause it to be malfunction.

There are many ways to implement a backup server system. This project provides an
alternative way to build a server backup system with the implementation of the Raspberry Pi and it
does comes with a lower price that makes this project an interesting option for small and medium
enterprises. The Raspberry Pi Smart Server Backup system will backing up four important
configurations of a server include Domain Name Server, Dynamic Host Configuration Protocol, File
Transfer Protocol and Web Server.
2.3 Research Study

2.3.1 Apparatus and Methods for Server Configuration Using a Removable Storage
Device

This study shows that server configuration can be store using a removable storage device.
The removable storage device will be connected to the server by inserting the removable storage
device to a reader. The removable storage device contains configuration data that is used to
configure the server. When power is supplied to the server, the server performs a boot-up sequence
that includes uploading the configuration data from the removable storage device.

Figure 2.1: The Smart Card use as removable storage device and the Smart Card Reader.
Figure 2.2: The flowchart of how storing server configuration using a removable storage device
works.

From the research, it shows that storing configuration server and implements it as a backup
to the main server configuration is possible. Therefore, it can be said that storing server configuration
using a removable storage (card reader) has a very similar characteristics with the Raspberry Pi Smart
Server Backup. The only difference between these two projects or studies is that the media used for
storing the server configuration. This research use a card reader as a removable storage to store
server configuration while the Raspberry Pi Smart Server Backup use Raspberry Pi as media to store
server configuration.
2.3.2 Backup Server (In Collaboration with Data Backup Screensaver Project)

The idea of this project is to implement a Screensaver that will trigger the backup task when
the computer left in a standby mode. The chosen folder will be saving to the appropriate LAN backup
server during the process. The project involves linking two programs; backup program on the server
side and Screensaver program on the client side. This will allow the client machine to use the project
to store data to the server. This project can only be implemented on a server that connected to the
network using Winsock. The purpose of this project is to enhance the backup solution for personal
computers using client server application that use C++ programming language. The implementation
of this project does help the users because it does not require periodic manual updates or setting.
Users just need to choose which files, directories or folders they want to save in the backup server
and the program will do the rest.

2.3.3 Trend Micro Worry-Free Business Security Advanced (Server Security Wizard)

Micro Worry-Free Business Security Advanced is security software specially designed to


provide complete user protection for everyone on staff in small enterprise. The software provides
layered content security that interconnects mobile devices, endpoints, gateways, and servers. There
is one wizard called Server Security in Trend Micro Worry-Free Business Security Advanced which
enables the user to create a backup and restore server configuration and settings. The user needs to
install Server Security on the server they want to backup. The Server Security will create a backup
folder for the server configurations after the user completed several procedures. In order to restore
the server configurations, the user need to retrieve the backup folder from the Server Security.
2.5 Comparison between Research Studies and Proposed Project

There is some important information that can be derived by studying the research studies.
That information can be compared to the proposed project and below is the table shows the
comparisons.

Apparatus and Trend Micro


Methods for Worry-Free
Backup Server (In
Server Business Security Raspberry Pi
Collaboration with Data
Configuration Advanced (Server Smart Server
Backup Screensaver
Using a Security Wizard) Backup
Project)
Removable
Storage Device
Costing Moderate Moderate Expansive Moderate
Type of Server File and folders from Server Server
data store configuration clients personal computer configuration configuration
No, because the
No, because the user must
user need to have
install the Screensaver
knowledge about
User program in their personal
Yes the Registry Editor Yes
friendly computer and must choose
in order to create
which file they want to
and restore the
store in the backup server
backup folder
Media
used to
Smart Card and
transfer Computer Computer Raspberry Pi
Card Reader
backup
data
Table 2.1: The table above shows the summarized comparison between the research studies and
proposed project.
CHAPTER 3: RESEARCH METHODOLOGY

3.1 Research Methodology Introduction

This chapter discusses the methodology that will be used in this research project.
Methodology can be defined as a way to find out the result of a given problem on a specific matter or
problem that is also referred as research problem. Researcher should use the correct research
methodology in order to effectively resolve problems occur when finding and exploring research
questions. Researcher often uses different criteria for solving or searching the given problem.
Different sources may use different type of methods for problem solving.

The method use for this project is called the rapid application development model (RAD). The
model consists of eight basic phases starting from initiation, research, planning, design,
implementation, testing, evaluation, and documentation. It is one type of approach to the Systems
Development Life Cycle (SDLC). Rapid development model is an incremental of system process model
that focuses on short development time cycle. Therefore, this model is suitable to be implemented
on this project because the author is well understood about the project requirements and the project
scope is well known. During the initiation phase, the author doing some research on problem that
can be solve by developing a project. After the author came out with the idea of the project, the
author seeks opinion and advice from the lecturer about the project. The topic proposed is about the
alternative way to provide backup server solution to small and medium enterprise. Research has
been carried out to see the average number of user in small and medium enterprise network and to
check whether this project able to provide backup service to the user in small and medium enterprise
network.

The planning phase has been divided into two parts, which is hardware planning and
software planning. The author has identified two important hardware require to build the project
prototype, which is the Ethernet switch and the Raspberry Pi. The Ethernet switch use to link the
main server and the backup server to the network. On the other hand, Raspberry Pi is use as a
medium to install the DNS server, DHCP server, Web server and FTP server. As for software planning,
the author uses the Raspbian Operating System that specifically designs to work with Raspberry Pi.
The author also will implement Dnsmasq to configure DNS server, Apache2 to configure Web server,
Vsftpd to configure the FTP server and MySQL to configure the database.

During the design phase, the author use the information gathered to come up with the
physical and logical setup of the component use. The author needs to configure the DNS server,
DHCP server, Web server, and FTP server on Raspberry Pi. The author needs to configure the link that
connects the backup server to the main server so that the link is automatically active in case the main
server fails to provide service. During this phase, the author will encounter problems in configuring
the link to the device.

3.2 Methodology Overview

Figure 3.1: The Rapid application development (RAD) methodology model used in this project.
3.2.1 Initiation

The initiation phase also known as the project pre-planning phase is the critical phase within
the project life cycle. During this phase, information about the requirement of this project will be
gathering from various sources. All related fact finding is conducted during this phase such as
expertise consultation, Internet research, literature research and other materials available. This
phase is focusing on finding the objectives of the project, problem statement and the scope of the
project. The main problem identified as stated on problem statement in the first chapter on
deploying a server backup system to small and medium enterprise is that these organizations often
find out that backing up a server come with a very high cost. Therefore, the author has come up with
the project entitled Raspberry Pi Smart Server Backup to solve the problem stated.

3.2.2 Research

The next phase after the title of the project has been selected is called the research phase.
The research phase is where the author carries out research about the project. During this phase,
author makes a series of studies about the Raspberry Pi capability to be implemented as a backup
server. The author finds out that the Raspberry Pi can be use as a media to install DNS server, DHCP
server, Web server and FTP server. Besides that, the author makes some research on how to
implement a backup server. The author finds out that there is a link connected between the main
server and the backup server. The link needs to be configured in order to make the link active if the
main server fails to provide services.

3.2.3 Planning

The planning phase involves creating a set of plans to guide the author through the project.
The author has conducted case study about hardware and software to be used in the project. For the
hardware planning, the author plan to use a cheap and easy to configure medium called Raspberry Pi
to install the DNS server, DHCP server, Web server, and FTP server. The author will implement an
Ethernet switch to provide the link between the main server and the backup server. As for the
software planning part, the author has chosen to use Raspbian Operating System that specifically
designs to work with Raspberry Pi. The author also will implement Dnsmasq to configure DNS server,
Apache2 to configure Web server, Vsftpd to configure the FTP server and MySQL to configure the
database. This project timeline is seven month, starting from Final Year Project 1 until the end of th
Final Year Project 2. All the tasks and activities involve in the project is listed in the Gantt chart.

3.2.4 Design

System design phase helps to develop detailed specifications that highlight the physical
solution to the user's information technology needs. During this phase, the author will determine the
physical layout of the project based on the list of hardware required. The project physical layout
consists of Raspberry Pi that will be stored in a casing. The project costing will be calculated based on
the list of item needed. The physical prototype of the project will be produced during this phase.

3.2.5 Implementation

The process of combining hardware and software required for the project happens during
the implementation phase. The author starts configuring the software to check if there is any
compatibility issue with the device used. At this stage, the author will encounter several problems
such as the software version does not meet the required specifications. All of the software will be
installed and configured in the Raspberry Pi. After successfully configured and assembled the
prototype of the system, the author will move to the testing phase.

3.2.6 Testing

The testing phase begins when the author has successfully built the system prototype. During
the testing phase, the system prototype will be simulated based on real time environment. The
author will build a main server consist of four types of services (DNS server, DHCP server, Web
server and FTP server) to serve a small office network. The author will then connect the prototype
of Raspberry Pi Smart Server Backup to the main server via the Ethernet switch. The author will
create an automatic link connected from the system prototype to the main server. This is to ensure
that the prototype of the Raspberry Pi Smart Server Backup will be activated once the main server
failed. The author will start the simulation by failing one service of the main server for example the
DNS server. The author will then observe whether the system prototype can automatically provide
backup services to the main server.

3.2.7 Evaluation

There might be several errors encounters during running the simulations during the testing
phase. The error detected will be fixed. After all the errors have been fixed, the author will run again
the simulation. This simulation result will be use to compare with the result of the initial simulation.

3.2.8 Documentation

Data gathered from the result of simulation performed on the testing phase will be collected,
analyzed, and documented. There are two important elements that need to be discussed in the
documentation. The first element is how many users in the network this system can serve. The
second element discussed in the documentation is to see whether the system able to provide the
backup service if more than one services in the main server failed at the same time. The two
elements discussed in the documentation are important to provide more details about the project
and to determine whether the project meet the objective stated.
3.3 Resources

3.3.1 Hardware

No. Device Quantity Requirement Candidates


1. Monitor 1  To view the operating system Dell CRT Monitor
in Raspberry Pi
2. Keyboard and 1  Use to control the Raspberry Gigabyte Keyboard
Mouse Pi and Mouse
 Install and program software
3. Microcontroller 1  Programmable Raspberry Pi
4. Ethernet Switch 1  Provide link between the main PROLiNK Ethernet
server and the backup server Switch Gigabit 8-Port
10/100/1000M,
PSW821G
5. Casing 1  Use to store Raspberry Pi Custom acrylic box

Table 3.1: Hardware Requirement.

3.3.2 Software

No Software Description

1. Raspbian Operating system used in raspberry pi.

2. Dnsmasq Lightweight server designed to provide DNS services to a small-


scale network.
3. Apache2 A public-domain open source Web server application.

4. Vsftpd FTP server for Unix-like systems, including Linux.

5. MySQL Open-source database management system.

Table 3.2: Software Requirement.


3.4 Budget / Costing

3.4.1 Hardware

No Equipment Quantity Price (RM)


1. Dell CRT Monitor 1 80

2. Gigabyte Keyboard and Mouse 1 20

3. Raspberry Pi 1 200

4. Custom acrylic box 1 50

5. Ethernet Switch 1 119

6. Total 469

Table 3.3: Project Costing Hardware.

3.4.2 Software

No Software Quantity Price (RM) Remark

1. Raspbian 1 - Freeware

2. Dnsmasq 1 - Freeware

3. Apache2 1 - Freeware

4. Vsftpd 1 - Freeware

5. MySQL 1 - Freeware

Table 3.4: Project Costing for Software.


3.5 Project Timeline

The time taken to develop this project has been planned during the objective and theory
phase. The Gantt chart has been developed based on the estimated duration for each task to be
carried out upon completing the project. Overall estimated time for this project to complete is within
eight months after the project is initiated without any flexibility in the schedule due to Final Year
Project submission date.

3.5.1 Work Breakdown Structure

Work Breakdown Structure is the basis for every project planning. It is important to have a
work breakdown structure because it breaks a project into smaller components. This will make it
easier for the researcher to manage every components involve in the project. The figure below
shows the work breakdown structure.

Raspberry Pi Smart Server Backup

Initiation Research Planning Design Implementation Testing Evaluation Documentation

Research on Hardware and Integrating


Brainstorming Estimate budget
backup server software hardware and Simulate server Fix error Analysis result
ideas on project and costing
system planning software backup
deployment
Recognize Design project
Determine Software Evaluate the final Finalize the
problem and phases
Research on project timeline configuration product report
countermeasure
Raspberry Pi
Verify error
capability as a
backup server Building a
Define project Determine
project layout complete
title
prototype

Design the
physical
prototype

Figure 3.2: Work Breakdown Structure.


3.5.2 Gantt Chart

The Gantt chart is produced to illustrate the project schedule. The Gantt chart is a project
management tools that served as a reference for the author as the project development progress.

Figure 3.3: Time allocate for each task to be completed.


Figure 3.4: Project Gantt chart.