自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

對(duì)于NFS掛載的研究

網(wǎng)絡(luò) 網(wǎng)絡(luò)管理
文章中,我們隊(duì)NFS 掛載的內(nèi)容進(jìn)行了詳細(xì)的介紹。首先是建立根目錄,然后是文檔系統(tǒng)的解析……具體內(nèi)容請(qǐng)瀏覽正文。

對(duì)于NFS來(lái)說(shuō),它的一個(gè)非常重要的應(yīng)用就是掛載。在這方面我們來(lái)詳細(xì)探討一下。有些人, 想用NFS Root掛載, 來(lái)建立其客戶端的目錄, 這份 Mini-Howto,正是為了幫助這些人而寫的. 請(qǐng)注意, 這工作有許多方法可以達(dá)成, 端視你的需求與目的而定. 假如客戶端彼此獨(dú)立, 且每個(gè)客戶端各自有用戶群和管理員, 那么, 不和其他客戶端, 分享重要的目錄, 將是必須的.另一方面, 倘若客戶端, 計(jì)劃用于多種用戶, 并且全都由同一人管理(例如電腦課), 這種情形, 為了容易管理, 盡可能要使愈多文檔能夠分享. 這份 Howto 將焦點(diǎn)于第二種情況.

當(dāng)建立客戶端的根目錄, 并嘗試去降到最小尺寸時(shí), 我們主要焦點(diǎn)于, 哪個(gè)文檔可以分享, 或者可從伺服器掛上. 在這份 Howto 中, 我將依自己的經(jīng)驗(yàn), 對(duì)客戶端的組態(tài) (configuration), 提出建議. 但在我們開始前,  請(qǐng)注意:

* 這份 Mini-Howto 并沒有實(shí)際說(shuō)明, 如何掛載 NFS Root.如果你需要這方面的進(jìn)一步信息, 請(qǐng)參考 NFS-Root Mini-Howto.

* 我客戶端的組態(tài), 大多基礎(chǔ)于 mounts 和 symbolic links. 這些symbolic links, 大部份可取代為 hardlinks. 選擇哪種則隨個(gè)人喜好. 而在 mount 和 symbolic link 之間, 放置 hardlink 作聯(lián)系,這樣有其優(yōu)點(diǎn), 但或許會(huì)發(fā)生混淆. 一個(gè)文檔, 除非它的 hardlinks全都移除了, 否則將無(wú)法刪掉. 因此, 當(dāng)你更新了某個(gè)檔, 該檔的 hardlinks 仍會(huì)指到舊的版本, 為了避免這情形, 你必須非常小心, 并要維系好, 你所放置的每個(gè)連結(jié).

* 從伺服器掛上信息的方式, 有兩種. ***種 (最普遍), 是將整個(gè)伺服器的根目錄, 掛在本地端的目錄下, 然后只改路徑, 或直接連結(jié)相關(guān)的目錄. 就我而言, 我不喜歡把伺服器的 root partitions掛到客戶端上. 因此, 這份 Howto 建議一種方式, 把伺服器上相關(guān)的目錄, 掛到系統(tǒng)適當(dāng)?shù)奈恢?

* 這份 Howto 立論于, 我在 Slackware 3.1 based distribution 之上,建立客戶端目錄的經(jīng)驗(yàn). 對(duì)其他使用者來(lái)說(shuō), 可能會(huì)有地方不同 (尤其是 rc.* 這些檔), 然而觀念應(yīng)該仍舊不變.

建立客戶端的根目錄

1. 建立目錄樹

最初, 你需要建立目錄本身的架構(gòu). 我把所有的客戶端, 建在/clients/hostname 之下, 我拿它用于下面的例子. 不過, 這目錄也可改為其他路徑. 接著***階段, 是在這根目錄下, 建立相關(guān)的目錄. 你應(yīng)該建立下列目錄:bin, dev, etc, home, lib, mnt, proc, sbin, server, tmp, usr, var以及其他, 你可能想置于系統(tǒng)上的目錄.local, proc, dev 這些目錄, 每臺(tái)機(jī)器要各自一份, 而其余目錄,則是部分的, 或完整的, 和其他客戶端共享.

