Tag Archives: storage

Graph your network environment with Cacti

Share Button

There are many commercial and open source solution out there to graph your network utilization and in this article I am going to show you how to use Cacti the open source RRDTool-based graphing solution. Cacti is freely available at http://www.cacti.net and comes preloaded with a few Host and Graph Templates. If a template for the device you are trying to set up is not available by default you can download contributed cacti host and graph templates at http://docs.cacti.net/templates and import those to your cacti installation.

The installation and configuration for Cacti is on Ubuntu very simple. Let’s go over the installation procedure. First I recommend that you always update your apt-get repository with

sudo apt-get update

and then you can go ahead and install the latest version available from the repository with

sudo apt-get install cacti cacti-spine

accept all dependencies and the installation will start. During the installation the installer probably ask you a few questions depending on your current system setup but on a fresh install it most likely will ask your if you like to install MySQL and for a SQL Root user password. Further more it will also ask you if you like to use db-config to setup the cacti SQL Database and it will also ask for a password again. The next step it will ask you if you like to configure the installation for a version of apache web server. I recommend to use Apache2 unless you know what you are doing.

Now the installation should be done and the next step of the configuration is web based. Start you preferred web browser and browse to http://yourserver/cacti and you will see a disclaimer if your installation worked as planned, click next to start the web based configuration. Read the information displayed on those pages and make sure that there are now errors and click on finish at the end. If you run into errors try to solve those and re-run the steps until everything is the way it suppose to be.

Now you are done and you can browse to your Cacti website again and this time it should ask to to login. Use admin for the user name and password. The Cacti website now forces you to change your admin password for the website. Enter a desired password. Now there are two things that needs to be checked that they are correct. On the left pane click on settings and in the right pane click on the tab Paths. Make sure that all paths are green and it states that the file is found. Click on the Poller tab and change the poller from cmd.php to spine and scroll all the way to the bottom and click on save. Now you are done and can start adding devices and graphs.

Watch the video below to see the entire installation, configuration and adding devices and graphs. If you like the video don’t forget to rate it and leave a comment if you like.

Thanks for reading and enjoy the video.

UbuntuVideoCast: iSCSI Storage on Ubuntu

Share Button

Building an iSCSI storage device can be very helpful for proof of concepts or actually for production use. I prefer using a Linux Server that provides an iSCSI storage for proof of concept scenarios because real SANs cost a lot of money. iSCSI is the abreviation of Internet Small Computer System Interface and it is an Internet Protocoll (IP). iSCSI is a standard for linking storage facilities.

The iSCSI Enterprise Target is an Open Source project to implement professional iSCSI feature for Linux and provides the iscsitarget software. Ubuntu included iscsitarget package in there repositories and cam be installed with apt-get.

In my demonstration I will make use of a image file which will be the storage device. Storage device is probably not the correct term but best describes its purpose. Usually you will use a logical volume, hard drive or a partition as a block device but it works with image files as well.
Every iSCSI Target defined with an IQN. I copied the definition from Wikipedia.

iSCSI Qualified Name (IQN)
Format: The iSCSI Qualified Name is documented in RFC 3720, with further examples of names in RFC 3721. Briefly, the fields are:
  • literal iqn
  • date (yyyy-mm) that the naming authority took ownership of the domain
  • reversed domain name of the authority (org.alpinelinux, com.example, to.yp.cr)
  • Optional “:” prefixing a storage target name specified by the naming authority.
From the RFC:
Naming String defined by
 Type   Date      Auth     "example.com" naming authority
+----+ +-----+ +---------+ +-----------------------------+

To enhance the security iSCSI make use of CHAP protocol for authentication and the credentials are not sent in clear text over the wire. In all the iSCSI storage implementation I worked on the iSCSI is been placed in its own VLAN and only accessible for the Servers that utilizes iSCSI SAN Storage like VMware ESX or Citrix Xen server Hosts.

Enjoy the following Youtube Video which demonstrates a simple iSCSI Storage on a Ubuntu Linux Server.

umount not possible – device is busy!!!

Share Button

Hello everybody,
Welcome to a new issue at UbuntuVideoCast. Did you ever ran into the situation that you have an external storage device attached and now you like to umount it and disconnect it from your system and when you execute for example the command umount /mnt/storage that the system tells you it is not possible because the device is busy? Well here is the solution to figure out who or what is keeping the device busy.
# umount /mnt/storage/
umount: /mnt/storage: device is busy
umount: /mnt/storage: device is busy


What now? The answer is simple use fuser. fuser is a command used to show which processes are using a specified file, file system, or socket.
Here are the options:
-k kills all process accessing a file. For example fuser -k /home/export/ganesh kills all processes accessing this directory without confirmation. Use -i for confirmation
-i interactive mode. Prompt before killing process
-v verbose.
-u append username
-a display all files
-m name specifies a file on a mounted file system or a block device that is mounted. All processes accessing files on that file system are listed. If a directory file is specified, it is automatically changed to name/. to use any file system that might be mounted on that directory.


In order to solve the issue in our example we have to execute the following command:
# fuser -m /mnt/storage
mnt/storage: 15738
# ps auxw| grep
15738user 15738 0.4 2.7 219212 56792 Sep10 11:16 beremote
You should receive something like displayed above. Either close the program, shutdown the service or just kill the process.
I hope that this was helpful to you. Please send me or post any comments, regarding this article or my website. I am happy to receive criticism. I am always looking for a way to improve this website.
1 2