LINUX.ORG.RU
решено ФорумAdmin

Изменить max_block_size для nfsd

 , , ,


0

1

Есть такой параметр /proc/fs/nfsd/max_block_size.

~ $ cat /proc/fs/nfsd/max_block_size 
1048576

Можно сделать
echo 4000000 | sudo tee -a /proc/fs/nfsd/max_block_size
,
но только при выключенном сервере NFS.
Ибо
~ $ echo 4000000 | sudo tee -a /proc/fs/nfsd/max_block_size
4000000
tee: /proc/fs/nfsd/max_block_size: Device or resource busy

Делал следующее:
1а -
 ~ $ cat /etc/tmpfiles.d/nfsd.conf 
w /proc/fs/nfsd/max_block_size - - - - 4194304

1б - добавлял в /etc/conf.d/nfs rc_after=«systemd-tmpfiles-setup»

2а - делал local службу
 ~ $ cat /etc/local.d/nmbs.start
/usr/bin/echo 4000000 > /proc/fs/nfsd/max_block_size

2б - добавлял local в runlevel'ы boot и sysinit

Ничего не срабатывало.
Как же можно изменить этот параметр?


Перемещено hobbit из general

★★

Последнее исправление: Ololo_Trololo (всего исправлений: 2)
Ответ на: комментарий от Ololo_Trololo

Т.е. у тебя 6.16 или новее? В посте это не указано.

Ну и с этим параметром полный бардак: на каких-то страницах указано, что его можно менять с версии 5 что-то там, на каких-то, что с 6.16, на каких-то, вообще не пишут минимальный номер версии.

Подозреваю, что в данном случае, проще исходники скачать, и по ним разобраться, почему не меняется. Возможно, блок должен быть степенью двойки, или кратен другому числу.

Chiffchaff
()
Ответ на: комментарий от Chiffchaff

Т.е. у тебя 6.16 или новее?

Естественно.

Ну и с этим параметром полный бардак:

Точно он изменяется на 4194304, это 100%. Но чтоб его изменить, надо остановать NFS-сервер, а этого мне делать совсем неохото.

Ololo_Trololo ★★
() автор топика

Варианты быстрокостылей:
- отдельный init.d-файл с прописанной зависимостью для nfsd(курить rc_before или даже rc_want/rc_need)
- отказаться от автозапуска nfsd через openrc напрямую и запускать /etc/init.d/nfs вручную из local.d

А ну и в идеале - оформить багрепорт чтобы добавили конфигурируемый параметр для этого в /etc/conf.d/nfs и поправили init-скрипт

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 2)
Ответ на: комментарий от Pinkbyte

- отдельный init.d-файл с прописанной зависимостью для nfsd(курить rc_before или даже rc_want/rc_need)

делал же local в boot и sysinit.

- отказаться от автозапуска nfsd через openrc напрямую и запускать /etc/init.d/nfs вручную из local.d

Васче не вариант.

А ну и в идеале - оформить багрепорт чтобы добавили конфигурируемый параметр для этого в /etc/conf.d/nfs и поправили init-скрипт

Что-то мне каца, что никто этим заниматься не будет, ибо даже nfs-utils не бампят.

Ololo_Trololo ★★
() автор топика
Ответ на: комментарий от Ololo_Trololo

надо остановать NFS-сервер, а этого мне делать совсем неохото.

Быстро поднятое не считается упавшим. NFS клиенты просто переустановят соединения.

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

Сделал хак: добавил «/usr/bin/echo 4194304 > /proc/fs/nfsd/max_block_size» в /etc/init.d/nfs.

Перезапустил NFS-сервер и

 ~ $ cat /proc/fs/nfsd/max_block_size
4194304

Ololo_Trololo ★★
() автор топика
Последнее исправление: Ololo_Trololo (всего исправлений: 1)
Ответ на: комментарий от Ololo_Trololo

делал же local в boot и sysinit.

Если ты внимательно посмотришь на то, как работает local(обрати внимание на секцию depend, а конкретно на конструкцию «after *») - ты поймешь, что он для этого НЕ ПОДОЙДЕТ и нужен ОТДЕЛЬНЫЙ init.d-файл с прописанными зависимостями

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Ответ на: комментарий от Ololo_Trololo

Ну так тоже можно, главное не забывать теперь это при каждом апдейте делать(можно через post-install hook в portage автоматизировать в принципе). Вариант с собственным отдельным init.d-файлом и прописанными в нём зависимостями надежнее.

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Ответ на: комментарий от Pinkbyte

С учётом того, что у nfs-utils обновляю в своей репке, то пойдёт пока.

Ololo_Trololo ★★
() автор топика

С max_block_size = 4194304 стало пошустрее работать.

Ololo_Trololo ★★
() автор топика
Ответ на: комментарий от Ololo_Trololo

Но чтоб его изменить, надо остановать NFS-сервер, а этого мне делать совсем неохото.

ничего не случится при перезапуске, клиенты почти ничего не заметят

madcore ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.