連載 [第2回] :
徹底比較!! Linux & Windows ファイルサーバ編Samba & Windows、機能詳細比較
2004年12月14日(火)
ファイル/プリントサーバ機能
機能 |
Samba 3.0 |
Windows Server 2003 |
ユーザ/グループによる容量制限 |
◎ ディレクトリ単位 にも対処可能 |
○ |
論理ボリュームマネージャ |
○ Linux OSに依存 |
○ |
ボリュームシャドーコピー(スナップショット)機能 |
○ ただし、Linux側でXFSを 搭載している必要有り |
○ NTFS必須 |
ゴミ箱機能 |
○ |
× |
マッキントッシュ連携 |
○ Netatalkをインストール することで可能 |
○ マッキントッシュサービスをインストールすることで 可能 |
UNIX NFS連携 |
○ カーネルレベルによる OPLOCK連携可能 |
○ Service for UNIXをインストールすることで可能 |
ユーザホーム機能 |
○ |
× |
MS-DFS(ルートおよびサブディレクトリ) |
○ |
|
MS-DFS Proxy |
○ |
|
ACL機能(ユーザ/グループによるアクセス制御) |
○ Linux OSに依存 |
○ NTFS必須 |
ホスト名によるアクセス制御 |
○ |
× |
日本語ディレクトリ/ファイル名 |
○ |
|
READ権のないファイルを見えなくする |
○ |
× |
WRITE権のないファイルを見えなくする |
○ |
× |
ユーザモジュールによる共有機能の拡張・カスタマイズ |
○ 標準で監査機能、ウィルスチェックなどを搭載。 1つの共有に複数のモジュールがロード可能。 |
○ WINAPIでユーザが 作成可能 |
同一サーバに複数のNetBIOS名を付ける |
○ smb.confで容易に 指定可能 |
△ レジストリ変更が必要でサポート対象外 |
スプールしながらの印刷 |
× |
○ |
PDFライター機能 |
○ GhostScriptとの連携 |
× |
プリンタドライバ配布機能 |
○ |
ファイル共有やプリンタ共有機能
ファイルサーバとしての機能はWindows Server 2003とほぼ同等であるが、カスタマイズの容易性やパフォーマンス、信頼性といった面ではSambaの方がむしろ優秀だ。特に最近はウィルス対策ということでファイルサーバをSambaにするユーザが増えており、ウィルスやウォームに感染しないということで大幅なTCO削減につながるであろう。加えてREAD権やWRITE権のないファイルを見えなくしたり、ホスト(IPアドレス)でアクセス制御できるなど、セキュリティ機能の面でもSambaの方が優秀だ。
容量制限
LinuxもWindowsも、ユーザやグループによる容量制限機能(QUOTA機能)を持っている。通常はディレクトリ単位で容量制限をかけることはできないのだが、Sambaの「force user」「force group」といった強制ユーザ切り替え機能を使うことで、ディレクトリ単位で容量制限をかけることが可能だ。
論理ボリュームマネージャ
LVM(論理ボリュームマネージャ)を使うことで、ディスク増設時の柔軟なファイルシステムの拡張やスナップショット機能などが実現できる。Samba3.0からはWindows Server 2003でサポートされたVSS(ボリュームシャドーコピー)も使えて、大変便利になっている。
ゴミ箱機能
Sambaがサポートするゴミ箱機能は、ユーザが誤って削除してしまったファイルを復活させる機能だ。Windowsでは有償ソフトになるのだが、Sambaでは標準でこの機能が利用できる。
マッキントッシュ/UNIX連携
SambaでNAS的な使い方をする場合、Sambaの共有フォルダをマッキントッシュ/UNIXにも提供したいという要求は高い。WindowsでもSFU(Service for UNIX)などを導入することで簡単に実現できる。
この場合のSambaの優位性(というよりむしろLinuixの優位性)は、UNIX/Linuxとのファイル共有機能NFSのパフォーマンスがかなり違うということだ。WindowsのNFS機能はパフォーマンス的に問題になることが多く、LinuxのNFSはカーネル標準機能のためUNIXと同等のパフォーマンスを提供する。
ユーザホーム機能
Linux/UNIXでユーザに提供されるユーザホーム(通常は「/home/username」)を、Windowsユーザに対しても「\\サーバ名\ユーザ名」で提供する機能だ。他の人には見えない個人専用フォルダ(他人にアクセスさせることも可能)を提供する機能であり、WindowsにはないSambaの優位性のひとつだ。
MS-DFS、MS-DFS Proxy
複数のサーバを仮想的な一台に見せる「MS-DFS(分散ファイルシステム)」は、SambaでもWindowsでも利用できる。もちろんWindowsとSambaを混在させることも可能だ。ひとつのDFSツリー(共有)に複数台のサーバを割り付け、負荷分散や障害時の代替パスとして利用することができる。また、あるサーバの共有フォルダを別なサーバの共有フォルダへリダイレクトする「MS-DFS Proxy」もSamba 3.0ではサポートしている。
ACL機能(アクセス・コントロール・リスト)
WindowsのNTFSと同等のACL機能をSambaでは従来からサポートしているが、利用できるかどうかは、OSのファイルシステムがサポートしているかどうかに依存していた。
SolarisやHP-UXでは以前からサポートしていたので利用できていたが、LinuxではKernel 2.6から標準採用であり、MIRACLE LINUXなどはXFSなどをサポートすることでこのACL機能を提供している。ACL機能をサポートしたXFSやEXT3を利用することで、SambaでもACL機能が利用できる。
共有のアクセス制御
共有のアクセス制御に関してSambaはWindowsと同等のACLを使ったアクセス制御ができるが、さらにマクロやIPアドレス、ホスト名を使ったアクセス制御も行える。Windowsではホスト名やIPアドレスによるアクセス制御ができないので、こうした面ではSambaの方が高機能といえるだろう。
日本語ファイル名
Samba2.2では日本語のコード変換機能をSamba日本語版としてSamba内部に保持していたため、どのOSの上で動かしてもちゃんと日本語が利用できた。しかしSamba3.0からは、OSが持つICONV関数を利用するようになったので、Linuxの場合glibc-2.3.3以降(もしくはCP932パッチが適用されたGLIBC)を持っていないとSambaで日本語が利用できない。
また、たとえOSがICONV関数を持っていても、ICONVの「CP932(マイクロソフト社独自の文字コードページ)」変換機能に問題がある場合は、正しく日本語を扱えない。具体的にいうと、問題のないGLIBCを提供しているのは下記の製品となっている。(Red Hat Linux 9以前のものには問題がある。)
- MIRACLE LINUX V3.0
- Red Hat Enterprise Linux 3.0
- Fedora Core
- MIRACLE LINUX V2.1
- Vine Linux 3.0
LIBICONVとGLIBC |
最近のLinuxはGLIBCが標準でICONV関数を持っているため、LIBICONVはインストールされていないものがほとんどだ。GLIBCが旧いディストリビューション上において、Samba3.0で日本語を使うにはGLIBCを最新化する方法もあるが、GLIBCをディストリビューションが配布しているもの以外に変更するのは大変危険なので一般の方はやらない方がいいだろう。 この場合はCP932に対応したLIBICONVをインストールして利用しよう。しかし、LIBICONVを利用するときはSambaのコンパイルオプションに明示指定する必要があるので、注意して欲しい。 |
Samba3.0では、smb.confに「dos charset = CP932」というパラメータを指定し、unix charsetパラメータで指定したコードを使って以下の日本語パラメータを記述できる。
- 共有名
- プリンタ名
- 共有やプリンタの説明(コメント)
- NetBIOS(コンピュータ)名
もちろん日本語ファイル名(日本語ディレクトリ名)にも対応している。(ファイルの中身の漢字コード変換機能や改行コード変換機能は持っていない)
マクロ機能
Sambaには設定ファイルに記述するパラメータをマクロといわれるもので記述できる。例えばSambaにアクセスしてきたユーザ名を%u、グループ名を%g、コンピュータ名を%mというように指定できる。これを使うことでユーザ毎やグループ毎に見える共有を変えたり、Sambaの動きを変えることができる。こうした機能を使ってSambaではWindowsにはない柔軟な運用を可能にしている。
hide unreadable / hide unwriteable files
WindowsにはなくSambaだけが持つ機能としては、ユーザが書き込み権限を持たないファイルを見せなくする「hide unwriteable files」という機能と、ユーザが読み込み権限を持たないファイルを見せなくする「hide unreadable」という機能がある。(共有配下のフォルダやファイルに対して機能する。共有自体を見せなくする機能ではない)
同一サーバに複数のNetBIOS名を付ける
サーバを移行する場合や複数サーバを1台に統合する場合など、1台のサーバに複数の別名をつけて運用したいことがあるが、Sambaではこれが容易に実現できる。さらにマクロ機能と組み合わせることでアクセスするサーバ名で共有の見え方を変えたりとWindowsではできないことが可能である。
ファイルサーバとして見た場合、SambaはNASアプライアンスと比較されることも多い。実際いろいろなNAS製品のベースとしてSambaが利用されている。NASアプライアンスはSamba2.2と比べると下記の点に優位性があった。
- ACL(アクセス制御機能)をサポート
- 1テラバイトを超える大規模ファイルシステムの性能
- スナップショット機能(オンラインバックアップ)
- GUIの運用管理機能
だが、Samba 3.0とLVM(論理ボリュームマネージャ)、XFS(ACLやスナップショット機能をサポート)を利用することで、現在ではNASアプライアンスに負けない高機能ファイルサーバを低価格で構築することが可能になった。
連載バックナンバー
Think ITメルマガ会員登録受付中
Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。