何でも書くよ!

福岡在住の会社員、「KJ」の散財しまくりブログ。山登り、温泉、ケータイ、カメラ、家電ネタなど
2

RockDiskNext カスタマイズ まとめ

RockDiskNextの記事をこれまで色々書いてきた。

今現在、どんな状態なのかを結論から書くと、

これまでの不調がウソのように「超安定」。

まとめとして、過去記事と比較して、変更した点を記載する。

TCP Segmentation Offload(Generic Segmentation Offload)
samba
openssl
設置場所の変更
終わりに


■TCP Segmentation Offload(Generic Segmentation Offload)


この修正が一番効果があったと思われる。ethtoolでパラメータをよく見てみると、

$ ethtool -k eth0
Offload parameters for eth0:
Cannot get device flags: Operation not supported
Cannot get device GRO settings: Operation not permitted
rx-checksumming: on
tx-checksumming: on
scatter-gather: off
tcp-segmentation-offload: off
udp-fragmentation-offload: off
generic-segmentation-offload: on ★
generic-receive-offload: off
large-receive-offload: off

generic-segmentation-offloadが有効になっている。これを無効化する。

$ sudo ethtool -K eth0 rx off tx off tso off gso off

RockDiskNext起動時に有効にさせるため、/etc/rc.localにも同様の修正。

/usr/bin/nas-tr -d /etc/nas >/dev/null 2>&1 &
touch /var/lock/subsys/local
swapon -a

/sbin/ethtool -K eth0 rx off tx off tso off gso off

さらに、自前で作っていたスクリプトを毎朝5時にcronで動かしていたのだが、
そのスクリプトにethtoolコマンドを入れ忘れていたので、以下のように修正。

$ cat /etc/ifdown_up.sh
#!/bin/sh

ifdown eth0 && ifup eth0
ethtool -K eth0 rx off tx off tso off gso off

Windows10側も念のためTSOが無効化されていることを確認。
コマンドプロンプトにて、「netsh int ip show offload」を実行し、
何も表示されなければOK。

show_offload.png


■samba


