Вам необходимо перезапустить rpcbind
после gluster volume set volume_name nfs.disable off
.
Ваша громкость будет такой:
Gluster process TCP Port RDMA Port Online Pid
------------------------------------------------------------------------------
Brick vol01:/tmp/teste 49197 0 Y 4321
Brick vol02:/tmp/teste 49197 0 Y 4619
NFS Server on localhost 2049 0 Y 4341
Self-heal Daemon on localhost N/A N/A Y 4349
NFS Server on ftp02-sp.dcdsr.local N/A N/A N N/A
Self-heal Daemon on ftp02-sp.dcdsr.local N/A N/A Y 4647
Task Status of Volume teste1
------------------------------------------------------------------------------
There are no active volume tasks
После того, как head -1
выполнит свою работу, он завершится независимо от того, удалось ли sort -nr
записать все данные в канал. Если sort
есть что еще написать и head
больше нет, то sort
получит SIGPIPE
.
Ничего не взрывается. Так работают трубы. Когда вы используете head
в канале, вас не должно удивлять, если предыдущая команда завершается из-за SIGPIPE
.
Простой тест с yes
вместоsort
:
$ set -o pipefail
$ yes | head -n 1
y
$ printf '%s\n' "$?" "${PIPESTATUS[@]}"
141 <- overall exit status
141 <- from `yes'
0 <- from `head'
Статус выхода — 141
и исходит из yes
.
Здесь показано, как отлаживать :путем изучения ${PIPESTATUS[@]}
.
Ожидаемое поведение. Используйте подоболочку вместоyes
(или в вашем случае вместо sort
), чтобы управлять статусом выхода этой части канала. Пример:
$ set -o pipefail
$ (yes; true) | head -n 1
y
$ printf '%s\n' "$?" "${PIPESTATUS[@]}"
0
0
0
Более сложная логика для подавления только141
:
(yes; e="$?"; [ "$e" -eq 141 ] && exit 0; exit "$e") | head -n 1