Windows 共有をマウントできない問題について

[本ドキュメントの対象となる製品]

Asianux Server 4 for x86 (32bit)

Asianux Server 4 for x86_64 (64bit)

[概要]

Kernel のバージョン kernel-2.6.32-431.11.2.el6 において Windows 共有をマウントできない問題が発見されました。

下記 [影響の有無の確認方法] を行い、影響のある Kernel を使用している場合は、本ドキュメントの [解決方法] を行ってください。

[詳細]

NetBIOS サービス (Port 139) のみで接続を待ち受けている Windows 共有をマウント(mount.cifs)することができず、/var/log/messages に以下のメッセージが記録されます。ダイレクト・ホスティング SMB サービス (port 445) でも接続を待ち受けている場合には、優先してそちらを用いますので本問題は発生しません。

 

May 2 08:12:13 localhost kernel: ------------[ cut here ]------------
May 2 08:12:13 localhost kernel: WARNING: at fs/cifs/transport.c:312 smb_send_rqst+0x236/0x280 [cifs]() (Tainted: G W --------------- )
May 2 08:12:13 localhost kernel: Hardware name: XXXXXXXXXX
May 2 08:12:13 localhost kernel: Send length mismatch(send_length=72 smb_buf_length=2164260932)

[影響の有無の確認方法]

下記手順にて、OS と Kernel のバージョンを確認し、【対応表】にて影響の有無を確認してください。

 

SMB クライアント側の確認方法

 

1. OS のバージョンを確認してください。

 

# cat /etc/asianux-release
Asianux Server 4 (Hiranya SP3)

 

2. uname コマンドで kernel のバージョンを確認してください。

 

# uname -a
Linux localhost.localdomain 2.6.32-431.11.2.el6.x86_64 #1 SMP Thu Mar 27 18:06:36 ICT 2014 x86_64 x86_64 x86_64 GNU/Linux

 

【対応表】

OS Kernel のバージョン 本問題の影響
Asianux Server 3 - なし
Asianux Server 4 2.6.32-358.14.1.el6 以下 なし
  2.6.32-431.11.2.el6
(リリース日 : 2014/04/24)
あり
  2.6.32-431.17.1.el6 以降 なし

 

SMB サーバ側の確認方法(AXS 4 の場合のみ確認しております)

 

1. samba がインストールされていることを確認してください。

 

# rpm -qa | grep samba
samba4-libs-4.0.0-55.AXS4.rc4.x86_64
samba-common-3.6.9-151.AXS4.1.x86_64
samba-winbind-clients-3.6.9-151.AXS4.1.x86_64
samba-client-3.6.9-151.AXS4.1.x86_64
samba-3.6.9-151.AXS4.1.x86_64
samba-winbind-3.6.9-151.AXS4.1.x86_64

 

2. samba が接続待ち受けしているポート番号を確認してください。

以下のように tcp の Port 445 で待ち受けている SMB サーバでは問題は発生しません。

 

# netstat -anp | grep smbd
tcp 0 0 :::139 :::* LISTEN 7515/smbd
tcp 0 0 :::445 :::* LISTEN 7515/smbd
unix 3 [ ] STREAM CONNECTED 20900 7515/smbd

 

Windows 等、他の OS を SMB サーバとして利用している場合には、それぞれの OS でのポート番号の確認方法に従ってください。

[解決方法]

本問題を修正したカーネル (kernel-2.6.32-431.17.1.el6 以降) へアップデートするか、問題の発生しないカーネル (kernel-2.6.32-431.11.2.el6 より前) に戻してください。

 

<アップデート手順>

以下、カーネル関連のパッケージを *2.6.32-431.17.1.el6 にアップデートする手順です。

 

1. 以下の Web サイトからパッケージをダウンロードします。

 

https://tsn.miraclelinux.com/tsn_local/index.php?m=errata&a=detail&eid=3829

 

2. kernel、kernel-firmware、kernel-devel パッケージについては、rpm コマンドの -i オプションを使用して、古いバージョンのカーネルを残してインストールします。(※1)

 

# rpm -ihv kernel-2.6.32- 431.17.1.el6* kernel-firmware-2.6.32-431.17.1.el6.noarch

 

kernel-devel パッケージがインストールされている場合には、一緒にインストールしてください。

 

3. 残りのパッケージを rpm コマンドの -U オプションを使用して適用します。

 

# rpm -Uhv ./*2.6.32-431.17.1.el6*

 

4. 再起動します。

 

# reboot

 

※1 問題の発生するカーネル (2.6.32-431.11.2.el6) が不要の場合には、以下の方法で削除することが可能です。

 

# rpm -e kernel-2.6.32-431.11.2.el6*

 

kernel-devel パッケージがインストールされている場合には、同様の方法で削除することが可能です。

 

<ダウングレード手順>

以下、カーネル関連のパッケージを kernel-2.6.32-358.14.1.el6 にダウングレードする手順です。

 

1. 以下の Web サイトからパッケージをダウンロードします。

 

https://tsn.miraclelinux.com/tsn_local/index.php?m=errata&a=detail&eid=3314

 

2. ダウンロードしたパッケージを rpm コマンドでインストールします。

 

# rpm -Uhv --oldpackage ./*2.6.32-358.14.1.el6*

 

3. 再起動します。

 

# reboot

 

なお、本問題については kernel-2.6.32-431.17.1.el6 で修正済みですが、セキュリティの観点からも最新版の使用を推奨します。

 

最新の kernel パッケージは以下の Web サイトよりご確認ください。

 

Asianux Technical Support Network - エラータ

https://tsn.miraclelinux.com/tsn_local/index.php?m=errata&a=published

[参考 URL]

Bug 1068862 - Updated kernel will no longer mount CIFS mounts

https://bugzilla.redhat.com/show_bug.cgi?id=1068862

[注意事項]

本ドキュメントは、各ソフトウェア開発元の情報およびマニュアル等を元にした参考情報です。

本ドキュメントの内容は、予告なしに変更される場合があります。

 

本ドキュメントは、限られた評価環境における検証結果をもとに作成しており、全ての環境での動作を保証するものではありません。

本ドキュメントの内容に基づき、導入、設定、運用を行なったことにより損害が生じた場合でも、弊社はその損害についての責任を負いません。あくまでお客様のご判断にてご使用ください。

[更新履歴]

2014年 5月 9日 新規作成

2014年 9月12日 [解決方法] に修正カーネルへのアップデート方法を追加