2. 建立開機(jī)所需, 最小的文檔系統(tǒng)

2.1. 建立 dev 目錄.

盡管目錄 dev 可以共享, 但***還是為每個(gè)客戶端, 各自建一個(gè).你可以用合適的 MAKEDEV scripts, 來(lái)建客端的 dev目錄, 不過大多數(shù)情況, 直接從伺服器復(fù)制, 比較簡(jiǎn)單:cp -a /dev /clients/hostname你應(yīng)記住, /dev/mouse, /dev/cdrom, /dev/modem 是 symbolic links,將連結(jié)至實(shí)際的設(shè)備, 因此, 你應(yīng)確保, 它們連結(jié)正確, 而符合客戶端的硬件.

2.2. 復(fù)制所需的執(zhí)行檔.

盡管我們從伺服器, 掛載每件東西, 但***限度, 我們還是需要把些東西, 拷到客戶端. 首先, 我們需要 "初始", 在初始化之前, 系統(tǒng)不可能跑任何東西 (雖然作者費(fèi)了許多工夫, 才發(fā)現(xiàn)到這件事 ;-).所以***, 你應(yīng)該把 /sbin/init 復(fù)制到客戶端的目錄 sbin 下, 這么一來(lái), 便會(huì)執(zhí)行 rc.S, 接著, 你應(yīng)復(fù)制 /bin/sh 到客戶端的目錄 bin 下.還有, 為了掛載所有東西, 你需要把 /sbin/mount 拷到客戶端的目錄 sbin 下. 假設(shè)你 rc.S 的***行是 mount -av, 那這就是***限度了. 然而, 我建議再多拷些檔: update, ls, rm, cp, umount, 如此一來(lái),客戶端掛載時(shí)若出問題, 就有基本工具可用了. 假如你選擇在掛載前啟動(dòng) swap, 那你還應(yīng)復(fù)制執(zhí)行檔 swapon.因?yàn)檫@些執(zhí)行檔, 多數(shù)預(yù)設(shè)為動(dòng)態(tài)連結(jié), 所以你也需復(fù)制等份的 /lib:cp -a /lib/ld* /lib/libc.* /lib/libcursses.* /client/hostname/lib應(yīng)考慮, 若不用復(fù)制, 而是 hardlink 至執(zhí)行檔本身的情形. 請(qǐng)讀我對(duì)這所作的評(píng)語(yǔ), 在這份 Howto 的 2.1 節(jié).請(qǐng)注意, 上述所有資料, 是假設(shè)開機(jī)時(shí), 網(wǎng)路組態(tài)的參數(shù)已傳給核心. 如果你打算用 rarp 或 bootp 的話, 與這些相關(guān)的執(zhí)行檔, 你也可能需要.一般而言, 你需要的文檔, 最少要使你能設(shè)定網(wǎng)路以及跑 rc.S, 直到開始掛上文檔系統(tǒng)的其他部分. 確定你檢查過, 你的 /etc/init 以及 rc.S 檔, 確定它們沒有任何的 "驚喜", 這是指, 在***次掛載前,發(fā)生存取其他文檔的狀況. 然而, 倘若你真的發(fā)現(xiàn)有這樣的檔, 你可以也拷過來(lái), 或是從你的 init 檔和 rc.S 檔, 移除相關(guān)的部分.

2.3. 目錄 var

