Windows Server 2003 R2 整合異質性檔案系統 作者 : 蘇建榮審稿 : 劉聖路文章編號 :M061105602 出刊日期 :2006/11/10 2006 年 11 月份 本文難易程度 : 易 難 相關資源與開發工具 : 1. Windows Server 2003 R2 2. TechNet 文章簡介 : 市場上應用程式與資料庫系統的多樣化, 因應公司成長的需求, 公司將面臨整合及擴充既有的系統 以目前一家公司的網路作業系統, 不在只是單一的 Windows 系統或 UNIX 系統 Windows 網路與 UNIX Like 網路資源共享的原則下, 使用者應可隨時隨地存取 Windows 系統和 UNIX 系統中的資料 藉由不同的程式 不同的界面彼此互相存取, 以管理者的角度來看可是一項挑戰, 異質性網路系統之間的管理, 使用者的帳戶管理及驗證, 使用者存取界面的不同 本期將介紹如何藉由 Windows Server 2003 R2 中的新功能 NFS (Network File System), 已達到在 Windows 系統或 UNIX 系統間檔案系統的共享 CIFS 在 Windows 的環境下, 使用者的電腦藉由 CIFS (Common Internet File) 或 SMB (Service Message Block) 的協定存取網路上伺服器所分享的資料夾 如此一來不僅僅只是將資源分享於網路的使用者, 使之可存取伺服器上的資料 因為資料集中在伺服器上, 管理者可專注於伺服器上的檔案系統安全, 集中控管存取權限的管理 相對的在 UNIX 的環境使用者藉由 NFS (Network File System) 的協定存取網路上 NFS 伺服器所匯出的資料夾 發行人 : 劉致宏總編 : 張智凱主編 : 劉聖路社務顧問 : 邱世萍編輯顧問 : 屠立剛吳翠鳳許俊龍職念文趙驚人林國龍唐任威張宏義邱顯智美術設計 : 魏吉芝張鈴玉陳淑娟行銷企劃 : 曹雅瑩陳秀慧許克臻李苾芬發行服務 : 謝佩珊蔡美雲發行所 : 毅達行銷顧問服務股份有限公司客戶服務 : service@msservermag.com.tw 本電子刊物之所載標誌名稱分屬各該公司所有, 非經授權請勿轉載使用, 版權所有 如經查證依法律追訴 1
NFS 什麼是 NFS (Network File System)? 對使用微軟作業系統的使用者可能比較陌生,NFS (Network File System) 早在 1984 年昇陽公司 (Sun Microsystem) 所開發, 希望藉由 NFS (Network File System) 將 UNIX 主機上的檔案系統分享給其它的 UNIX 主機來使用, 經由主從的架構 NFS 伺服器將一個或多個資料夾匯出 (export) 分享, 匯出分享時可根據 NFS 用戶端主機的 IP 位址, 控管所指定的 NFS 用戶端主機的存取權限, 權限可簡單的分為唯讀或可讀可寫兩類,NFS 用戶端使用掛載 (mount) 將遠端 NFS 伺服器所匯出的資料夾掛載在本端的檔案系統目錄中,NFS 用戶端存取此掛載點時, 經由遠端程序呼叫 RPC (Remote Procedure Call) 執行遠端連線, 存取 NFS 伺服器上的檔案系統資料 這麼看來要讓使用者可隨時隨地存取 Windows 系統和 UNIX 系統中的資料, 可藉由 IFS 和 NFS 兩種協定達到 兩種系統加上兩種協定的排列組合下有四種方法 : 方法一 : 在 Windows 作業系統的工作站中加裝 NFS Client 存取 UNIX 環境中的 NFS 伺服器上的資料 方法二 : 在 UNIX 作業系統的工作站中加裝 Samba Client 存取 Windows 環境中的伺服器上所分享的資料 方法三 : 在 Windows 作業系統伺服器上加裝 NFS Service 讓 UNIX 環境中的工作站存取 方法四 : 在 UNIX 作業系統伺服器上加裝 Samba Service 讓 Windows 環境中的工作站存取 2
輔助說明 :SAMBA 又是什麼東東? 難道是巴西的 SAMBA 舞蹈嗎! ㄡ非也 SAMBA 是 UNIX Like 系統上的軟體套件, 此套件包括三個主要元件,SMB 通訊協定 SMB 用戶端 SMB 伺服端 藉由 SMB 通訊協定也可以達成在 Windows 系統或 UNIX 系統間檔案系統的共享 以方法一和方法三的做法只要安裝設定更改 Windows 的環境就可以達到整合異質性系統間檔案系統共用的目標, 在 Windows Server 2003 R2 內建有 Microsoft service for Network File System (NFS) 服務, 同時支援 NFS 伺服端及用戶端, 此服務可說是 Microsoft service for UNIX 3.5 的改良版本, 增加以下新的功能 : 支援 64 位元 Windows 作業系統版本 更新的 MMC 嵌入管理單元工具 增進可靠性 支援 UNIX 特殊的裝置 (mknod) 困擾, 減少不必要的記憶 實作使用方法一環境介紹有一台 Fedora Core 4 的 Linux 主機扮演 NFS 伺服器, 已將本機目錄中的 /data/sales-data 和 /data/hr-data 匯出, 存取權限的設定 /data/sales-data 為唯讀,/data/hr-data 為可讀可寫 請自行參考 UNIX 手冊設定 NFS 的設定檔, 我以 Fedora Core 4 的版本舉例說明,NFS 的設定檔在 /etc/exports 設定內容如下 : /etc/sales-data *(ro,sync,insecure) /etc/hr-data *(rw,sync,insecure) /etc/exports 格式說明匯出分享的目錄路徑主機名稱或 IP 或網路位址 ( 選項 1, 選項 2, ) /etc/sales-data 代表匯出分享的目錄路徑 * 代表所有主機 ro 代表唯讀 rw 代表可讀可寫 sync 代表資料同步寫入 insecure 代表允許來自大於埠號 1024 的連線 習慣於視窗操作的朋友, 首先開啟 X 視窗, 點 桌面 \ 系統設定 \ 伺服器設定 \NFS 開啟 NFS 伺服器設定工具, 新增 修改 刪除所需匯出分享的本機目錄 如圖所示 : 3
接下來我們來看 Windows 作業系統該如何扮演成 NFS 的用戶端存取在 Fedora Core 4 NFS 伺服器上的資料, 操作步驟如下 : 預設在 Windows 2003 Server R2 中並未安裝 NFS 服務的元件, 所以我們先到 Control Panel \ Add or Remove Programs \ Add/Remove Windows Components\Other Network File And Print Services 點選 Detail 按鈕, 再勾選 Microsoft Services for NFS, 這個動作會安裝五個子元件 如圖所示 : 安裝 Microsoft Services for NFS 元件的過程會要求放入 Windows Server 2003 R2 的第二張光碟片 安裝完成後, 作業系統會自動啟動 Client for NFS 和 Server for NFS 兩種服務, 可經由下圖驗證 : 4
我們也可以開啟 NFS 管理工具, 點選 Administrative Tools \ Microsoft Services for Network File System 管理工具設定 Client for NFS 的內容, 包括 NFS 用戶端傳輸時所使用的通訊協定 掛載 NFS 伺服器分享資料的方式 讀取和寫入資料時的緩衝區大小及新增檔案和資料夾的預設權限 接下來就是用戶端該如何存取 NFS 伺服器的資料呢? 最簡單的方法莫過於直接開啟網路上的芳鄰, 瀏覽整個網路就可看到 NFS Network, 在 Default LAN 中就可看到網路上的 NFS 伺服器, 那麼你就可以使用檔案總管開啟置放在 NFS 伺服器上的資料, 如果權限允許寫入就可以新增 修改 刪除檔案, 真是便利呢! 5
另外一種方式就是使用 mount 指令掛載 NFS 伺服器上的資料夾, 掛載伺服器的路徑可使用 一致命名慣例 (UNC) 格式輸入其名稱:\\nfsserver_name\share_name 或 UNIX server name:/export 的格式 mount 的指令語法如下 : mount [ -o Option[...]] [-u:username] [-p:password *] [{\\ComputerName\ShareName ComputerName:/ShareName}] [DeviceName *] 根據本練習環境, 舉例 : mount -o lang=big5 \\192.168.1.2\data\hr-data Z: mount -o lang=big5 192.168.1.2:/data/hr-data Z: 如要察看目前系統所有已掛載 NFS 的掛載點, 可直接執行 mount 指令 : 6
如果要卸載 NFS 的掛載點, 可執行 umount 指令,umount 的指令語法如下 : umount [-f] [{-a DriveLetter:[...] NetworkMount[...]}] 如果須要先行察看 NFS 伺服器所分享的資料夾, 也可執行 showmount 指令,showmount 的指令語法如下 : showmount { -e -a -d} [Server] 實作使用方法三 因已安裝 Microsoft Services for NFS 服務, 接下來我們來看 Windows 作業系統該如何扮演成 NFS 的伺服端讓 Linux Fedora Core 4 來存取 Windows 檔案系統的資料, 操作步驟如下 : 開啟 NFS 管理工具, 點選 Administrative Tools \ Microsoft Services for Network File System 管理工具設定 Server for NFS 的內容, 如圖所示 : 總共有四個設定頁, 包括 Server Settings Filename e Handling Locking Audit Logging 設定 目前 NFS 共有兩種版本,NFS v2 和 NFS v3 ; v2 版已被廣泛使用, 因此多數的作業系統皆支援 v2 版,Server for NFS 同時支援這兩種版本, 你可以設定停用 NFS v3, 只支援 NFS v2 7
在 UNIX 的環境, 檔案名稱是有區分大小寫的 檔案名稱以.為開頭的是被視為隱藏檔 檔案鎖住等待的週期秒數和 NFS 事件記錄的設定 : 接下來就是將資料夾分享給 NFS 用戶端存取使用了 那麼又該如何完成此項工作呢? 最簡單的方法還是莫過於直接檔案總管, 將資料夾中的資料分享給 NFS 用戶端所使用的工作站 開啟檔案總管, 設定資料夾的內容 ; 包括資料夾分享的名稱, 資料編碼方式, 是否允許匿名者登入存取及權限的設定 如下圖所示 : 8
我們使用 Linux Fedora Core 4 的電腦為用戶端, 使用 showmount 指令顯示 Windows 伺服器所分享的目錄 (Windows 伺服器的 IP 位址為 192.168.1.101), 使用 mount 指令掛載 NFS 伺服器的目錄, 接著使用 touch 指令在掛載點所在的 NFS 伺服器上產生一個空的檔案, 檔名為 file-1.txt 最後我們再到 Windows 的檔案系統中驗證 : 相同的, 另外一種方式就是使用 nfsshare 指令將 NFS 伺服器上的資料夾分享匯出 nfsshare 的指令語法如下 : nfsshare [-o Option=value...] ShareName=Drive:Path 根據本練習環境, 舉例 : nfsshare NFS-DATA=c:\NFS-DATA nfsshare o anon=yes encoding=big5 rw NFS-DATA=c:\NFS-DATA 9
如果需要察看目前有那些用戶端掛載 NFS 伺服器所分享的資料夾, 也可執行 showmount -a 指令 結論 : 經由 Windows Server 2003 R2 中的新功能 NFS (Network File System), 已達到在 Windows 系統或 UNIX 系統間檔案系統的共享 企業可藉此整合分散在異質性系統間的資料, 進而達到資料分享, 更可以結合使用 Windows 2003 Server 的新功能如磁碟區陰影複製 (Volume Shadow Copy) 來保存資料的複本, 更多的整合應用你可以自行去發掘 關於作者 蘇建榮 Alan Su 現任職恆逸資訊教育訓練處資深講師 專長 :Windows NT4.0 / 2000 / 2003 伺服器管理 Active Directory 規畫設計與導入管理 Windows Platform 大量部署 TCP/IP 網路規畫建置與管理 Windows Scripting WMI 管理應用程式開發 10