The most scary event we all want to avoid are computer crashes, malfunction, damage or any type of a serious disaster with our computers. Either the computer at home who stores all of our private information, maybe our most secretive data, maybe just photos of the whole family, over a 2 year period or any type of important information we would like to keep and never lose on our home computer or it is our server computers on our organization who holds the whole of the company’s operations, important info, accounting data, secret passwords, web applications, e-mail servers etc… which if for some reason we won’t have them operational, will cause us to lose our business, damage our income, and create losses to the organization, will be a great disaster. This is a scary thought.
The only solution is called “BACKUP“. It can be a backup server for servers who need to be online 24/7 and in case one falls the other is taking it place while the one who crashed is being services and gets back online and to a working state or it might be just a backup of a whole server, to avoid the process of installing it from scratch, which takes time and might cause us down time of important systems for a long period of time (usually such backup will be created at the end of the first installation of the server, after seeing it is working perfectly and before it starts storing data), such backup is called an “Image” of the server and another solution will be just data backup, which might contain data information, database data, configuration files, or any other data information that needs to be kept, and stored safely, so in case of a crash that
data can be restored.
After giving such thorough description of the problem, let’s go over the solution options, that we can take:
- Online Servers: There are two basic options to make your server be in high availability (keeping it online at all times).a. Creating two servers (physical ones), with exactly the same hardware and the same software, and create a sync process between them, when one of the is defined as master and the other as slave, where the master is the server who is being used, and the slave is the backup server. The master keeps updating the slave with any change of data, and so we have two running servers who are at all times exactly the same. There is also a mechanism that knows to switch between them, in case the master is not accessible due to network issues, server has crashed etc…b. The other option is to place the server on a VMWARE server. Those VMWARE servers, if they contain a VMOTION mechanism, have high availability on them, so if the server is not accessible or the VMWARE server has a problem, all of the servers on that VMWARE are moving to a new VMWARE server in seconds.
- Creating an Image of a computer: The Image creation is actually taking a “Photo” of your hard-disk, with all of its operating system and data, and creating an IMAGE of it, the image is an actual freeze of the whole hard-disk, and in case of a crash, we can replace a hard-disk, restore the image, and we get the exact operating system and data that where on that hard-disk, from the exact moment we took that freeze photo of it state. Mostly it is being used, after the installation has been finished, when all of the drivers (in windows) have been installed properly, so in case of a crash, the restore of the IMAGE takes a couple of minutes, instead of a whole installation process that takes hours.
- NORTON Ghost: The most common IMAGE solution for a Windows operating system is the NORTON GHOST, which saves the IMAGE of drive “c:\” (complete copy of it) onto any type of storage you might choose (external hard-disk, NAS etc…) and in case of a restore request, that GHOST image can be restored and get us back to a working status in no time. There are other IMAGE taking solution, but they will be detailed in another article.
- ACRONIS True Image: This tools enables IMAGE creating backups, with a user friendly windows application interface, it creates a full image of your hard-disk operating system, and enables easy restore capabilities.
- Backup of data: Well, there are many solutions for data backups, some are suitable for a windows operating system, some are for a Linux operating system and of course there are backup solutions for AS/400 or UNIX etc… but I am concentrating on Linux and Windows operating systems.
Windows Backup Solutions:
- SyncBack – This is a backup/synchronization solution – which has a freeware/Shareware options – that enable you to save/sync your Windows files onto any drive, either an external hard-disk or a shared folder on a NAS.
- Carbonite – This solution is an online backup service. Carbonite installs a small program onto your computer, you configure it on what you want to backup online, and it always searches those folders, and updates automatically any change in data and added files.
- Windows backup system – Windows operating systems include an internal backup mechanism within the operating system, so if you satisfied with it, it can be sufficient as well. You can find it at the “Control Panel” of your Windows.
- MozyHome – This is another online backup service, that enable you to store all of your files onto an online storage space. You get a 2GB
storage space for free, extra space is for extra charge.
Linux Backup Solutions:
- Bacula – This is one of my favorite organization’s network backup solution for a Linux environment, and the added benefit is that it can backup your Windows computer as well. On the clients you install the client side application, both for Linux & Windows clients (or a Windows Server too). Bacula works great, and you get an e-mail messages to your mailbox with the status of the backups that where done on the daily schedule. Usually the night process is being used for servers, and the daily process for clients on your network. You can use it with external USB hard-disks
or NAS.
- CronJobs – Most Linux backup procedures are based on the Cronjob mechanism built in the Linux OS. Usually it will run the processes of a shrinking tool, like the TAR (tar.gz) shrinking program. The cronjob creates the schedule,
and on the cronjob you are placing the command that you want to run at a certain schedule. The catch is that if you need to backup other servers on the network, or servers outside of the organization, you will need to switch ssh keys, between the servers, to enable automatic ssh access to enable automatic backups.