best practices? 500+ win/mac computers, gluster, samba, new SAN, new hardware

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



All,

I'm in the market for some hardware.  Planning to put together a Gluster 
"cloud" to make our lab storage more performant and reliable.

Thinking about buying 8 servers with 4 x 2TB 7200 rpm SATA drives 
(expandable to 8 drives).  Each server will have 8 network ports and 
will be connected to a SAN switch using 4 ports link aggregated and 
connected to a LAN switch using the other 4 ports aggregated.  The 
servers will run CentOS 6.2 Linux.  The LAN side will run Samba and 
export the network shares, and the SAN side will run Gluster daemon.

With 8 machines and 4 ports for SAN each, I need 32 ports total.  I'm 
thinking a 48 port switch would work well as a SAN back-end switch 
giving me left over space to add iSCSI devices and backup servers which 
need to hook into the SAN.

On a budget, I'm planning to use custom-built Supermicro servers with a 
DLink 48-port Layer 2 switch for the SAN.

I've already put together a test gluster setup using some virtual 
machines and it seems very good.  As I move to designing the production 
configuration, I'm wondering if there are best practices for how to set 
up shares and bricks, etc.  Right now I'm thinking something like this:

1) Where should bricks be stored?  I'd like bricks to stay out of sight 
so admins are not tempted to accidentally write data directly to the 
brick instead of the gluster mount.  Something like:

	/brick/[brick dir name|brick mount dir]

2) Where should the glusterFS be mounted on the box?  I'm thinking of 
using either /mnt or creating a new /gluster directory for the mount points:

	/mnt/[gluster share]
or
	/gluster/[gluster share]

3) Common Samba configurations?  In my virtual machine tests, I had 
problems mounting my Samba shares on Mac and Windows.  As I starting 
configuring, it turned out I needed a bunch of samba-specific rules to 
fix .DS_Store files on mac, adjust directory mode and file modes, set 
socket options, and general Active Directory integration stuff.  Is 
there a best-practices for smb.conf files when used with Gluster?

Over time, I'm hoping to go through my network and replace all Windows 
storage servers with Samba whether I'm using Gluster or not.  If any of 
you have pointers on this, it'd be great.

4) Performance tuning.  So far, I've discovered using dd and iperf to 
debug my transfer rates.  I use dd to test raw speed of the underlying 
disks (should I use RAID 0, RAID 1, RAID 5 ?), then I use iperf to test 
the speed of the network (make sure I'm getting the bandwidth I expect). 
  Finally, I can use dd again to test my read and write speed to and 
from the gluster mount point.  If all looks good, I move to testing 
transfers all the way to a Windows 7 box that mounts the storage servers 
over Samba.  Then, I test everything like this:

	win7 -> network -> samba -> gluster -> brick -> ext4 -> sata hdd

5) Preferred striping or layout?  I want fast, good, and cheap!
http://en.wikipedia.org/wiki/Project_triangle  Since I already know the 
hardware, my costs are pretty much determined.  Next, I want to get the 
most Good and Fast from that cost.  I'm thinking RAID 10 ... but at the 
network level.  Perhaps if my drives on each of the 8 servers are RAID 
0, then I can use "replicate 2" through gluster and get the "RAID 1" 
equivalent.  I think using replicate 2 in gluster will 1/2 my network 
write/read speed, though.  If instead I used RAID 1 for my hardware and 
no replicate in Gluster, then I get a RAID 0-1 overall, but can not 
afford to lose one entire storage server.

For a network lab of 500+ computers with Active Directory, user profiles 
stored on LAN as well as desktops and redirected Movies, Photos, My 
Documents to network storage as well, I need performance and 
reliability.  Any papers out there showing how another large university 
has achieved this using Gluster?

TIA!

-- Dante

D. Dante Lorenso
dante at lorenso.com


[Index of Archives]     [Gluster Development]     [Linux Filesytems Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux