goo blog サービス終了のお知らせ 

ttt

getttyent

(FreeBSD) bacula-fdが ERR=Cannot allocate memory というエラーを出す

2014-11-17 22:37:22 | デジタル・インターネット

どういう条件で発生するのか、これまでよくわからなかったのですが、baculaでバッグアップをとっている最中に、bacula-fd(Baculaのクライアント)が、こんなエラーを出すことがあります。

DATE BACULA-FD JobId 9999: Error: bsock.c:427 Write error sending 46858 bytes to Storage daemon:SERVER:9103: ERR=Cannot allocate memory
DATE BACULA-FD JobId 9999: Fatal error: backup.c:1200 Network send error to SD. ERR=Cannot allocate memory
DATE BACULA-SD JobId 9999: Fatal error: append.c:223 Network error reading from FD. ERR=Broken pipe

baculaのバッグアップジョブを実行するたびに、エラーが出るタイミングは変化します(エラーがでるまでに書き込んだデータ量が、ころころ変わる)。

Cannot allocate memoryというエラーメッセージは、baculaの中で作った文字列ではなくて、strerror()で帰ってくるメッセージっぽい。

ということは、もしかすると、Bacula固有のエラーではなくて、FreeBSD一般の問題???と思いまして、ネット検索。

すると、こんな情報が見つかりました。

http://lists.freebsd.org/pipermail/freebsd-stable/2011-July/063228.html
http://lists.freebsd.org/pipermail/freebsd-emulation/2011-July/008962.html

どうやら、VirtualBoxが動いていると、ネットワーク関係の処理でCannot allocate memoryが出るらしい、みたいな話。

思い当たるところがあります。

bacula-fdでCannot allocate memoryが出るホストでは、VirtualBoxが動いています。そして、これまで仮想マシンの数が1個だったのを、最近、2~3個に増やしました。

ためしに、仮想マシンを1個だけにしてから、baculaのバックアップジョブを実行してみたら、正常終了しました。

ん~、VirtualBoxが原因?

netgraphがなんとやら、という話も出ていて、loader.confで、net.graph.maxdata=65536 とか設定をしてみたら直った、とかいう・・・

今はちょっと再起動できないサーバなので、それを試して確認することはできないのですが、一応、loader.confに書くだけ書いてみました。



 

 


コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。