大多數(shù)情況下, 目錄 var 應(yīng)該, 每個(gè)客戶端各別一份. 可是, 目錄 var 的資料大多都能共享. 請(qǐng)?jiān)谒欧鞯哪夸浵? 建一目錄,稱作 var. 我們將在那, 掛上伺服器的 var 目錄. 要建立本地端的var 目錄, 直接鍵入:cp -a /var /clients/hostname/現(xiàn)在, 你可選擇, 何者要區(qū)隔開, 何者要共享. 要共享的目錄或文檔,要先從客戶端的 var 目錄中, 把它移除, 再把它 symbolic link 至目錄 /server/var. 不過請(qǐng)注意, 你應(yīng)該 symbolic link 至 /server/var 或../server/var, 而非 /clients/hostname/server/var, 因?yàn)檫@么做, 當(dāng)根目錄(指 /clients/hostname/) 更動(dòng)后, 將會(huì)失效.一般而言, 我建議隔開 /var/run, /var/lock, /var/spool, /var/log.

2.4. 其余的目錄

* etc 在下節(jié)有完整說(shuō)明.

* mnt 與 proc 用于本地端.

* usr 和 home 僅為掛載點(diǎn) (mount points).

* tmp 隨你決定. 你可以為每個(gè)客戶端, 各別建立不同的 tmp 目錄,也可以建些 /clients/tmp 目錄, 然后把它掛到每個(gè)客戶端的 /tmp之下. 我建議你為每個(gè)客戶端, 各別提供一 tmp 目錄.

3. 建立 etc 目錄, 并設(shè)定客戶端的組態(tài)

請(qǐng)注意 - 本節(jié)是談, 建立目錄 etc, 此目錄大多共享于客戶端之間. 假如你哪些無(wú)磁盤的客戶端, 各有不同的系統(tǒng)管理員, 那***為每個(gè)客戶端, 各自設(shè)立一 etc 目錄.

3.1. 建立多個(gè)客戶端共用的 etc 目錄

雖然我們隔開客戶端之間的 etc 目錄, 不過我們?nèi)韵朐谀? 分享大部分的文檔. 一般而言, 我認(rèn)為, 和伺服器的 /etc 目錄, 共享 etc檔, 這樣不好, 因此我建議, 開個(gè)目錄 /clients/etc, 容納客戶端所需的信息. 這樣一開始, 只要把伺服器的 etc 目錄內(nèi)容, 復(fù)制到/clients/etc 目錄下即可.

你應(yīng)該把所有非硬件規(guī)格的組態(tài)檔, 如 motd, issue 等, 全都加進(jìn)這個(gè)目錄, 而不應(yīng)加入會(huì)隨客戶端硬件而異的文檔. (例如, initab或是 fstab)最重大的改變, 是在你的 rc.d 目錄里. 首先, 你應(yīng)該調(diào)整 rc.inet1,以適宜于你本地端的設(shè)定. 我透過 LILO/Loadlin, 把我網(wǎng)路組態(tài)的所有參數(shù), 都傳給核心, 因此我?guī)缀跻瞥?rc.inet1 檔的每一行.唯一留下的, 是 localhost 的 ifconfig 和 route. 假如你是用 rarp 或是 bootp, 那你就必須視情況而改.

其次, 你應(yīng)該編輯你的 rc.S 檔. 首先, 移除所有會(huì)導(dǎo)致 fsck 檢查的部分, 這是因?yàn)樗欧鏖_機(jī)時(shí), 會(huì)啟動(dòng) fsck. 接著, 你應(yīng)該把掛載你 fstab 的那一行找出來(lái). 這應(yīng)該看起來(lái)像:

  1. mount -avt nonfs 

-t nonfs 在這, 是因?yàn)檎5目蛻舳? 先跑 rc.S, 緊接著以 rc.inet1來(lái)組設(shè) Ethernet. 由于這會(huì)導(dǎo)致, 不掛載任何的 NFS partitions,所以這行應(yīng)該刪掉. 因此, 把它改成 mount -av. 倘若你需要跑rarp/bootp 來(lái)設(shè)定你網(wǎng)路的組態(tài), 那就在掛載前, 在 rc.S 作這件事(或者從 rc.S 呼叫適當(dāng)?shù)?script), 并且確定你磁盤的 bin 和 sbin目錄, 提供所需的文檔.#p#

