[Gluster-users] NFS re-export of guster mounted disks
Gerald Brandt
gbr at majentis.com
Tue Sep 13 16:14:06 UTC 2011
Hi,
I hope I can explain this properly.
1. I have a two brick system replicating each other. (10.1.4.181 and 10.1.40.2)
2. I have a third system that mounts the gluster fileshares (192.168.30.111)
3. I export the share on 192.168.30.111 as NFS to a XenServer.
What I'm hoping for, is the aggregate speeds of gluster to the 2 servers shows up when exported as NFS (roughly 2 GigE).
When I use the linux kernel nfs server, my speeds are atrocious.
When I use the gluster NFS server, I get complete failure.
The error I get when I try to use the gluster nfs server on a gluster mounted disk is:
[2011-09-13 10:38:45.265011] E [socket.c:1685:socket_connect_finish] 0-datastore-client-0: connection to 192.168.30.111:24007 failed (Connection refused)
[2011-09-13 10:39:06.742844] I [nfs.c:704:init] 0-nfs: NFS service started
[2011-09-13 10:39:06.742980] W [write-behind.c:3030:init] 0-datastore-write-behind: disabling write-behind for first 0 bytes
[2011-09-13 10:39:06.745879] I [client.c:1935:notify] 0-datastore-client-0: parent translators are ready, attempting connect on transport
Given volfile:
+------------------------------------------------------------------------------+
1: volume datastore-client-0
2: type protocol/client
3: option remote-host 192.168.30.111
4: option remote-subvolume /filer1
5: option transport-type tcp
6: end-volume
7:
8: volume datastore-write-behind
9: type performance/write-behind
10: subvolumes datastore-client-0
11: end-volume
12:
13: volume datastore-read-ahead
14: type performance/read-ahead
15: subvolumes datastore-write-behind
16: end-volume
17:
18: volume datastore-io-cache
19: type performance/io-cache
20: subvolumes datastore-read-ahead
21: end-volume
22:
23: volume datastore-quick-read
24: type performance/quick-read
25: subvolumes datastore-io-cache
26: end-volume
27:
28: volume datastore
29: type debug/io-stats
30: option latency-measurement off
31: option count-fop-hits off
32: subvolumes datastore-quick-read
33: end-volume
34:
35: volume nfs-server
36: type nfs/server
37: option nfs.dynamic-volumes on
38: option rpc-auth.addr.datastore.allow *
39: option nfs3.datastore.volume-id 1ce79bc5-0e1a-4ab9-98ba-be38166101fa
40: option nfs.port 2049
41: subvolumes datastore
42: end-volume
+------------------------------------------------------------------------------+
[2011-09-13 10:39:06.747340] I [rpc-clnt.c:1531:rpc_clnt_reconfig] 0-datastore-client-0: changing port to 24009 (from 0)
[2011-09-13 10:39:09.748308] I [client-handshake.c:1082:select_server_supported_programs] 0-datastore-client-0: Using Program GlusterFS-3.1.0, Num (1298437), Version (310)
[2011-09-13 10:39:09.751963] I [client-handshake.c:913:client_setvolume_cbk] 0-datastore-client-0: Connected to 192.168.30.111:24009, attached to remote volume '/filer1'.
[2011-09-13 10:39:09.758352] I [client3_1-fops.c:2228:client3_1_lookup_cbk] 0-datastore-client-0: remote operation failed: No data available
[2011-09-13 10:39:09.758383] C [nfs.c:240:nfs_start_subvol_lookup_cbk] 0-nfs: Failed to lookup root: No data available
This is the 'gluster volume info' for each server:
The two backend gluster servers:
Volume Name: datastore
Type: Replicate
Status: Started
Number of Bricks: 2
Transport-type: tcp
Bricks:
Brick1: 10.1.40.2:/nfs/disk3
Brick2: 10.1.4.181:/glusetr
Options Reconfigured:
nfs.port: 2049
nfs.trusted-sync: on
The server that mounts the two gluster servers and re-exports it as NFS
fstab:
192.168.30.1:/datastore /filer1 glusterfs noatime 0 0
Volume Name: datastore
Type: Distribute
Status: Started
Number of Bricks: 1
Transport-type: tcp
Bricks:
Brick1: 192.168.30.111:/filer1
Options Reconfigured:
nfs.port: 2049
A rough diagram of the network:
brick1 brick2 (physical machines) (machine 1 and 2)
| |
| (a) | (b)
| |
-----||-----
||
||(c)
||
gluster client (XenServer VM) (machine 3 - virtual)
|
|(d)
|
NFS (Same XenServer VM as above) (machine 3 - virtual)
|
|(e)
|
XenServer (mounts NFS export from VM)
Where:
(a) 1 GigE TCP/IP (physical NIC) (10.1.4.181)
(b) 1 GigE TCP/IP (physical NIC) (10.1.40.2)
(c) aggregate ~ 2GiGE (2 physical NICs)
(d) aggregate ~ 2GigE (XenServer virtual NIC) (192.168.30.111)
(e) aggregate ~ 2GigE (XenServer virtual NIC)
I know I'll get a performance hitting going through multiple layers/machines, but I'm hoping the aggregate throughput offsets that.
Does anyone know if gluster can export a gluster mounted fileshare?
Thanks,
Gerald
More information about the Gluster-users
mailing list