前回の記事を書いた後、しばらく安定していたが、また不安定となった。
以前も試したのだが、RockDiskNextを工場出荷時に戻してみた。(サポートページ

工場出荷時に戻ったはずなので、またtelnetか・・・と思い、telnetで接続するも
つながらない。結果、telnetは無効化されたままで、sshが生きたまま。
他の設定もほぼそのままだったが、smb.confの設定は工場出荷時に戻り、
他にも、nmbを無効化していたのも戻っていた。

この工場出荷に戻す機能、ちゃんと機能しているのか、超怪しい。

現状、sambaの設定は工場出荷時のままにしている。


■openssl


hkatoさまからコメントを頂き、RedSleeveで提供されているパッケージを導入した。

http://ftp.linux.org.uk/pub/linux/arm/fedora/
pub/fedora/linux/releases/12/Everything/arm/os/Packages/


make-3.81-18.fc12.armv5tel.rpm

http://ftp.redsleeve.org/pub/el6/latest/base/RPMS/

openssh-5.3p1-112.el6.armv5tel.rpm
openssh-server-5.3p1-112.el6.armv5tel.rpm
libssh2-1.4.2-1.el6.1.armv5tel.rpm
openssh-clients-5.3p1-112.el6.armv5tel.rpm

http://ftp.redsleeve.org/pub/el6/latest/updates/RPMS/

openssl-1.0.1e-42.el6.4.armv5tel.rpm

上記パッケージを入手しインストール。

$ sudo rpm -Uvh *
Preparing...         ########################################### [100%]
  1:make             ########################################### [ 17%]
  2:openssl          ########################################### [ 33%]
  3:openssh          ########################################### [ 50%]
  4:libssh2          ########################################### [ 67%]
  5:openssh-clients  ########################################### [ 83%]
  6:openssh-server   ########################################### [100%]



■設置場所の変更


以前はWG1200HPに接続していたのだが、先般、導入したBHR-4GRV2に接続した。
これによって、宅内は無線接続区間を除いて、有線LANはほぼ100%Gigabit化。

 myNetwork.jpg

この際、RockDiskNextにつないでいたLANケーブルを変えたので効果があったのかも。
もしくは、WG1200HPへの接続が不安定だったのかもしれない。
(事実、WG1200HPは何度も有線LANの接続向上のファームウェアアップデートが出ている。)


■終わりに


あまりにも不安定で、synolgyやQNAPのNASを物色していたが、
安定稼働してくれたので、とりあえず一安心。

iodataさま、アップデータ等公開しませんか?もしくはSDKを出してもらえませんかね。
有志の方々がいろいろ直してくれると思いますけど。
ソース公開できない(GPL違反)とか、上場企業としてありえない。

スポンサーサイト
0

RockDiskNext カスタマイズ (7) 最終回 - cron

※自己責任でお願いいたします。
 本記事の内容より、新しい変更内容をまとめた記事があります。
 こちら

RockDiskNextのsamba不調問題。

ここまで、いろいろやってみたが、結局よくならず。
LANケーブルも新調したが、やっぱり変わらない。

ふとした時、定期的にネットワークのリスタートをしてみたら、と思いついた。

定期的な処理をさせるのにもってこいなのはcron。
だが、RockDiskNextには入っていない。

以前も書いたが、以下のサイトからパッケージが入手可能。


http://ftp.linux.org.uk/pub/linux/arm/fedora/
pub/fedora/linux/releases/12/Everything/arm/os/Packages/


依存関係を含め、下記をインストールする。

$ sudo rpm -Uvh cronie-1.4.3-2.fc12.armv5tel.rpm cronie-noanacron-1.4.3-2.fc12.armv5tel.rpm crontabs-1.10-31.fc12.noarch.rpm cyrus-sasl-2.1.23-2.fc12.armv5tel.rpm hesiod-3.1.0-16.armv5tel.rpm procmail-3.22-25.fc12.armv5tel.rpm sendmail-8.14.3-8.fc12.armv5tel.rpm
Preparing...         ########################################### [100%]
  1:procmail         ########################################### [ 14%]
  2:hesiod           ########################################### [ 29%]
  3:cyrus-sasl       ########################################### [ 43%]
  4:sendmail         ########################################### [ 57%]
  5:cronie           ########################################### [ 71%]
  6:cronie-noanacron ########################################### [ 86%]
  7:crontabs         ########################################### [100%]

つづいて、ifdownとifupを行うスクリプトを用意しておく。
適当に/etc/ifdown_up.shとした。

$ cat /etc/ifdown_up.sh
#!/bin/sh

ifdown eth0 && ifup eth0

このスクリプトをcronで毎朝5時に実行させるよう、/etc/crontabを以下のように編集。

$ cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * command to be executed
00 5 * * * /etc/ifdown_up.sh

crontabを設定。

$ sudo crontab /etc/crontab

crondを動かす。

$ sudo chkconfig crond on
$ sudo /etc/init.d/crond start
Starting crond:                  [ OK ]

設定後は/var/log/messagesに以下のようなログが吐かれている。

Apr  5 05:00:01 NAS CROND[4425]: (root) CMD (/etc/ifdown_up.sh )

この設定を入れた後は、安定稼働が続いている。
だいぶ悩まされたが、これで様子を見てみる。

glibcの脆弱性とか出てきているが、もうアップデートはされないんだろうなぁ・・・
opensslがおかしいのも直して欲しいけど。

2

RockDiskNext カスタマイズ (6) - TSO無効化

※自己責任でお願いいたします。
 本記事の内容より、新しい変更内容をまとめた記事があります。
 こちら

RockDiskNextのsamba不調問題。

前回の記事から間が空いてしまったが、未だに不調は続き、
samba自体の設定、NetBIOS無効化等やってきたが軽減されるも、
大きな効果なし。。。

次は、インタフェース系を疑ってみる。

挑戦者のBBSでTSO(TCP Segmentation Offload)を無効化する記事が
あったので試してみる。

クライアントのWindows10側は、レジストリエディタを開き、

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]

まで辿る。続いて、ここでDWORD 値(32bit)を新規作成、
名前を DisableTaskOffloadとし、値を1で保存する。

disable_TCPOffload.png

RockDiskNext側はethtoolコマンドで実行。

$ sudo ethtool -K eth0 rx off tx off tso off

上記実行後、設定を確認。tx off と rx off は効かないようだ。

