summaryrefslogtreecommitdiffstats
path: root/doc/release-notes/3.4.0.md
blob: b906e6a94c07e2a54da8b0329766f3e330120052 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
## Major Changes and Features

### Dual Licensing

All of GlusterFS 3.4.0 is available under this dual License:

- GNU Lesser General Public License, version 3 or any later version (LGPLv3 or
  later),

    or

- GNU General Public License, version 2 (GPLv2)


### libgfapi


libgfapi provides API access to data that is stored in gluster volumes.
Description of the API can be found [here]
(https://forge.gluster.org/glusterfs-core/glusterfs/blobs/release-3.4/api/src/glfs.h).

qemu and samba are already integrated with libgfapi. You can now access gluster
volumes directly from qemu and samba without having to come through a
regular filesystem mount point.

### Quorum enforcement from Trusted Storage Pool

Quorum can now be enforced from the Trusted Storage Pool. Connectivity
information present in glusterd is used to determine quorum. Server Side quorum
 can be enabled by:

*\#gluster volume set <volname\> cluster.server-quorum-type server*

*\#gluster volume set <volname\> cluster.server-quorum-ratio <percentage\>*

More details about this feature can be found [here]
(http://www.gluster.org/community/documentation/index.php/Features/Server-quorum).


### Improvements for Virtual Machine Image Storage

A number of improvements have been performed to let Gluster volumes provide
storage for Virtual Machine Images. Some of them include:

- qemu - libgfapi integration.
- Causal ordering in write-behind translator.
- Tunables for a gluster volume in group-virt.example.

The above result in significant improvements in performance for VM hosting.


### Synchronous Replication Improvements

GlusterFS 3.4 features significant improvements in performance for the
replication (AFR) translator. This is in addition to bug fixes for volumes that
used replica 3.


### Open Cluster Framework compliant Resource Agents

Resource Agents (RA) plug glusterd into Open Cluster Framework
(OCF) compliant cluster resource managers, like Pacemaker.

The glusterd RA manages the glusterd daemon like any upstart or systemd job
would, except that Pacemaker can do it in a cluster-aware fashion.

The volume RA starts a volume and monitors individual brick daemons in a
cluster aware fashion, recovering bricks when their processes fail.


### POSIX ACL support over NFSv3

setfacl and getfacl commands now can be used on a nfs mount that exports a
gluster volume to set or read posix ACLs.

### 3.3.x compatibility

The new op-version infrastructure provides compatibility with 3.3.x release of
GlusterFS. 3.3.x clients can talk to 3.4.x servers and the vice-versa is also
possible.

If a volume option that corresponds to 3.4 is enabled, then 3.3 clients cannot
mount the volume.

### Packaging changes

New RPMs for libgfapi and OCF RA are present with 3.4.0.

### Brick port changes

Brick ports will now listen from 49152 onwards (instead of 24009 onwards as with
previous releases). The brick port assignment scheme is now compliant with IANA
guidelines.

### Experimental Features

The following features are experimental with this release:

- RDMA-connection manager (RDMA-CM).
- Block Device translator.
- support for NUFA translator.

## Minor Improvements:

- The Ext4 file system change which affected readdir workloads for Gluster
  volumes has been addressed.

- More options for selecting read-child with afr available now.

- Custom layouts possible with distribute translator.

- No 32-aux-gid limit

- SSL support for socket connections.

- Known issues with replica count greater than 2 addressed.

- quick-read and md-cache translators have been refactored.

- open-behind translator introduced.

- Ability to avoid glusterfs bind to reserved ports.

- statedumps are now created in /var/run/gluster instead of /tmp by default.

- UFO Rebased to Openstack Swift 1.8.0 (Grizzly).

Note that UFO will be renamed G4S (Gluster For Swift) and decoupled from
GlusterFS in the next release. The UFO source in the GlusterFS ufo subdirectory
is deprecated following this release.
The G4S source is now in the separate git repository [here]
(ssh://git.gluster.com/gluster-swift.git).

- glusterfs.spec.in mirrors the Fedora glusterfs.spec (delta UFO packages until
  G4S packages land in Fedora.)

- Gluster NFS server now listens by default on port 2049. This allows auto
  negotiation with NFS clients.

- timestamps are now all in UTC

### Known Issues:

- The following configuration changes are necessary for qemu and samba
  integration with libgfapi to work seamlessly:

             1) gluster volume set <volname> server.allow-insecure on

             2) Edit /etc/glusterfs/glusterd.vol to contain this line:
                    option rpc-auth-allow-insecure on

            Post 2), restarting glusterd would be necessary.

-  RDMA connection manager needs IPoIB for connection establishment. More
   details can be found [here]
(https://github.com/gluster/glusterfs/blob/master/doc/features/rdma-cm-in-3.4.0.txt).

- When NUFA is enabled, client mounts fail outside the trusted storage pool.

- Quota enforcement does not work correct with NFS access.

- replace-brick operation does not work fine in all cases in this release.
More details can be found [here]
(https://bugzilla.redhat.com/show_bug.cgi?id=996047)

- For Block Device translator based volumes open-behind translator at the
client side needs to be disabled.