Warning: Undefined variable $line_numbers in /usr/home/okiemadmina/public_html/wp-content/plugins/wp-code-highlight/wp-code-highlight.php on line 69
Warning: Undefined variable $line_numbers in /usr/home/okiemadmina/public_html/wp-content/plugins/wp-code-highlight/wp-code-highlight.php on line 69
Warning: Undefined variable $line_numbers in /usr/home/okiemadmina/public_html/wp-content/plugins/wp-code-highlight/wp-code-highlight.php on line 69
System plików ZFS pod względem swoich możliwości jest niesamowity! …zwłaszcza w systemie FreeBSD, którego domyślny filesystem pozostawia dużo do życzenia. Od kiedy po raz pierwszy produkcyjnie wdrożyłem tą parkę, jestem nią zachwycony i pewnie na łamach niniejszego bloga pojawi się na ten temat nieco więcej informacji. Dzisiejszy wpis dedykuje jednak konkretnemu problemowi. Sytuacja wygląda następująco: Masz wdrożony ZFS (którym pewnie tak jak ja jesteś zachwycony) i postanawiasz skorzystać niezwykle przydatnego rozwiązania jakim jest przesłanie systemu plików przez SSH. Tworzysz pulę na zdalnym serwerze, wymieniasz klucze i wpisujesz magiczne:
# zfs send -R storage@20151104 | ssh root@10.17.1.2 " zfs recv -vFdu hermes"
… z niecierpliwością czekasz na pełen sukces, a tu nagle po chwili:
> ssh: Write failed: Cannot allocate memory
Jeżeli korzystasz z netgraph’a – np. mając uruchomiony VPN via MPD lub zbierając netflow’s z interfejsów – to mam dla Ciebie dobrą wiadomość. Prawdopodobnie problem szybko rozwiążesz przez tuning jednej sysctl’ki. Niestety wartości tej nie można zmienić w trakcie pracy i wymagany będzie restart.
# echo 'net.graph.maxdata=4096' >> /boot/loader.conf
W przypadku serwerów na których zaobserwowałem ten problem ustawienie wartości 4096 zawsze okazywało się wystarczające. Jeżeli problem nadal występuje możesz spróbować zwiększyć wartość tego parametru jeszcze bardziej.