Setting Up A Standalone Storage Server With GlusterFS And Samba On Debian Squeeze

Want to support HowtoForge? Become a subscriber!
 
Submitted by shofer (Contact Author) (Forums) on Tue, 2013-01-29 17:20. :: Debian | Linux | Samba | Storage

Setting Up A Standalone Storage Server With GlusterFS And Samba On Debian Squeeze

Version 1.0
Author: Piotr Opara < piotr [dot] opara [at] gmail [dot] com >
Last edited 14/20/2012

This tutorial shows how to set up a standalone storage server on Debian 6.0, using GlusterFS and SAMBA, and custom scripts and settings to make life easier ;)

I do not issue any guarantee that this will work for you!

I do not issue any guarantee that you will understand my poor english ;)

 

1 Preliminary Note

Tutorial is based on Falko Timme article.

Linux Distribution:

I’m using the Debian 6.0 (Squeeze) distribution. The installation of the Debian is very simple, so I’m not going to explain it. Just remember that you'll need to have a disk or partition exclusive to data.

Network:

In this tutorial I use three systems, a two storage nodes and a windows client:

  • node1.example.com: IP address 192.168.20.106
  • node2.example.com: IP address 192.168.20.107
  • MS Windows client: IP address 192.168.20.7


2 Preparing The Nodes

We have to make sure, that both nodes are up to date and have installed SSH and other software that we like or need.

node1/node2

apt-get update

apt-get install mc ssh

We need to be sure, that both nodes should be able to resolve the other system's hostname:

node1/node2

vi /etc/hosts

127.0.0.1    localhost
192.168.20.106    node1.example.com    node1
192.168.20.107    node2.example.com    node2

 

Checking All Settings

node1

ping -c 1 node2

PING node2.example.com (192.168.20.107) 56(84) bytes of data.
64 bytes from node2.example.com (192.168.20.107): icmp_req=1 ttl=64 time=0.818 ms

--- node2.example.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.818/0.818/0.818/0.000 ms

node2

ping -c 1 node1

PING node1.example.com (192.168.20.106) 56(84) bytes of data.
64 bytes from node1.example.com (192.168.20.106): icmp_req=1 ttl=64 time=0.802 ms

--- node1.example.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.802/0.802/0.802/0.000 ms

 

3 Setting Up The Data Disks

On both nodes we have exclusive disk, we need to set them up:

node1/node2

fdisk /dev/sdb

Command (m for help): <-- n
Command action
  e   extended
  p   primary partition (1-4) <-- p
Partition number (1-4, default 1): <-- 1
First sector (1-1305, default 1): <-- ENTER
Using default value 1 Last sector, +sectors or +size{K,M,G} (1-1305, default 1305): <-- ENTER
Using default value 1305

Command (m for help): <-- t
Selected partition 1
Hex code (type L to list codes): <-- 83
Command (m for help): <-- w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.

Now run

fdisk -l

and you should find /dev/sdb1 in the output on both nodes:

Device Boot Start End Blocks Id System
/dev/sdb1 1 1305 10482381 83 Linux

Now we create a filesystem on /dev/sdb1, and mount the /dev/sdb1 to /data directory

node1/node2

mkfs.ext3 /dev/sdb1
mkdir /data/
vi /etc/fstab

... 
/dev/sdb1 /data ext3 defaults 0 0
...

Now run

mount -a

After that, you should find the share in the outputs of

df -h

/dev/sdb1 9,9G 151M 9,2G 2% /data

mount

/dev/sdb1 on /data type ext3 (rw)


Please do not use the comment function to ask for help! If you need help, please use our forum.
Comments will be published after administrator approval.