ページへ戻る

− Links

 印刷 

Samba設定で悩む のソース :: Nest Of Hawk

xpwiki:Samba設定で悩むのソース

« Prev[3]  
[[Gentoo Linuxな生活/サーバ設定関連]]

*Windowsとの共有 [#u9536653]
いまやWindowsとの共存共栄は避けては通れません。なぜかってーと、実は私もデスクトップはWindowsだから。最近Gentooとマルチメディアの2面攻撃を仕掛けていますが、Linuxの進化には目を見張ります。すばらしい事だと思います。ほんとーに。WindowsとLinuxを比べたら、お金に対して出来ることはLinuxの方が間違いなく多い。サーバからクライアントまで。しかもリソースの活用に対しても、無駄だらけなWindowsと比べてLinuxの方が優れていますね。でも、でもなんです。Linuxは手間っくいですね。ほんとに。まぢで。あえてオリジナルでモノを作りたいからやってますけど、単なるクライアントパソコンを作るだけならWindowsの方が早い。しかもゲームやマルチメディアな用途だと、圧倒的にWindowsの方が強いですね。~
だからLinuxとWindowsは上手な住み分けが重要だと思っている訳です。Microsoftは好きじゃー無いけど、誰にでも使いやすいモノを作るコツは十分心得ている無視できない存在ではあるでしょうね。~
で、目標の、TVでも、PCでも何時でも何処でもなユビキタスな環境作りにはマルチメディアなクライアントOSとの共存はプリミティブとして用意しておかなきゃいけまへん。ネットワーク上のファイルサーバですね♪

*さてインストール [#r65851c1]
 emerge -b samba

終了ー、とはいかせませんでした。まず、そのままでインストールされるバージョンは2.2.8aです。これだと日本語系が入っていません。3.0になると日本語を標準で扱えるようになります。ですがこれはまだMaskがかかっていますので、強引に開発版をインストールする必要があります。また、make.confでLDAPを無効にしている人以外は、LDAP用パッケージがインストールされてしまいます。これをとりあえず無効にしてやろうと。LDAPもチャレンジしようと思ってるのですが、実はまだ解っていないので。で、以下のようにします。

 ACCEPT_KEYWORDS="~x86" USE="-ldap" emerge -b samba

ACCEPT_KEYWORDSで~x86を指定すると、開発版Maskの指定を無視して、チャレンジャー環境をインストールしようとします。茨の道をたどる覚悟の人はmake.confに入れておくと良いでしょう。ですがこのPCはサーバ用途で、不安定にはしたくないのでsambaの1パッケージのみを対象にしたいと思います。

さて、ここでsamba3.0、実はすっげぇsmb.confの内容がかわっちゃってたりします。はぁ…日本語ファイルを見られるようにするための設定も含めてこんなかんじで。
 [global]
        dos charset = CP932    ←日本語の設定
        unix charset = EUCJP-MS  ←日本語の設定
        display charset = EUCJP-MS ←日本語の設定
        workgroup = FOO      ←ワークグループ
        netbios name = VAR     ←サーバ名
        server string = サーバ君   ←コメント
        obey pam restrictions = Yes
        pam password change = Yes
        log file = /var/log/samba/log.%m
        max log size = 50
        socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
        printcap name = lpstat
        dns proxy = No
        ldap ssl = no
        invalid users = root
        hosts allow = XXX.XXX.XXX.0/255.255.255.0
        printing = cups
 
 [homes]
        comment = Home Directories
        read only = No
        browseable = No
 
 [video]
        comment = 共有場所
        path = 適当なパス
        force group = users
        read only = No
        create mask = 0774

日本語の設定だけ悩みましたが、あとは今までどおりでうまくいきました。あとはsmbpasswdを使ってアクセスしてくるユーザを登録するだけです。
 # smbpasswd XXXX
 New SMB password: ←Windowsで共有時に打つパスワード
 Retype new SMB password: ←もう一度

これでsmbを起動すればOKですね。
 /etc/init.d/samba start
 rc-update add samba default

これで終了です。アクセスできましたか?アクセスできないとすると共有場所のパーミッションが合ってない場合があります。良くありがちなのが、共有予定のディレクトリでls -alって打って、こうなってませんか?
 drwxr-xr-x    9 root     root         208  4月 27 02:41 . ←コレ
 drwxr-xr-x   17 root     root          408  4月 27 21:30 ..

一番左端がパーミッション。あとディレクトリの持ち主がrootになっていると、この例でははじかれてしまいます。usersグループの人ならアクセスできるようにするならば
 # chown root.users .
 # chmod 775 .
 # ls -al
 drwxrxr-x    9 root     users         208  4月 27 02:41 .
 drwxr-xr-x   17 root     root          408  4月 27 21:30 ..

となれば多分アクセスできるでしょう。

*Sambaパフォーマンス・チューニング [#j2c3a55c]
なんか、Windows共有ディスクの速度がおそーいなー、と思ったので、今回(2018/2/27)、パフォーマンス・チューニングを施してみました。

参考にしたのは、[[このページ:https://thinkit.co.jp/article/754/1?page=0%2C1]]とか[[このページ:https://wp.bmemo.pw/157]]とか。

**Sambaサーバ側 [#rfbec100]
まず、Sambaサーバの現在動作パラメータをみてみます。

 # testparm -v

で、結果から以下をみてみる。
 log level
 syslog
 socket options

ログの出力レベルや、ソケットオプションでかなり速度が変わるらしい。ポイントは、
-安定しているのであれば、ログを減らす
-ソケットオプションは、TCP_NODELAYだけにして、デフォルトに任せれば十分

てことらしい。ので、
 log level = 1
 syslog = 0
 socket options = TCP_NODELAY

これを、smb.confにカキカキします。もう一つは、プロトコルバージョンをより上位バージョンにあげてやる。上位バージョンの方が、速度的に有利だそうです。Windows8.1以降だと、smb2が使用可能。うちはWindows10のみなので、割り切ってこうしちゃいます。
 min protocol = smb2
 max protocol = smb3
 security = user

**クライアント側 [#vc15548b]
Windows側で、レジストリエディタ Regeditを起動して、以下を変更します。
 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\TcpipParameters\Interfaces

その中でDhcpIPAddressに値が入っているもの(0.0.0.0以外)を探しだして

編集 -> 新規 -> DWORD を選択

キー名を「TcpAckFrequency」にして値を1にします。

**結果 [#i135f47a]
すご~い。うちでは、それまで500Mbps位が上限だったのですが、800~900Mbpsの、Gigabitの上限ぐらいまで速度がでるようになりました。一番効いたのはログレベルかな。是非お試しあれ~。

« Prev[3]