執(zhí)行完 mount -av, 你就有個(gè)運(yùn)作中的文檔系統(tǒng)了. 建個(gè)一般的fstab, 這樣稍后你便可, 把它復(fù)制到每個(gè)客戶端. 你的 fstab 應(yīng)該看起來(lái)像:

  1. server:/clients/hostname    /               nfs     default  1 1  
  2. server:/bin                 /bin            nfs     default  1 1  
  3. server:/usr                 /usr            nfs     default  1 1  
  4. server:/sbin                /sbin           nfs     default  1 1  
  5. server:/home                /home           nfs     default  1 1  
  6. server:/lib                 /lib            nfs     default  1 1  
  7. server:/clients/etc         /server/etc     nfs     default  1 1  
  8. server:/clients/var         /server/var     nfs     default  1 1  
  9. none                        /proc           proc    default  1 1 

請(qǐng)注意, 關(guān)鍵字 default 或許不會(huì)有效于所有不同版本的掛載. 你可以把它更改為 rw 或 ro, 或者移除全部的 default 1 1.再者, 確定你伺服器的 /etc/exports, 看起來(lái)像:

  1. /clients/hostname   hostname.domainname(rw,no_root_squash)  
  2. /clients/etc        hostname.domainname(ro,no_root_squash)  
  3. /clients/var        hostname.domainname(ro,no_root_squash)  
  4. /usr                hostname.domainname(ro,no_root_squash)  
  5. /sbin               hostname.domainname(ro,no_root_squash)  
  6. /bin                hostname.domainname(ro,no_root_squash)  
  7. /lib                hostname.domainname(ro,no_root_squash)  
  8. /home               hostname.domainname(rw,no_root_squash) 

對(duì)每臺(tái)主機(jī)而言, ***行應(yīng)該各自獨(dú)立, 除此之外, 其他行可替換為主機(jī)遮罩 (hostmask), 使你所有的主機(jī)都能相契 (如 pc*.domain -然而要記住, * 只能代換沒有句點(diǎn)的字串). 我建議你, 讓大部分的目錄唯讀, 不過這由你決定. no_root_squash 將確保使用者 root,在客戶端上, 對(duì)于 nfsd 實(shí)際也有 root 權(quán)限. 請(qǐng)查證 man exports(5).

假如你要讓使用者, 也能從客戶端執(zhí)行 passwd, 那請(qǐng)確定 /etc 可讀可寫 (rw) 而非唯讀 (ro). 不過, 這并不明智.請(qǐng)注意另一件, 有關(guān)文檔 rc.S 的事. 在 Slackware 執(zhí)行 rc.S, 預(yù)設(shè)會(huì)每次都建立新的 /etc/issue 和 /etc/motd. 假如這些檔從伺服器掛載為唯讀 (ro), 那這個(gè)功能一定要停用, 而且我建議, 在任何情況都應(yīng)停用.

***, 如果你伺服器, 要和客戶端一樣, 擁有相同的使用者資料庫(kù) (userbase), 你應(yīng)在下列兩種方式作選擇,

1) 使用 NIS (YellowPages - 請(qǐng)參考 yp-howto), 這樣, 接收自 NIS 伺服器之故, 每個(gè)客戶端都會(huì)各自有 /etc/passwd 以及 /etc/group.

2) 大多數(shù)情況, 簡(jiǎn)單的 symbolic link 就夠了. 因此, 你需要 hardlink /clients/etc/passwd到 /etc/passwd, 或者你喜歡用 symbolic link 的話, 那就把 /etc/passwd連結(jié)到 /clients/etc/passwd (反過來(lái)說(shuō), 這是因?yàn)榭蛻舳瞬⒉粧燧d伺服器的 etc 目錄). 至于 /etc/group, 方法也一樣.