$ ethtool -k eth0
Offload parameters for eth0:
Cannot get device flags: Operation not supported
Cannot get device GRO settings: Operation not permitted
rx-checksumming: on
tx-checksumming: on
scatter-gather: off
tcp-segmentation-offload: off
udp-fragmentation-offload: off
generic-segmentation-offload: on
generic-receive-offload: off
large-receive-offload: off

ethtoolで設定した内容はRockDiskNext再起動時には元に戻ってしまうので、
恒久化するために、/etc/rc.local へ以下のように記載を追加してやる。

/usr/bin/nas-tr -d /etc/nas >/dev/null 2>&1 &
touch /var/lock/subsys/local
swapon -a

/sbin/ethtool -K eth0 rx off tx off tso off

これでしばらく様子を見てみたが、我が家では残念ながら効果は??で、
現在起こっている現象に変化はなかった。

0

RockDiskNext カスタマイズ (5) - NetBIOS無効化

※自己責任でお願いいたします。

RockDiskNextのsamba調査の続き。

やっぱり解決したいSAMBAのエラーログ(酔いどれLinux狂[マニア])

上記のブログを見つけ、NetBIOSが悪さをしてるかも、
ということでNetBIOSを片っ端から止めてみる。

クライアントのWindows10側で、
ネットワーク接続のプロパティ→TCP/IPのプロパティ→詳細設定と辿り、
NetBIOSを無効化。

netbios_disable.png

RockDiskNext側でもNetBIOSがらみを無効化する。まずはsmb.confを修正。
修正内容については下記を参考にした。

Red Hat Enterprise Linux 4: リファレンスガイド 14章Samba(Redhat)

[global]
prefered master = no
domain master = no
os level = 0
local master = no
dns proxy = no
wins proxy = no

さらに、nmbdを停止させ、smbd再起動。

$ sudo chkconfig nmb off
$ sudo /etc/init.d/nmb stop
Shutting down NMB services:     [ OK ]
$ sudo /etc/init.d/smb restart
Shutting down SMB services:     [ OK ]
Starting SMB services:          [ OK ]

これで試してみる。あれ、つながらない。。。
いろいろ調べた結果、自爆していた。
前回のブログに記載したポート番号を修正する必要があった。
ついでに、もういっこオプション追加してsamba再起動。

[global]
smb ports = 445    #139から445に変更
disable netbios = yes

結論から言うと、少し、効果はあり、接続断の回数が減った。
しかし、完全ではなく、まだ切断してしまうことがある。

0

RockDiskNext カスタマイズ (4) - smb.confの修正

※自己責任でお願いいたします。

2016/04/05 追記。
smb.confの[global]に以下を追加。

keepalive = 0
deadtime = 5

情報を提供してくださった、たくさま、ありがとうございます。


ようやく環境が整ってきたので、調査に本腰。

/var/log/messagesを確認すると、Windows10のスリープ時と復帰時に
以下のログが出ているのが気になった。

lib/util_sock.c:539(read_fd_with_timeout)
lib/util_sock.c:1491(get_peer_addr_internal)
getpeername failed. Error was Transport endpoint is not connected
read_fd_with_timeout: client 0.0.0.0 read error = Transport endpoint is not connected.

これもググッて調べてみる。

LinuxTIPS – Sambaのgetpeername failed. Error was Transport endpoint is not connectedのエラー(m120's Blog)

を参考に、smb.confの以下のパラメータを修正してみる。

[global]
smb ports = 139
load printers = no
disable spoolss = yes

続いて、こちらのブログを参考にする。

sheevaplugでレグザリンク@42Z1(たんでーろぐ)

[global]
unix extensions = no
socket address =(RockDiskNextのIPアドレス)

この作業にあわせて、RockDiskNextを固定IPアドレスに変更した。

smbdとnmbdをリスタート。

$ sudo /etc/init.d/smb restart
Shutting down SMB services:     [ OK ]
Starting SMB services:          [ OK ]
$ sudo /etc/init.d/nmb restart
Shutting down NMB services:     [ OK ]
Starting NMB services:          [ OK ]

結果、我が家では効果なし・・・。エラーも消えなければ、
肝心のネットワークドライブが切れてしまう件も治らなかった。

根が深そうだ。

このカテゴリーに該当する記事はありません。
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。