[Gluster-users] Graceful shutdown doesn't stop all Gluster processes

Ronny Adsetts
2024-02-07T17:23:42Z

If I might chip in here, this can cause an issue when rebooting nodes unless you
make sure to stop the Gluster processes first. If you don't stop the
processes, then the Gluster volumes can pause for the default 42 seconds(?)
until the other nodes time out the rebooting node. This is of course long enough
to cause any VMs running their volumes on gluster to show I/O errors and
re-mount them as read-only potentially causing all sorts of mischief.

I *think* there's a systemd solution to this somewhere, perhaps the RedHat
packages?, that does stop the gluster processes prior to a reboot or halt.

Certainly the Debian packages *don't* have this solution in place. I wish
they did but I've never mastered enough systemd foo to sort if out myself.
:-).

Ronny


Aravinda wrote on 05/02/2024 19:09:
> Hi Anant,
>
> It was intentional design decision to not stop any gluster processes if
Glusterd need to be upgraded or if Glusterd crashes. Because of this Volume
availability will not be affected if any issues with Glusterd or Glusterd is
upgraded. All the mounts will reconnect once the Glusterd comes back up. CLI
operations from that node may not be available but IO will not be affected if
the Glusterd is down (New mounts can't be created, but existing mounts
should work without Glusterd).
>
> stop-all-gluster-processes.sh is available as part of installation, it can
be used to stop all the processes (Check in /usr/share/glusterfs/scripts)
>
> --
> Thanks and Regards
> Aravinda
> Kadalu Technologies
>
>
>
> ---- On Mon, 05 Feb 2024 22:40:30 +0530 *Anant Saraswat <anant.saraswat
at techblue.co.uk>* wrote ---
>
>     Hello Everyone,
>
>
>     I am using GlusterFS 9.4, and whenever we use the systemctl command to
stop the Gluster server, it leaves many Gluster processes running. So, I just
want to check how to shut down the Gluster server in a graceful manner.
>
>
>     Is there any specific sequence or trick I need to follow? Currently, I
am using the following command:
>
>
>     [root at master2 ~]# systemctl stop glusterd.service
>
>     [root at master2 ~]# ps aux | grep gluster
>     root ? ? 2710138 14.1 ?0.0 2968372 216852 ? ? ? ?Ssl ?Jan27 170:27
/usr/sbin/glusterfsd -s master2 --volfile-id
tier1data.master2.opt-tier1data2019-brick -p
/var/run/gluster/vols/tier1data/master2-opt-tier1data2019-brick.pid -S
/var/run/gluster/97da28e3d5c23317.socket --brick-name /opt/tier1data2019/brick
-l /var/log/glusterfs/bricks/opt-tier1data2019-brick.log --xlator-option
*-posix.glusterd-uuid=c1591bde-df1c-41b4-8cc3-5eaa02c5b89d --process-name brick
--brick-port 49152 --xlator-option tier1data-server.listen-port=49152
>     root ? ? 2710196 ?0.0 ?0.0 1298116 11544 ? ? ? ? Ssl ?Jan27 ? 0:01
/usr/sbin/glusterfs -s localhost --volfile-id shd/tier1data -p
/var/run/gluster/shd/tier1data/tier1data-shd.pid -l
/var/log/glusterfs/glustershd.log -S /var/run/gluster/1ac2284f75671ffa.socket
--xlator-option *replicate*.node-uuid=c1591bde-df1c-41b4-8cc3-5eaa02c5b89d
--process-name glustershd --client-pid=-6
>     root ? ? 3730742 ?0.0 ?0.0 288264 14388 ? ? ? ? ?Ssl ?18:44 ? 0:00
/usr/bin/python3 /usr/libexec/glusterfs/python/syncdaemon/gsyncd.py
--path=/opt/tier1data2019/brick ?--monitor -c
/var/lib/glusterd/geo-replication/tier1data_drtier1data_drtier1data/gsyncd.conf
--iprefix=/var :tier1data --glusterd-uuid=c1591bde-df1c-41b4-8cc3-5eaa02c5b89d
drtier1data::drtier1data
>     root ? ? 3730763 ?2.4 ?0.0 2097216 35904 ? ? ? ? Sl ? 18:44 ? 0:09
python3 /usr/libexec/glusterfs/python/syncdaemon/gsyncd.py worker tier1data
drtier1data::drtier1data --feedback-fd 9 --local-path /opt/tier1data2019/brick
--local-node master2 --local-node-id c1591bde-df1c-41b4-8cc3-5eaa02c5b89d
--slave-id eca32e08-c3f8-4883-bef5-84bfb89f4d56 --subvol-num 1 --resource-remote
drtier1data --resource-remote-id 28f3e75b-56aa-43a1-a0ea-a0e5d44d59ea
>     root ? ? 3730768 ?0.7 ?0.0 ?50796 ?9668 ? ? ? ? ?S ? ?18:44 ? 0:02 ssh
-oPasswordAuthentication=no -oStrictHostKeyChecking=no -i
/var/lib/glusterd/geo-replication/secret.pem -p 22 -oControlMaster=auto -S
/tmp/gsyncd-aux-ssh-ep7a14up/75785990b3233f5dbbab9f43cc3ed895.sock drtier1data
/nonexistent/gsyncd slave tier1data drtier1data::drtier1data --master-node
master2 --master-node-id c1591bde-df1c-41b4-8cc3-5eaa02c5b89d --master-brick
/opt/tier1data2019/brick --local-node drtier1data --local-node-id
28f3e75b-56aa-43a1-a0ea-a0e5d44d59ea --slave-timeout 120 --slave-log-level INFO
--slave-gluster-log-level INFO --slave-gluster-command-dir /usr/sbin
--master-dist-count 1
>     root ? ? 3730795 ?1.1 ?0.0 1108268 55596 ? ? ? ? Ssl ?18:44 ? 0:04
/usr/sbin/glusterfs --aux-gfid-mount --acl --log-level=INFO
--log-file=/var/log/glusterfs/geo-replication/tier1data_drtier1data_drtier1data/mnt-opt-tier1data2019-brick.log
--volfile-server=localhost --volfile-id=tier1data --client-pid=-1
/tmp/gsyncd-aux-mount-9210kh43
>     root ? ? 3772665 ?0.0 ?0.0 ?12208 ?2400 ? ? ? ? ?S ? ?18:51 ? 0:00
rsync -aR0 --inplace --files-from=- --super --stats --numeric-ids
--no-implied-dirs --existing --xattrs --acls --ignore-missing-args . -e ssh
-oPasswordAuthentication=no -oStrictHostKeyChecking=no -i
/var/lib/glusterd/geo-replication/secret.pem -p 22 -oControlMaster=auto -S
/tmp/gsyncd-aux-ssh-ep7a14up/75785990b3233f5dbbab9f43cc3ed895.sock
drtier1data:/proc/897118/cwd
>     root ? ? 3772667 ?0.0 ?0.0 ?44156 ?5640 ? ? ? ? ?S ? ?18:51 ? 0:00 ssh
-oPasswordAuthentication=no -oStrictHostKeyChecking=no -i
/var/lib/glusterd/geo-replication/secret.pem -p 22 -oControlMaster=auto -S
/tmp/gsyncd-aux-ssh-ep7a14up/75785990b3233f5dbbab9f43cc3ed895.sock drtier1data
rsync --server -logDtpAXRe.LsfxC --super --stats --numeric-ids --existing
--inplace --no-implied-dirs . /proc/897118/cwd
>
>     For now, We are using
https://github.com/gluster/glusterfs/blob/master/extras/stop-all-gluster-processes.sh?to
kill all the remaining processes.
>
>     Thanks,
>     Anant
>
>
>     DISCLAIMER: This email and any files transmitted with it are
confidential and intended solely for the use of the individual or entity to whom
they are addressed. If you have received this email in error, please notify the
sender. This message contains confidential information and is intended only for
the individual named. If you are not the named addressee, you should not
disseminate, distribute or copy this email. Please notify the sender immediately
by email if you have received this email by mistake and delete this email from
your system.
>
>     If you are not the intended recipient, you are notified that
disclosing, copying, distributing or taking any action in reliance on the
contents of this information is strictly prohibited. Thanks for your
cooperation.
>
>     ________
>
>
>
>     Community Meeting Calendar:
>
>     Schedule -
>     Every 2nd and 4th Tuesday at 14:30 IST / 09:00 UTC
>     Bridge: https://meet.google.com/cpu-eiue-hvk
>     Gluster-users mailing list
>     Gluster-users at gluster.org
>     https://lists.gluster.org/mailman/listinfo/gluster-users
>
>
>
> ________
>
>
>
> Community Meeting Calendar:
>
> Schedule -
> Every 2nd and 4th Tuesday at 14:30 IST / 09:00 UTC
> Bridge: https://meet.google.com/cpu-eiue-hvk
> Gluster-users mailing list
> Gluster-users at gluster.org
> https://lists.gluster.org/mailman/listinfo/gluster-users
--

Ronny Adsetts
Technical Director
Amazing Internet Ltd, London
t: +44 20 8977 8943
w: www.amazinginternet.com

Registered office: 85 Waldegrave Park, Twickenham, TW1 4TJ
Registered in England. Company No. 4042957

-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.gluster.org/pipermail/gluster-users/attachments/20240207/267a7685/attachment.html>