3.2. 建立單一客戶端專用的 etc 目錄

一般而言, 在客戶端的 etc 中, 文檔大部分應(yīng)該 symbolic link 到目錄 /server/etc. 然而, 有些文檔應(yīng)隨每臺(tái)硬件的差異, 而彼此不同,而有些只在載入核心時(shí)才用到. 目錄 etc 中, 你最少需要的檔, 如下:

  1. resolv.conf  
  2. hosts  
  3. inittab  
  4. rc.d/rc.S  
  5. fstab 

既然這五個(gè)檔, 在所有客戶端都可以相同, 你可以直接把它們hardlink, 或者再?gòu)?fù)制一次. 不過, rc.S 與 fstab 兩檔, ***是每個(gè)客戶端各復(fù)制一份. 你還需要每個(gè)客戶端, 各自一份 etc/HOSTNAME.我個(gè)人是建議, 所有的 rc.d 檔, 每個(gè)客戶端都要各自有一份, 因?yàn)榻M態(tài)和硬件可能彼此相異.為每個(gè)客戶端, 把適當(dāng)?shù)?swap 行, 加入其 fstab 檔:

  1. /dev/swap_partition                 swap    swap    default  1 1 

客戶端其余的 /etc 檔, 你可以 hardlink 到文檔 /clients/etc/*, 或把它們 symbolic link 到 /server/etc (這是 /clients/etc/ 的掛載點(diǎn)).確定你的主機(jī)能正確的 resolve, 無(wú)論是透過 named 還是 etc/hosts.在 etc/hosts 中記錄伺服器的 IP, 而不倚賴 resolve, 這方式不錯(cuò). 假如你只倚賴 named 的 resolve, named 出了個(gè)問題, 將使你客戶端無(wú)法開機(jī).

3.3. 開機(jī)

現(xiàn)在, 你該作的就是, 開機(jī), 十指交叉, 期望每件事都正常運(yùn)作。

4. 建立更多的客戶端

如果你已跟著我的指示, 作到這里, 那這應(yīng)該很簡(jiǎn)單 - cd 到 /clients,鍵入:

  1. cp -a hostname1 hostname2 

然后, 確定你檢查了這幾點(diǎn):rc.d/* 檔符合軟硬件組態(tài)etc/HOSTNAME 正確, fstab 的 swap 行正確, dev/mouse, dev/modem,dev/cdrom 這三個(gè)的 symbolic links 正確.

責(zé)任編輯:佟健 來(lái)源: 比特網(wǎng)
相關(guān)推薦

2010-08-04 14:43:03

NFS掛載

2010-07-16 17:56:18

CMD Telnet

2010-08-04 14:33:42

自動(dòng)掛載nfs

2010-08-04 14:22:55

掛載NFS

2010-08-04 14:45:18

NFS掛載腳本

2010-08-04 17:41:52

掛載NFS

2019-05-08 13:18:22

Linux網(wǎng)絡(luò)文件系統(tǒng)系統(tǒng)運(yùn)維

2013-07-30 10:29:07

SUSE LinuxNFS

2010-07-15 10:24:25

Microsoft T

2010-06-21 13:07:14

2010-01-15 15:13:28

C++概述

2010-02-03 15:52:02

Python學(xué)習(xí)研究

2010-09-10 11:27:07

WCDMA核心網(wǎng)絡(luò)協(xié)議棧

2009-12-03 14:53:49

.NET Framew

2009-12-24 15:51:34

ADO屬性

2009-12-24 10:28:07

WPF動(dòng)態(tài)換膚

2009-09-08 15:06:45

NFS服務(wù)器

2010-09-02 10:50:55

CISCO路由器dhc

2009-12-22 09:25:57

ADO.NET3.5

2009-11-27 16:25:54

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)