GlusterFS ist eine Open-Source Software zur Erstellung und Konfiguration eines verteilten / distributed Dateisystems. Die Client-Server Architektur besteht aus mehren Komponenten und kann auf handelsüblicher Hardware erstellt werden. Das neue Release in Version 10 bringt eine große Anzahl an Codeverbesserungen, Stabilitätsfixes und ein paar neue Features.
Die stable Versionen sind ab jetzt die Version 9 und die neue Version 10. Diese erhalten Maintencance und Post-Releases. Jeden 15. des monates erhält Glsuterfs 10 Maintenance Updates, während Version jeden 15. alle drei Monate Maintenance Releases erhält. Mit Version 10 ist Glsuter-8.x End-of-Life (EOL) und wird nicht länger supported.
GlusterFS 10 not supported Features
Folgende Features sollten beim Upgrade auf Gluster 10 nicht länger aktiviert bzw. verwendet werden:
- Block device (bd) xlator
- Decompounder feature
- Crypt xlator
- Symlink-cache xlator
- Stripe feature
- Tiering support (tier xlator and changetimerecorder)
- Glupy
Highlights Gluster 10
- Major performance improvement of ~20% w.r.t small files as well as large files testing in controlled lab environments #2771
NOTE: The above improvement requires tcmalloc library to be enabled for building. We have tested and verified tcmalloc in X86_64 platforms and is enabled only for x86_64 builds in the current release.
- Randomized port selection for bricks, improves startup time #786
- Performance improvement with use of readdir instead of readdirp in fix-layout #2241
- Heal time improvement with bigger window size #2067
GlusterFS 10 Bugfixes
- #504 AFR: remove memcpy() + ntoh32() pattern
- #705 gf_backtrace_save inefficiencies
- #782 Do not explicitly call strerror(errnum) when logging
- #786 glusterd-pmap binds to 10K ports on startup (using IPv4)
- #904 [bug:1649037] Translators allocate too much memory in their xlator_
- #1000 [bug:1193929] GlusterFS can be improved
- #1002 [bug:1679998] GlusterFS can be improved
- #1052 [bug:1693692] Increase code coverage from regression tests
- #1060 [bug:789278] Issues reported by Coverity static analysis tool
- #1096 [bug:1622665] clang-scan report: glusterfs issues
- #1101 [bug:1813029] volume brick fails to come online because other proce
- #1251 performance: improve __afr_fd_ctx_get() function
- #1339 Rebalance status is not shown correctly after node reboot
- #1358 features/shard: wrong „inode->ref“ leading to ASSERT in inode_unref
- #1359 Cleanup –disable-mempool
- #1380 fd_unref() optimization – do an atomic decrement outside the lock a
- #1384 mount glusterfs volume, files larger than 64Mb only show 64Mb
- #1406 shared storage volume fails to mount in ipv6 environment
- #1415 Removing problematic language in geo-replication
- #1423 shard_make_block_abspath() should be called with a string of of the
- #1536 Improve dict_reset() efficiency
- #1545 fuse_invalidate_entry() – too many repetitive calls to uuid_utoa()
- #1583 Rework stats structure (xl->stats.total.metrics[fop_idx] and friend
- #1584 MAINTAINERS file needs to be revisited and updated
- #1596 ‚this‘ NULL check relies on ‚THIS‘ not being NULL
- #1600 Save and re-use MYUUID
- #1678 Improve gf_error_to_errno() and gf_errno_to_error() positive flow
- #1695 Rebalance has a redundant lookup operation
- #1702 Move GF_CLIENT_PID_GSYNCD check to start of the function.
- #1703 Remove trivial check for GF_XATTR_SHARD_FILE_SIZE before calling sh
- #1707 PL_LOCAL_GET_REQUESTS access the dictionary twice for the same info
- #1717 glusterd: sequence of rebalance and replace/reset-brick presents re
- #1723 DHT: further investigation for treating an ongoing mknod’s linkto file
- #1749 brick-process: call ’notify()‘ and ‚fini()‘ of brick xlators in a p
- #1755 Reduce calls to ‚THIS‘ in fd_destroy() and others, where ‚THIS‘ is
- #1761 CONTRIBUTING.md regression can only be run by maintainers
- #1764 Slow write on ZFS bricks after healing millions of files due to add
- #1772 build: add LTO as a configure option
- #1773 DHT/Rebalance – Remove unused variable dht_migrate_file
- #1779 Add-brick command should check hostnames with bricks present in vol
- #1825 Latency in io-stats should be in nanoseconds resolution, not micros
- #1872 Question: How to check heal info without glusterd management layer
- #1885 __posix_writev() – reduce memory copies and unneeded zeroing
- #1888 GD_OP_VERSION needs to be updated for release-10
- #1898 schedule_georep.py resulting in failure when used with python3
- #1909 core: Avoid several dict OR key is NULL message in brick logs
- #1925 dht_pt_getxattr does not seem to handle virtual xattrs.
- #1935 logging to syslog instead of any glusterfs logs
- #1943 glusterd-volgen: Add functionality to accept any custom xlator
- #1952 posix-aio: implement GF_FOP_FSYNC
- #1959 Broken links in the 2 replicas split-brain-issue – [Bug][Enhancemen
- #1960 Add missing LOCK_DESTROY() calls
- #1966 Can’t print trace details due to memory allocation issues
- #1977 Inconsistent locking in presence of disconnects
- #1978 test case ./tests/bugs/core/bug-1432542-mpx-restart-crash.t is gett
- #1981 Reduce posix_fdstat() calls in IO paths
- #1991 mdcache: bug causes getxattr() to report ENODATA when fetching samb
- #1992 dht: var decommission_subvols_cnt becomes invalid when config is up
- #1996 Analyze if spinlocks have any benefit and remove them if not
- #2001 Error handling in /usr/sbin/gluster-eventsapi produces AttributeErr
- #2005 ./tests/bugs/replicate/bug-921231.t is continuously failing
- #2013 dict_t hash-calculation can be removed when hash_size=1
- #2024 Remove gfs_id variable or at least set to appropriate value
- #2025 list_del() should not set prev and next
- #2033 tests/bugs/nfs/bug-1053579.t fails on CentOS 8
- #2038 shard_unlink() fails due to no space to create marker file
- #2039 Do not allow POSIX IO backend switch when the volume is running
- #2042 mount ipv6 gluster volume with serveral backup-volfile-servers,use
- #2052 Revert the commit 50e953e2450b5183988c12e87bdfbc997e0ad8a8
- #2054 cleanup call_stub_t from unused variables
- #2063 Provide autoconf option to enable/disable storage.linux-io_uring du
- #2067 Change self-heal-window-size to 1MB by default
- #2075 Annotate synctasks with valgrind API if –enable-valgrind[=memcheck
- #2080 Glustereventsd default port
- #2083 GD_MSG_DICT_GET_FAILED should not include ‚errno‘ but ‚ret‘
- #2086 Move tests/00-geo-rep/00-georep-verify-non-root-setup.t to tests/00
- #2096 iobuf_arena structure doesn’t need passive and active iobufs, but l
- #2099 ‚force‘ option does not work in the replicated volume snapshot crea
- #2101 Move 00-georep-verify-non-root-setup.t back to tests/00-geo-rep/
- #2107 mount crashes when setfattr -n distribute.fix.layout -v „yes“ is ex
- #2116 enable quota for multiple volumes take more time
- #2117 Concurrent quota enable causes glusterd deadlock
- #2123 Implement an I/O framework
- #2129 CID 1445996 Null pointer dereferences (FORWARD_NULL) /xlators/mgmt/
- #2130 stack.h/c: remove unused variable and reorder struct
- #2133 Changelog History Crawl failed after resuming stopped geo-replicati
- #2134 Fix spurious failures caused by change in profile info duration to
- #2138 glfs_write() dumps a core file file when buffer size is 1GB
- #2154 „Operation not supported“ doing a chmod on a symlink
- #2159 Remove unused component tests
- #2161 Crash caused by memory corruption
- #2169 Stack overflow when parallel-readdir is enabled
- #2180 CID 1446716: Memory – illegal accesses (USE_AFTER_FREE) /xlators/mg
- #2187 [Input/output error] IO failure while performing shrink operation w
- #2190 Move a test case tests/basic/glusterd-restart-shd-mux.t to flaky
- #2192 4+1 arbiter setup is broken
- #2198 There are blocked inodelks for a long time
- #2216 Fix coverity issues
- #2232 „Invalid argument“ when reading a directory with gfapi
- #2234 Segmentation fault in directory quota daemon for replicated volume
- #2239 rebalance crashes in dht on master
- #2241 Using readdir instead of readdirp for fix-layout increases performa
- #2253 Disable lookup-optimize by default in the virt group
- #2258 Provide option to disable fsync in data migration
- #2260 failed to list quota info after setting limit-usage
- #2268 dht_layout_unref() only uses ‚this‘ to check that ‚this->private‘ i
- #2278 nfs-ganesha does not start due to shared storage not ready, but ret
- #2287 runner infrastructure fails to provide platfrom independent error c
- #2294 dict.c: remove some strlen() calls if using DICT_LIST_IMP
- #2308 Developer sessions for glusterfs
- #2313 Long setting names mess up the columns and break parsing
- #2317 Rebalance doesn’t migrate some sparse files
- #2328 „gluster volume set group samba“ needs to include write-b
- #2330 gf_msg can cause relock deadlock
- #2334 posix_handle_soft() is doing an unnecessary stat
- #2337 memory leak observed in lock fop
- #2348 Gluster’s test suite on RHEL 8 runs slower than on RHEL 7
- #2351 glusterd: After upgrade on release 9.1 glusterd protocol is broken
- #2353 Permission issue after upgrading to Gluster v9.1
- #2360 extras: postscript fails on logrotation of snapd logs
- #2364 After the service is restarted, a large number of handles are not r
- #2370 glusterd: Issues with custom xlator changes
- #2378 Remove sys_fstatat() from posix_handle_unset_gfid() function – not
- #2380 Remove sys_lstat() from posix_acl_xattr_set() – not needed
- #2388 Geo-replication gets delayed when there are many renames on primary
- #2394 Spurious failure in tests/basic/fencing/afr-lock-heal-basic.t
- #2398 Bitrot and scrub process showed like unknown in the gluster volume
- #2404 Spurious failure of tests/bugs/ec/bug-1236065.t
- #2407 configure glitch with CC=clang
- #2410 dict_xxx_sizen variant compilation should fail on passing a variabl
- #2414 Prefer mallinfo2() to mallinfo() if available
- #2421 rsync should not try to sync internal xattrs.
- #2429 Use file timestamps with nanosecond precision
- #2431 Drop –disable-syslog configuration option
- #2440 Geo-replication not working on Ubuntu 21.04
- #2443 Core dumps on Gluster 9 – 3 replicas
- #2446 client_add_lock_for_recovery() – new_client_lock() should be called
- #2467 failed to open /proc/0/status: No such file or directory
- #2470 sharding: [inode.c:1255:__inode_unlink] 0-inode: dentry not found
- #2480 Brick going offline on another host as well as the host which reboo
- #2502 xlator/features/locks/src/common.c has code duplication
- #2507 Use appropriate msgid in gf_msg()
- #2515 Unable to mount the gluster volume using fuse unless iptables is fl
- #2522 ganesha_ha (extras/ganesha/ocf): ganesha_grace RA fails in start()
- #2540 delay-gen doesn’t work correctly for delays longer than 2 seconds
- #2551 Sometimes the lock notification feature doesn’t work
- #2581 With strict-locks enabled clients which are holding posix locks sti
- #2590 trusted.io-stats-dump extended attribute usage description error
- #2611 Granular entry self-heal is taking more time than full entry self h
- #2617 High CPU utilization of thread glfs_fusenoti and huge delays in som
- #2620 Granular entry heal purging of index name trigger two lookups in th
- #2625 auth.allow value is corrupted after add-brick operation
- #2626 entry self-heal does xattrops unnecessarily in many cases
- #2649 glustershd failed in bind with error „Address already in use“
- #2652 Removal of deadcode: Pump
- #2659 tests/basic/afr/afr-anon-inode.t crashed
- #2664 Test suite produce uncompressed logs
- #2693 dht: dht_local_wipe is crashed while running rename operation
- #2771 Smallfile improvement in glusterfs
- #2782 Glustereventsd does not listen on IPv4 when IPv6 is not available
- #2789 An improper locking bug(e.g., deadlock) on the lock up_inode_ctx->c
- #2798 FUSE mount option for localtime-logging is not exposed
- #2816 Glusterfsd memory leak when subdir_mounting a volume
- #2835 dht: found anomalies in dht_layout after commit c4cbdbcb3d02fb56a62
- #2857 variable twice initialization.
Quelle: 10.0 – Gluster Docs
Interessiert in verschiedenste IT Themen, schreibe ich in diesem Blog über Software, Hardware, Smart Home, Games und vieles mehr. Ich berichte z.B. über die Installation und Konfiguration von Software als auch von Problemen mit dieser. News sind ebenso spannend, sodass ich auch über Updates, Releases und Neuigkeiten aus der IT berichte. Letztendlich nutze ich Taste-of-IT als eigene Dokumentation und Anlaufstelle bei wiederkehrenden Themen. Ich hoffe ich kann dich ebenso informieren und bei Problemen eine schnelle Lösung anbieten. Wer meinen Aufwand unterstützen möchte, kann gerne eine Tasse oder Pod Kaffe per PayPal spenden – vielen Dank.