Network-attached storage (NAS) is a dedicated data storage
technology. The NAS server provides centralized data storage, which is
easily accessible to users who belong to different networks over the
Internet. There are different applications that can be implemented using
NAS, such as data storage and file sharing. The purpose of the NAS
server that I am going to set up, is that of data storage. It is to be
used to provide remote backup of the data in clients’ servers.
The Operating System
Next step I have to do is to decide on an OS to setup the NAS server, which is free and easy to use.
I came across the site
http://www.openfiler.com/
Openfiler is a project for a open source Network Attached Storage
(NAS) OS distribution. It was developed by Xinit Systems and provides a
file-based NAS system and block-based Storage Area Networking (SAN) in a
single framework. Openfiler brings together almost all storage
networking protocols into a single framework.
Installation via VMware :
Openfiler is a standalone Operating System, which
requires access to all system resources in order to function. I got
confused on how to install it remotely. Then I came to know that it can
be installed in a virtual machine environment such as VMware. I decided
to try out first in a test server which had a 40GB hard disk.
A VMware Server installs on any existing server hardware
. It partitions a physical server into multiple virtual machines, and
provides for more hardware utilization and flexibility. So my first task
was to install the VMware server.
The following packages needs to be installed in the
remote server – The VMware Server itself and also the Management
Interface. Also install the VMware Server Linux client package, both in
the server and your local machine. The rpms for the packages can be
downloaded from the VMware site and the installation steps too are
documented there. The installation guide can be obtained from
http://pubs.vmware.com/server1/wwhelp/wwhimpl/js/html/wwhelp.htm
Once the VMware installation is complete, you need to
connect to the server remotely using the VMware Server client package.
Login using the IP address of the server and root password.
Once you are connected to the
VMware server, you need to create a new virtual machine. It would create
a set of files that represent a new computer, with a blank, unformatted
hard disk, onto which the new operating system can be installed. The
virtual disk by default has its disk space preallocated at the time of
creation. I created a virtual disk of about 20GB size. The virtual disks
are physically located in the folder /var/lib/vmware/Virtual Machines/ .
Now I have to obtain the iso image for the Openfiler OS. I got the latest one, Openfiler 2.1, from
http://sourceforge.net/
The Images of CD-ROMs are usually .ISO files. The .iso image was
downloaded to the folder that was created for the virtual disk in the
remote server, using wget command in SSH. Now, use the virtual machine
settings editor to connect the virtual machine’s CD-ROM drive to the
.ISO image file, then Power ON the virtual machine. The Openfiler OS
would start installing, and you would get a graphical installation
screen as per the steps given here:
http://www.openfiler.com/docs/install/graphical_install.html
Once the installation is complete, you can start configuring Openfiler
by pointing your browser at the host name or IP address of the Openfiler
system. The interface is mounted on https port 446. e.g.
https://test.myserver.com:446.
Installation via Installer :
Now that everything went fine in the test server, I
decided to give a try in the real server. But the actual server had a 2
TB hard disk, which made my task difficult. I was not able to use
VMware, as the hard disk size was really huge to create virtual disks.
So, I started thinking of other options. There was still the restriction
of no physical access to the server.
Luckily, I got
IPMI access to the
server. The Intelligent Platform Management Interface (IPMI)
specification has a set of common interfaces to computer hardware which
can be used to monitor system health and to manage the system remotely.
The IPMI provided a Text console, which I could make use of in the
installation purposes.
But the server wasn’t configured to show the grub menu
over the serial console. This would prevent us from selecting alternate
kernels during the boot process. I could find that, for grub to work
with IPMI, it has to be enabled for the serial console. Follow the steps
given below to do this.
Find the serial port number and speed used on your server:
Code:
# grep agetty /etc/inittab
On my server the console is connected to serial port 1 with a speed of 19200:
co:2345:respawn:/sbin/agetty
ttyS1 19200 vt100-nav
Now open /boot/grub/grub.conf, and add the following lines below “hiddenmenu”:
serial --unit=1 --speed=19200
terminal --timeout=80 console serial
Replace the port number , timeout and speed if necessary.
To test this out, reboot your server and then
connect to the serial console as soon as possible using IPMIView.
Eventually, after a minute or so, you should see the following message
repeating:
Press any key to
continue.
Press any key to continue.
Pressing a key at
this point will launch GRUB on the serial console.
First off, you would need to download the network
installation image for the Openfiler OS that you want to install. I was
able to download one boot.iso for Openfiler from <A
HREF=”http://www.rpath.org/rbuilder/project/openfiler/release?id=5076″http://www.rpath.org/rbuilder/project/openfiler/release?id=5076
I downloaded the boot.iso image to the server
itself, using the wget command. Next, you need to create a temporary
directory in which to mount the ISO image to get the files out of it:
mkdir /nas
mount -o loop
boot.iso /nas
You also need to create a directory in your /boot
directory . The /boot should be on a partition of its own. Copy the boot
files from the iso image to the folder created.
# mkdir /boot/nas
# cp -R /nas/* /boot/nas/
Next you need to find the appropriate initial RAM disk
and kernel files amongst these boot files. These will generally be
called “initrd-xxxxx” and “vmlinuz-xxxxxx” respectively. Now that you
have the boot files in the boot partition, you need to configure GRUB to
allow you to boot into the installation.
Add the following section to grub.conf file.
title NAS install
root (hd0,0)
kernel
/nas/isolinux/vmlinuz console=ttyS1,19200
initrd /nas/isolinux/initrd.img
This assumes that your boot partition is /dev/sda1 (or
/dev/hda1) as indicated by the “(hd0,0)” part. If your /boot partition
is different, you can alter the device accordingly. The
“console=ttyS1,19200″ part is very important as it tells the
installation program to use the serial console accessible through the
IPMI View program for the installation.
Now, you should get the iso image for the openfiler as
mentioned earlier. I had a second hard disk of 50GB, in the server. I
mounted that as another partition and downloaded the iso image for
openfiler to that partition.
Now, reboot the server and choose the NAS install from
the grub menu. The installer would start running. Fill in the details
appropriately. The installer gives different options for installing the
OS, such as NFS, FTP, HTTP, Hard Disk, CDRom etc. I elected the Hard
Disk option as my OS image was on the second hard disk. I selected the
appropriate hard disk and gave the path to the iso image. Please note
that Openfiler does not exist with any other Operating System. The
installer would format the entire drive on which its being installed,
before installing the packages. The installer successfully completed
installing the Openfiler in the 2TB drive of my server in about 4-5
hours. The installation steps are the same as given earlier,
http://www.openfiler.com/docs/install/graphical_install.html.
Only difference that it would be text based and not graphical in this
case. You can partition the drive manually or automatically, as you
prefer. Once the installation is over, Reboot the server and you would
be able to get a new server with Openfiler OS installed.
Login to the Interface and configure the Openfiler as per your requirements. A very good manual is available here :
http://www.openfiler.com/docs/manual/
The installation process was a Trial and Error method
which took up a lot of my time . There may be other effective methods
and there are other OS distributions available for NAS. The steps given
above depict the way I set up my server .
References:
http://www.openfiler.com/
http://sourceforge.net/docman/?group_id=90725
http://www.vmware.com/support/pubs/server_pubs.html
http://www.znark.com/tech/serialconsole.html
http://www.cyberciti.biz/nixcraft/vivek/blogger/2004/03/how-to-mount-iso-image-under-linux.php