• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 這是偶99年翻譯的SUN的網絡管理員(SA-387)的東東(7)

    發表于:2007-06-08來源:作者:點擊數: 標簽:
    今天好熱,心情也不錯! 第十二章 性能 調整的指導方針 目標 通過本章學習,你將能夠掌握: l回顧一下導致系統性能低劣的原因 l使用性能監視命令來發現性能瓶頸 l描述提高性能的辦法 介紹 本章大體的進行了識別和補救性能瓶頸的步驟。討論了如何使用性能監視

    今天好熱,心情也不錯!


    第十二章 性能調整的指導方針
    目標
    通過本章學習,你將能夠掌握:
    l 回顧一下導致系統性能低劣的原因
    l 使用性能監視命令來發現性能瓶頸
    l 描述提高性能的辦法
    介紹
    本章大體的進行了識別和補救性能瓶頸的步驟。討論了如何使用性能監視命令獲取對關鍵系統和網絡資源之間的關系的基本理解,來提高整體性能。
    提高NFS性能
    可以在客戶端和服務器端進行NFS性能的調整和測試。以下是提高NFS的客戶端和服務器的性能的指導方針,并解決通常的瓶頸。
    ——提高NFS服務器的性能
    ————nfsd
    回顧一下nfsd守護進程,它在服務器上為調度讀和寫需求提供內核線程。支持服務器所需的nfsd 內核線程對于好的客戶響應時間是非常重要的,如果必需的話,可以在腳本—— /etc/init.d/nfs.server中來調整。
    ————重傳
    NFS重傳發生在,當一個客戶端發送一個相同的請求給服務器時,這增加了服務器和網絡的負荷。使用 nfsstat 命令來檢查NFS的重傳。
    如果服務器不能提供足夠的NFS響應時間,使用命令: vmstat ,iostat ,和 sar 來決定服務器是否已經超負荷。如果可能的話,查找內存,CPU, 磁盤的I/O瓶頸并解決它們。
    ——客戶端重傳
    ————慢速服務器
    一個慢速的NFS服務器可能會導致客戶端產生NFS重傳?;仡櫼幌?,過多的NFS重傳可能會導致“NFS server not responding”的錯誤信息。使用命令:nfsstat 來檢查NFS重傳(retrans和badxid的值會很大)。如果服務器很慢,而且服務器的性能不能提高,那么,在客戶端增加 time-out 的值。
    選擇一個新的 time-out 值是一個重復的過程。試用兩倍于默認值的量(默認值為1.1秒)并使用nfsstat 來觀察RPC的 time-out比率和badxid 的比率。調整 在客戶商的time-out值,直到客戶端的響應時間提高。
    在下面的例子中,timeo選項用來調整容納一個慢速的服務器在客戶端的 /etc/vfstab數據庫中。
    # device device mount FS fsck mount mount
    # to mount to fack point type pass at boot options
    #
    :
    serverA:/usr/dist - /usr/dist nfs yes timeo=10
    ————慢速的網絡和較遠的服務器
    回憶一下,如果所報告的 badxid的值遠遠小于 retrans 的值,這意味著NFS信息沒有到達服務器。這也可能是服務器被設置在不同的子網中,或者網絡慢。為了適應這些不同情況,傳輸的NFS信息的大小可以減少。
    在NFS版本2中,讀和寫的大小在客戶端的文件系統表中或映射中是可以改變的(最大值為8192,但,2048是一個很好的開始)。
    調整NFS的讀或寫大小直到可以察覺到NFS的客戶端的應答時間有了提高或通過使用 nfsstat 來查看的報告中重傳減少為止。
    以下的例子顯示了一個減少后的NFS的讀大小在客戶端文件 /etc/vfstab 來容納一個慢速的網絡。
    # device device mount FS fsck mount mount
    # to mount to fsck point type pass at boot options


    serverA:/usr/dist - /usr/dist nfs - yes resize=2048
    注意:如果使用NFS版本3,那么TCP協議將會自動的降低段大小一直到它適合通過”bad routers”。這是在路由器不支持 back-to-back的IP碎片時發行的,這些碎片是由NFS版本2的8k字節的讀和寫產生的。但,只有在客戶端使用UDP時,rsize/wsize會被設小來適應一個MTU,如512或1k字節。
    ——提高NFS客戶端的性能
    ————一致性檢查
    回憶一下,如果數據有效的存在于本地內存或緩存中,一個NFS客戶端將試圖避免發送對數據的請求。緩存一致性檢驗用來驗證只使用存儲在緩存中的數據的客戶,如果對在服務器上有相同的數據請求來說。
    客戶很少改變在服務器上的只讀文件系統如CD-ROM的存取,由客戶執行的緩存一致性的校驗頻率可以被減少,如果客戶掛上了一個靜態服務器系統。避免不必要的緩存一致性校驗來減少網絡傳輸和服務器負荷。此外,因為本地緩存數據的即刻使用使得數據存儲效率提高。
    使用nfsstat 命令來檢測高的 getattr 的值。Actimeo NFS 載入點選項(以秒來測試)可以增加到幾分鐘來避免不必要的緩存一致性校驗。
    下面的例子顯示了一個增加的NFS actimeo 選項在客戶端文件 /etc/vfstab 。
    # device device mount FS fack mount mount
    # to mount to fsck point type pass at boot options
    #

    serverA:/usr/dist - /usr/dist nfs - yes actimeo=900
    增強網絡性能
    主機必須限制共享的網絡帶寬。對所有需求網絡存取的主機來說,阻塞,繁忙的網絡可能導致嚴重的性能降低。
    ——網絡分割
    如果網絡的帶寬已經飽合,網絡分割可以幫助你?;仡櫼幌戮W絡的分割是在網絡層由路由器創建的子網加入來完成的。橋也可以在硬件層分割主機。
    分割網絡前要問你如下的一些步驟:
    l 網絡上有多重的傳輸?
    使用帶有參數 –i 的 netstat 命令來測定沖突和評估網絡負荷。
    l 有沒有客戶和服務器組同其它機器相互競爭?
    l 如果你使用子網,在公司內部它們是如何與其它網絡相連的?
    l 如果你使用一個橋,那么每一方應該有多少臺機器?
    使用snoop 命令來發現主機存取網絡的最大頻率。這些主機是從其它主機相分離出來的理想上的候選機。
    l 在同一個子網上,你混合了數據客戶的無盤客房端和獨立系統了嗎?
    我們已經學過,在Sun的環境里,網絡帶寬消耗最大的是NFS。在由無盤客戶端組成
    的網絡,所有NFS傳輸的80%起因于無盤客戶端的分頁活動屬性。通過仔細的配置無盤客戶端,分頁可以被降低,并釋放最大帶寬。
    提高系統性能
    提高系統性能,經常能夠相應的提高網絡和NFS性能。以下的例子,通過標識和解決通常的系統配置瓶頸來提高客戶和服務器的性能。
    ——提高客戶端性能
    ————無盤客戶端的配置
    內存瓶頸不止是導致系統性能低劣,也同時導致網絡性能降低。低內存導致了網絡上的交換活動,潛在的影響了網絡上的所有主機。
    l 使用命令:vmstat 和 sar 來檢查內存瓶頸。如果需要的話,增加物理內存。
    如果這是不可能的話,可以考慮增加一個本地磁盤配置作為客戶端的交換區。修改客戶端的文件:/etc/vfstab 使這個配置生效。
    # device  device mount FS fsck mount mount
    # to mount to fsck point type pass at boot option
    #

    /dev/dsk/c0t3d0s1 - - swap - no
    這將把無盤客戶端轉變成一個可交換的客戶端,通過在服務器上的客戶管理保持集中。
    ————進程
    進程運行在客戶端,消耗重要的系統資源(CPU,內存,和虛擬內存)。有一些進程可以被避免,可以釋放更多的資源給更重要的進程。
    l 使用 /usr/defaultrouter 或路由發現來創建一個默認的路由入口指出一個中央路由器。這避免了運行進程 in.routed 來管理本地的路由表。
    l 使用一個 NFS 郵件服務器來存儲帽郵箱,可以避免運行 sendmail 進程來管理電子郵件地址。
    ————tmpfs
    在一個安裝了很少內存的系統,和磁盤交換設備(如:16MB物理內存和32MB交換空間),通過在文件:/etc/vfstab中注釋適當的入口來禁用 tmpfs。
    # device device mount FS fsck mount mount
    # to mount to fsck point type pass at boot option
    #


    # swap - /tmp tmpfs - yes
    Processes that need to be swapped out can compete with data residing in tmpfs for swap space, and vice-versa.
     ——提高服務器性能
    提高服務器性能也經常能夠提高相應的NFS性能。以下的指導方針通過標識和解決通常的系統配置瓶頸來增強服務器的性能。
    ————內存
    內存在一個NFS服務器上是特別關鍵的資源,因為它用來緩存頻繁需求的數據。大量的已安裝的服務器內存可以提高服務器和客戶端的性能。使用:vmstat 和 sar 命令來監視內存的使用,如果必要的話,可以增加內存。
    ————平衡磁盤負荷
    使用命令:iostat 來確保有效磁盤設備的適當裝入。如果負荷不平衡,從一個設備向別一個設備移動活動,直到它們平衡為止。
    ————磁盤帶
    磁盤帶通過多個磁盤設備來分布一個讀或寫操作,大幅度的提高了磁盤的I/O速度。磁盤帶可以用來增加NFS服務器的性能。這對于不同類型的Solaris 組產品是很有用的。
    ————快速服務(Prestoserve TM)
    一個由寫操作組成的交互式的磁盤負荷可用來在服務器上安裝快速服務??焖俜帐且粋€在SBUS上增強硬件產品的類型,和VME 配置方面,增強了本地和遠程的同步寫。
    快速服務使用一個快速的,不易變的,可重獲的內存(NVRAM)來寫緩存以此來快速本地和遠程的同步寫。在安裝Prestoserve 后,NFS客戶寫增加到300%??焖俜諟p少了磁盤的I/O,并且它可以用在附加磁盤和對支持更高級別寫活動的控制。
    快速服務的一個缺點是它可能使CPU達到飽合,因為它在寫磁盤前必須拷貝數據從NVRAM到主內存。
    ————NC 400 網絡協處理器
    由快速服務引入的額外的CPU負荷可以由NC400網絡協處理器偏置。它是一個優化了硬件和軟件的NFS處理器。它由一個主板上的處理器和使用用戶化的 nfsds 通過處理UDP傳輸減少了CPU負荷。
    NC 400網絡協處理器只是理論上的,因為無論何時,CPU的飽合總是一個問題。
    ————CPU
    服務器上CPU的飽合會反面影響它服務客戶端請求的能力。
    l 使用命令:vmstat 或 sar 來監視 CPU的利用率。如果CPU的負荷過重,可以考慮安裝NC 400網絡協處理器。
    l 使用 ps 命令來檢查進程狀態表來判斷進程消耗的額外的CPU時間??梢钥紤]移動這些進程到其它主機,如果可能的話,增加更多的處理器。
    ————網絡接口
    一個極端繁忙的網絡的需求可能超過網絡接口所能承受的容量。使用 netstat 命令來監視網絡接口的錯誤,并可考慮增加一個網絡接口(使用一個已經存在的IP地址,但是一個新的客戶端地址)給服務器。
    通過配置客戶端通過應用接口存取服務器來平衡進入的需求。
    過多的網絡接口錯誤也指出了一個超負荷運載的,擁擠的網絡??紤]給網絡分段(使用橋或路由器)來減輕服務器和網絡的負荷。
    ——總結
    在本章中,你已經學會:
    l 回顧一下導致網絡性能低下的的原因
    l 使用性能監視命令來發現性能瓶頸
    l 描述提高性能的解決方案

     solstice 回復于:2003-06-25 16:21:58
    第十三章 域名服務
    目標
    通過本章的學習,你將能夠:
    l 描述域名服務的目的
    l 描述關于DNS名字空間(DNS namespace),一個域名(domain)和一個權限區(a zone of authority)的區別
    l 描述名字服務器的概念,包括名字服務器的不同類型,如主名字服務器,次名字服務器,和一個只是名字服務器的緩存(a caching only nameserver)
    l 描述一個解析器,并理解地址解析和反向地址解析的過程。
    l 描述服務器端DNS設置文件的語法,包括文件:/etc/named.boot,緩存文件和區文件(zone)
    l 描述包括在SOA,NS,A,PTR,HINFO,和WKS資源記錄中的信息
    l 對NIS做適當的修改使它能夠轉發請求到DNS
    l 描述客戶端的DNS設置文件的語法,/etc/resolv.conf
    l 描述管理員有效的使用DNS排除故障和尋找故障的方式
    背景
    ——問題
    本地文件:/etc/hosts,本地的NIS 主機映射,或本地的NIS+主機表都不可能包含Internet上的所有可能的IP地址。既然在Internet上所有的通訊都需要使用一個已知的IP地址,那么一個工作站是如何與其它工作站在Internet上進行通訊的呢?
    ——最初的解決方案
    在七十年代早期,在Internet上使用一個文件:hosts.txt,這個文件可以通過使用ftp下載到主機。隨著更多網絡加入Internet,每個新網絡的管理員使用ftp 傳輸他們的主機名和IP地址給 hosts.txt文件的管理者。
    Internet的成長是不能用尺度來衡量的,保持 hosts.txt 文件最新已經是一個非常困難的任務并且網絡的帶寬被ftp 的傳輸消耗,一個新的更好的解決方案急需出臺。
    ——今天的解決方案
    當前使用域名服務來允許主機與Internet進行通信。即使每個主機可能沒有適當的IP地址信息有效的通過本地資源。
    域名服務
    域名服務(DNS)是在Internet內提供IP地址的分布式管理的應用軟件。
    l DNS允許管理員維護關于本地主機的信息并同Internet上的其它主機共享這些信息。
    l DNS是由位于加利福尼亞的Berkeley大學 Berkeley Internet Name Domain(BIND)開發的常用軟件。Sun使用BIND軟件的一個端口。
    DNS 術語
    ——域名空間(Domain Namespace)
    l DNS已知的所有主機包括在DNS的名字空間。
    l DNS的名字空間劃分為等級域。名字空間以根域開始,并包括所有的子域。
    ——域(Domains)
    一個域是DNS名字空間的子樹。每個域被DNS名字空間賦予唯一的名。
    域名的組成由“.”分隔開。每一個標簽被限制在63個字符,通常,一個標簽少于8個字符。全部的域名長度不能超過255個字符。
    例如: sun.com. 或者: math.ucb.edu.
    一個完整的域名以 “.” 來結束,說明這是一個絕對的或是一個有完全資格的域名。那些不以“.”為結束的稱為相對或是一個有部分資格的域名。
    個別主機的域名涉及到他們所處的位置。
    例如 :ftp host1.math.ucb.edu.
       mail user@host1.math.ucb.edu.
    ——頂級域名
    頂級域名由網絡信息中心(NIC)管理。低級的域名則代表了Internet的一部分,即多種不同的組織。
    頂級域名被組織用來依賴的類型或組織的目的。
    l Com ——商業組織
    l Edu ——教育組織
    l Gov ——政府組織,協會
    l Mil ——軍事組織
    l Net ——網絡組織
    l Org ——非商業組織
    一些頂級域名不是一個組織,但是依據地理位置劃分的。這些劃分涉及到國家代碼并
    通常是兩個字符。
    l cn——中國
    l us——美國
    l au——澳大利亞
    頂級域名的選擇依賴于最適合的你的組織的需求。大的組織試圖使用組織域而小組織
    或個別則選擇使用一個國家代碼。
    —— 一個特別的頂級域----in-addr.arpa.
    域 in-addr.arpa. 是一個特別的頂級域由NIC來管理,目的是把已知的IP地址解析成主機名字。所有其它的頂級域都用來解析一個已知的主機名到未知的IP地址。
    當任何一個IP地址遇到的主機名無法識別,DNS必須有一種轉換IP地址到主機名的機制。為了做到這一點,反向IP地址并把它做為一個在頂級域 in-addr.arpa.下的域名?,F在,IP地址被解析成和其它域名一樣了。
    例如 :
    主機 128.50.1.4的名字信息在域:1.50.128.in-addr.arpa. 中。
    ——權限區(Zones of Authority)
    域(domains)和權限區(zones of authority)是不一樣的。一個域名是指在名字空間的唯一空間。一個權限區則是指主機數據的存放位置,在域內被管理。
    如果在一個給定域的主機信息由域(domain)來管理,那么域和權限區就是相同的了。然而,如果父域管理相關主機的信息在一個子域又是它自己的主機,那么,權限區則跨躍了父域和子域。
    頂級域如,com ,edu ,和 org ,由NIC來管理。低級域的權限代表DNS的用戶。
    ——名字服務器(Nameserver)
    DNS名字服務器是一個實際上的守護進程,作為DNS服務器運行在主機的配置中。在SunOS操作系統中執行BIND的守護進程的名字是: /usr/sbin/in.named
    如果文件:/etc/named.boot已經被創建,那么守護進程:in.named由腳本 /etc/rc2.d/S72inetsvc 以級別2開始。(文件:named.boot將在后面繼續討論)。如果使用一個不同于 named.boot的文件名,那么,/etc/rc2.d/S72inetsvc 啟動腳本必須修改。
    在文件:/etc/rc2.d/S72inetsvc;
    if [ -f /usr/sbin/in.named –a –f /etc/named.boot];then
    /usr/sbin/in.named;echo “starting internet domain name server.”
    fi 

    in.named提供信息給客戶端程序需求關于給定主機名字的IP地址的信息或給定IP地址的主機信息。這個過程稱為解析。
    為了提供需求的信息,in.named必須涉及到已經由DNS系統管理員創建的數據文件。這些數據文件包含關于在一個名字服務器中的權限區的主機名和IP地址信息。
    實際的名字和一些數據文件的定位經常從一個位置改變到另一個位置,盡管他們的功能和語法由DNS的規則決定。
    DNS服務器的類型
    ——主DNS服務器
    l 對主機的最后的權限驗證和IP地址信息在這里
    l 在區內的所有改變信息都被數據文件定位在這個服務器中
    l 在它的區內,定期的更新DNS服務器的其它類型
    l 能夠代表子網給其它服務器授權
    ——輔DNS服務器
    l 保留有在主服務器中創建的數據的拷貝
    l 在主服務器無效時是有用的
    l 為主服務器提供負荷共享
    ——緩存DNS服務器
    l 只是維持最近使用過的DNS數據在內存緩存中
    l 被保存的緩存數據一個相關的生存時間值,來保護過時的信息
    l 不提供權限驗證信息,作用與主和輔服務器相同
    ——DNS 根服務器(DNS Root Servers)
    l NIC已經指定了幾個服務器為DNS根域服務器。所有的DNS主服務器都需要配置根服務器的主機名和IP地址來為域名和IP地址解析搜索有一個開始的空間
    域名服務客戶端
    ——解析器
    l 實際上是沒有DNS客戶端守護進程的
    l DNS客戶端請求由被稱為是庫的例程生成,在Internet 程序的標準不同時。如使用的:telnet,ftp,和 mail
    l 這些庫例程只運行在DNS已經配置并且使用的情況下。使用本地主機上的文件和NIS主機的映射時,不需要使用DNS
    l 庫解析器例程使用文件:/etc/resovl.conf 來決定使用的名字服務器。這個文件將在以后繼續討論
    ——解析
    解析是使用DNS從一個給定的主機名獲取一個IP地址或是從一個給定的IP地址獲取主機名的過程。
    解析過程分為如下幾步:
    1. 用戶鍵入包含一個主機名的命令,如:
       ftp host1@math.ucb.edu.
    2. 首先試圖通過 ypserv 執行NIS主機映射或通過 rpc.nisd 執行NIS+主機表將主機名解析為一個IP地址。
    3. 如果NIS或NIS+不能解析主機名,那么DNS解析器例程試圖連接到在文件: resolv.conf 中的名字服務器列表。
    4. 解析器例程將會發一個遞歸查詢給名字服務器。
    遞歸查詢強迫名字服務器去提供所請示的信息并且不能為查詢剛好返回下一個名字服務器的IP地址。
    5. 本地的名字服務器將會檢查域名和開始,并通過連接一個根名字服務器來開始搜索。本地的名字服務器將會發送一個重復的查詢給根名字服務器。
    重復的查詢(iterative queries)是很有禮貌的,它們允許其它的名字服務器來支持另一個名字服務器的IP 地址并且不是實際的信息請求。
    6. 舉個例子來說,根名字服務器用 edu 的名字服務器的IP 地址來應答,并且本地名字服務器給edu 名字服務器發送了重復的請求。
    7.  Edu 名字服務器應答匹配的域名服務器的IP地址。
    8. 本地的名字服務器直接發送另一個重復的請求給匹配的名字服務器。匹配的名字服務器檢查它的數據文件并用host1的IP地址應答本地的名字服務器。
    9. 本地的名字服務器接替 host1 的IP 地址給解析器例程,然后 ypserv/rpc.nisd返回它給查詢進程,ftp 連接繼續進行。
    ——緩存
    每一次一個名字服務器都試圖解析一個客戶請求,它(如果需要的話)必須遍歷DNS名字空間的多個地區。因為名字服務器遍歷名字空間,它必須學習其它域名服務器和他們的IP 地址。
    這個信息為了將來能夠參考緩存在內存中,這樣,不是所有的查詢都必須從根名字服務器開始了。所有的緩存域信息對生存時間值來說是個主題,通過對遠程域的管理。
    你必須有一個有效的,唯一的IP地址由NIC分配給你的網絡。你必須決定你適合哪一個,哪一個是你的父域,以及你將使用哪一個唯一的標簽。
    你的DNS域名和你的NIS/NIS+域名應該一起選擇,以便于他們相互適合。關于sendmail的忠告,默認的,去掉你的NIS/NIS+域名的第一個組件,對外界使用你所剩下的郵件目標??s寫的域名就是剩下的你將使用的域名。
    例如:
    你的公司是 Foobar.com
    你的DNS 域名就是: foobar.com
    因此,你的NIS/NIS+域名也就是 sales.foobar.com
    你必須連接到你的父域并注冊。父域需要知道你的域名和你至少一個名字服務器的IP地址和名字。這個信息可以從你的網絡管理員或NIC那里得到。
    你還必須有你的反向IP地址域名權限代表你,由NIC,所以,IP地址到域名的解析才可能。例如:你的網絡地址是 192.9.200.0,那么,你就必須有對200.9.192.in-addr.arpa域的NIC代表權限。
    NIC 的電話服務在周一到周五的早7點到晚7點。NIC也維護一個在線的全天24小時郵箱,以下的郵件地址:
    l HOSTMASTER@INTERNIC.NET 來為主機,域,網絡的改變和更新服務
    l ACTION@INTERNIC.NET   來為計算機操作服務。




    SunOS 5.x DNS 安裝概括
    l 獲得一個有效的Internet IP 地址
    l 選擇一個域名并在父域中進行注冊
    l 為主DNS服務器配置數據文件
    l 設置并配置最少一個輔DNS服務器的數據文件
    l 轉變全部的域到NIS/NIS+中,并配置NIS/NIS+服務器來轉發DNS請求到DNS名字服務器
    ——DNS 數據文件
    假設為以下的網絡設置數據文件為例。
    (.) 根域 根服務器:lettuce IP 地址:128.50.2.3

    DNS的域名:veggie.Veggie. 主:tomato.veggie.IP 地址:128.50.2.2Veggie. 輔:potato.veggie.IP 地址:128.50.2.1Veggie.客戶:carrot.veggie.IP 地址:128.50.2.4

    DNS的域名:fish.Fish. 主:tomato.fish.IP 地址:128.50.3.6Fish. 輔:potato.fish.IP 地址:128.50.3.7Fish.客戶:carrot.fish.IP 地址:128.50.3.8
    DNS 設置過程——主DNS服務器
    ——關于文件:/etc/named.boot
    創建 in.named 的配置文件:/etc/named.boot。如果這個文件的名字或位置有所不同,那么in.named 守護進程必須在腳本 /etc/init.d/inetsvc 中通報。守護進程 in.named在啟動時讀取named.boot 來允許進程決定DNS數據文件的名字和定位。數據文件包括實際的主機信息。
    ; named.boot file for the veggie. Domain
    ; on the host tomato.veggie.
    directory /var/named
    cache Cache
    primary veggie. Veggie.zone
    primary 1.50.128.in-addr.arpa veggie.rzone
    primary 0.0.127.in-addr.arpa loop.back
    在所有的DNS數據文件中,跟在一個分號后面的是一個注釋??盏男幸彩强梢越邮艿?。單詞“directory”是一個DNS關鍵詞用來通告守護進程 in.named 哪個目錄包含DNS數據文件。它通常是 /var/named,但,可以被定義在任何地方。
    DNS關鍵字:”cache”,指明了在 /var/named 中包含根DNS名字服務器的主機名和IP地址的文件的名字。這些信息是必要的,雖然文件名可能有些不同。在上面的例子中,要找到根(.)名字服務器,檢查文件名 cache。
    “primary”這個關鍵字在對數據文件列表時使用,包含了在每行中間段的域名列表信息。這個文件在DNS中沒有任何規定的名字,但是被用來描述他們所包含的數據。
    在例子中,為了獲取關于主的有關于在域 veggie 中主機名字到IP地址的解析的權限信息,涉及到文件: veggie.zone
    為了在2.50.128.in-addr.arpa 域中獲得關于IP 地址到主要名的解析的主權限信息,涉及到文件 veggie.revzone。
    為了獲取關于解析 loopback IP 地址到主機名 localhost的權限信息,涉及到文件loop.back。所有的名字服務器都是有權限的對于他們自身的 loopback IP 地址,并且在他們的named.boot 文件中存在這個入口。
    DNS 數據文件
    DNS數據文件就是那些實際在他們的權限區描述主機名和IP 地址的文件。這是被名字服務器用來解析一個已知IP 地址到主機名的信息,或從一個已知的主機名到IP地址。
    在一個DNS數據文件的每一行都涉及到一個資源記錄,因為它指定一些可以使用的資源。有很多類型的資源記錄。
    本章只包含了 NameServer(NS),Address(A),Start of Authority(SOA),Pointer(PTR),Host Information(HINFO),和 Well-Known Services(WKS),等資源記錄。
    資源記錄不可以跨躍多個行(除了SOA 和WKS,這將在后面討論)。DNS數據文件是 case-insensitive。
    ——文件:/var/named/cache
    這個文件包含了根DNS名字服務器的主機名和IP地址。如果在當時沒有其它適當的名字服務器,那么客戶端使用這個文件作為解析信息請求的開始點。
    在例子中的緩存文件使用了具體的語法規則,就象是由 named.boot 文件具體了所有所有的DNS數據文件一樣。注意,分號和空格行是可以接受的。
    例子:
    ;
    ;cache file – initial cache for root servers
    ;
    . in ns ns.nic.ddn.mil.
    in ns sa.isi.edu.
    in ns terp.umd.edu.
    in ns c.nyser.net.
    ns.nic.ddn.mil in a 192.112.36.4
    sa.isi.edu in a 26.0.0.73
    terp.umd.edu in a 128.8.10.90
    c.nyser.net in a 192.33.4.12
    l 在這個文件中前四個沒有內容的行被稱為NameServer 的資源記錄,因為在每行的第四段有“ns”。每行描述了DNS的根名字服務器。
    l 一個NS資源記錄的第一個字段決定了域。在這個例子中,在第一行的點是指你要為根DNS域描述名字服務器。因為下三行的第一個字段為空,點已經被假定了。
    l 第二個字段是一個時間溢出值(99999999)與數據有關。它不再被使用,但,??梢栽诰彺嫖募锌吹剿?。它可以省去。
    l 第三個字段(包括“in”)表示網絡的類,是指Internet。有其它的類,但已經不被廣泛使用,所以,就不再討論它了。
    l 文件的最后四行是地址資源的記錄,它由在第四個字段中的“a”來決定的。地址資源記錄指定了在NS資源記錄中的從前的名字服務器的IP地址列表。
    ——文件:/var/named/veggie.zone
    文件:/var/named/veggie.zone 包含了在域 veggie.中的主機和它們的IP地址的關系信息。這個文件還指定了關于域的權限信息和是否被DNS管理者更新等。
    這個文件主要用在主機的名字到地址的解析。它也提供了數據的生存值。
    在啟動時,這個文件會被自動的拷貝到輔名字服務器中,這允許它們也為解析器提供權限信息。
    ;
    ;veggie.zone file for the primary nameserver tomato.veggie.
    ;
    $ORIGIN veggie.
    Veggie. In  soa tomato.veggie. root.tomato.veggie. (
    01.0 ;serial
    10800 ;refresh  [3 hours]
    3600 ;retry [1 hours]
    432000 ;expire [5 days]
    86400   ;minimum [1 day]
    in ns tomato.veggie. ;primary
    in ns potoma.veggie. ;secondary
    $INCLUDE  /var/named/veggie.hosts

    l 第一行包括了一個起源說明,它設置了$ORIGIN為veggie.這個值追加到一個域名或主機名,不以 . 來結束。
    通常$ORIGIN說明不是必須的,因為這個值追加到部分有限制的域,并且主機名由文件:/etc/named.boot域名指定。
    l 這個文件的第二個沒有內容的行是一個權限資源記錄的開始,它由在第三個字段中的:soa來決定。這些記錄的狀態是所有這個域中的絕對的權限信息。每個域只有一個SOA記錄。
    l SOA記錄的第一個字段指定了域名,如果左邊空白,假定為$ORIGIN。
    l 第二個字段所在的網絡類別。(為Internet)
    l 第四個字段顯示了包含SOA的主機列表。在例子中,是tomato.veggie.
    l 第五個字段包含了使用者的連接信息或這個域的管理者,在這個例子中,是位于主機tomato.veggie.上的root.
    l SOA可以包括更多的行,通過把信息包括在圓括號內
    在左圓括號下有5個與域數據有關的值。
    l 第一個值是001.00,這是由管理者選擇的簡單的連續的數字。如果數據有了任何改變,管理員要手工增加文件中的這個值。輔DNS域名服務器在相關的級別檢查這個值來查看它們的信息是否為最新。
    l 第二個值是10800秒,決定了刷新時間。刷新時間就是輔域名服務器檢查數據是否為當前的時間。
    l 第三個值是3600秒,決定了重試時間。重試時間就是輔域名服務器在前一次刷新不成功的情況下,經過多長時間后會再次試圖刷新。
    l 第四個值是432000秒,決定了終止時間。由輔域名服務器刷新的任何數據將會在這個點終止,第二個域名服務器將不會再對請求進行響應。
    l 第五個值是86400秒,設置了由在其它域的其它名字服務器緩存的數據的生存時間值。
    l 第四個生存時間值可以由DNS管理員改變,來符合其它域的頻率改變。
    l 這個文件包括在veggie.域中的名字服務器列表的兩個NS記錄。注意,第一個字段為空,所以域名是隱含的。
    l 最后一行是一個 $INCLUDE說明,列出了追加到這個點的文件。這個文件將會包含在veggie.域中的實際的信息。$INCLUDE狀態是可選的,因為主機的信息可能會在文件:veggie.zone中。
    ——文件: /var/named/veggie.hosts
    文件:/var/named/veggie.hosts包含了在域 veggie.中解析主機名到IP地址的信息。文件也包含了域中其它類型的主機信息。
    這個文件的內容附著在文件:veggie.zone的最后。這個文件也是可選的,因為這些信息可以包含到文件:veggie.zone文件本身是尾部。
    ;
    ;veggie.hosts file
    ;
    localhost. in a 127.0.0.1
    tomato in a 128.50.2.2
    in hinfo Sun4/65 “SunOS 5.5”
    in wks (sunrpc tftp echo telnet netstat finger discard)
    potato in a 128.50.2.1
    in a 192.9.200.200
    in  hinfo Sparc10/51 “SunOS 5.5”
    in wks (sunrpc echo telnet netstat finger discard)
    carrot in a 128.50.2.4
    in  hinfo “Sun IPX” “SunOS 5.3”
    in  wks (sunrpc tftp echo netstat finger discard)

    l 這個文件包含了幾個地址類型的記錄,這已經在先前討論過了。
    注意,在這個例子中,主機tomato,potato,和carrot 不能以 . 結束。DNS自動追加到$ORGIN的這些文件名。例如,tomato 變成了tomato.veggie。
    l 主機信息的記錄,在這個文件中有其它一些的資源記錄類型,包含了描述一個主機細節的硬件和軟件的數據對。有空格的地方必須引用。如第三個字段中的 hinfo
    HINFO 記錄可以由DNS命令:nslookup 查詢,這將在后面繼續討論。
    l 在這個文件中的另一種類型的資源記錄就是 Well-Known 服務記錄。WKS列出了由一個特殊主機提供的著名的Internet服務,查找WKS在第三個字段中,注意WKS記錄可以通過使用圓括號來跨躍多個行。
    WKS記錄也可以使用 nslookup命令來查詢。
    ——文件:/var/named/veggie.rzone
    文件:veggie.rzone的主要目的是為解析一個已知的IP地址到一個主機名提供信息。
    域的權限包括你的IP網絡地址必須適應你的組織。在這個例子中,網絡地址128.50.2被指定由你獨占,所以,你必須對你網絡中的所有主機地址負責。因此,你要對域2.50.128.in-addr.arpa負責。
    ;
    ;veggie.revzone file for the primary nameserver tomato.veggie.
    ;
    2.50.128.in-addr.arpa in soa tomato.veggie. root.tomato.veggie. (
    01.0 ;serial
    10800 ;refresh [3 hours]
    3600 ;retry [1 hours]
    432000 ;expire [5 days]
    86400 ;minimum [1 day]

    in ns tomato.veggie. ;primary
    in  ns potato.veggie. ;secondary

    2 in ptr tomato.veggie.
    1 in ptr  potato.veggie
    4 in ptr carrot.veggie
    第一個無內容的行是為域:2.50.128.in-addr.arpa 的SOA記錄。這與我們以前使用過的SOA記錄沒有什么區別。
    在這個文件中的兩個NS記錄列出了域:2.50.128.in.addr.arpa.的名字服務器。一旦再次出現第一個字段空白,就應用這個域名。
    最后三行包含了打印機信息。PTR打印到已經預先定義好的一個主機,通常在另一個DNS數據文件中。
    PTR記錄的第一個字段指出了在域中的主機的IP地址的一部分。這些主機的部分地址看成是一個域名,并由在域:2.50.128.in-addr.arpa中的信息解析成一個主機名。
    在例子中,如果請求想知道誰的主機號是4在域:2.50.128.in-addr.arpa中,PTR記錄將會打印主機的名為:carrot.veggie.
    ——文件:/var/named/loop.back
    loopback數據文件是一個特殊的文件,它安裝在所有的名字服務器中,用來允許解析它們的自己的loopback地址到主機地址:localhost。
    所有的名字服務器都對他們的自身的loopback地址授權。
    ;
    ;loop.back file for all nameservers
    ;
    @ in soa tomato.veggie. root.tomato.veggie. (
    0001.00   ;version number
    10800 ;refresh [3 hours]
    3600 ;retry [1 hours]
    432000 ; expire [5 days]
    86400 ) ;minimum [1 day]
    in  ns  tomato.veggie.
    1 in  ptr localhost.
    在這個文件中,只出現了一個新的定義,就是在這個文件的開頭使用了@。一個@是
    一個DNS的縮寫,表示在文件:/etc/named.boot的域名列表。
    如果你在例子中檢查文件:/etc/named.boot,你將發現 loop.back文件的域名列表在0.0.127.in-addr.arpa域中。因此,SOA記錄和NS記錄應用于那個域中。那個域就是在PTR的記錄中首段追加為1的域,因為它不以一個終止點結束。
    DNS設置過程——輔DNS服務器
    你可以選擇另一個NIS服務器當成一個輔DNS服務器。
    ——文件:/etc/named.boot
    創建 in.named的配置文件:/etc/named.boot。另外,如果這個文件的名字或位置有所不同,守護進程:in.named必須在文件:/etc/rc.local 中指出。
    ;
    ;named.boot file for the veggie. Domain
    ;on the secondary host potato.veggie.
    directory /var/named
    cache . cache
    primary 0.0.127.in-addr.arpa loop.back
    secondary veggie. 128.50.2.2 veggie.zone
    secondary 2.50.128.in-addr.arpa 128.50.2.2 veggie.revzone
    關鍵字:directory ,再次指出,用來通知守護進程:in.named 哪個目錄下包含DNS的數據文件。
    關鍵字:cache ,用來通知守護進程:in.named 根DNS的名字服務器的名字和IP地址。文件:/var/named/cache 由主名字服務器指出了一個應用。
    l primary 關鍵字也通知守護進程:in.named 與loopback 地址域的相關的主權限信息可以在文件:loop.back中發現。這個文件與先前討論過的主名字服務器的文件是相同的。
    l 最后兩行包含了關鍵字:secondary ,這個關鍵字通知守護進程:in.named 這是一個域的輔名字服務器列表,在這些行的第二個字段。
    這兩行的第三個字段包含了這個域的主名字服務器的IP地址。守護進程:in.named 將
    會在啟動時自動連接到這個IP 地址并為這個域下載數據。
    這兩行的最生一個字段列出了守護進程:in.named將要創建的文件名,并將會用主名字服務器的數據來代替它。這些文件將會在由named.boot文件中的關鍵字“directory”所指定。
    DNS設置過程——NIS
    NIS必須運行在DNS域中的所有主機上,并且NIS服務器必須被配置為可以轉發不識別的主機名或IP地址到通常的DNS解析器。在所有的NIS服務器上,由創建一個文件:/etc/resolv.conf 來配置NIS使用通常的DNS解析器。
    ;
    ;/etc/resolv.conf  file for tomato.veggie
    domain  veggie
    nameserver 128.50.2.2
    nameserver 128.50.2.1
    前兩行由分號開頭。
    Domain 這個詞是一個DNS的關鍵字,定義了可追加的域名可以為任何主機名在命令行使用,不能以一個點來結束。
    注意:在這行是不允許有結尾的空間的。
    單詞 nameserver 是一個DNS關鍵字,定義了用來查詢的名字服務器的IP地址。在這里最多可能顯示3個名字服務器。他們將會按順序被查詢直到有一個進行響應。重試的次數和溢出時間值依賴于名字服務器的數量和DNS運行的版本。
    在你的域上的NIS主服務器,修改 /var/yp/Makefie 來通知NIS 使用 DNS。
    # set the following variable to “-b” to have NIS
    # server use the domain name resolver for hosts
    # not in the current domain.
    B=-b
    # B=
    l 重制 NIS 主機映射。
    Nisserver# touch /etc/hosts
    Nisserver# cd /var/yp ; make
    ——文件:/etc/nsswitch.conf 的修改
    dns 關鍵字必須包含在文件:/etc/nsswitch.conf 中的主機行中。執行以下步驟來修改文件:nsswitch.conf 。涉及到文件:nsswitch.conf 的NIS+ 章的描述。
    1. 修改文件:/etc/nsswitch.conf
    # vi /etc/nsswitch.conf
    2. 增加關鍵字:dns 到主機行。這配置了系統去使用DNS解析器程序來查找主機信息。以下是一個主機行的信息,在文件:nsswitch.conf 被修改之后。
    Hosts: nisplus dns [NOTFOUND=return]  files
    DNS設置過程——客戶端主機
    如果客戶端的用戶想使用命令:nslookup 時,在客戶端的設置過程才是必須的。如果用戶想使用這個debug 工具,客戶端的主機必須有一個已經配置的文件:/etc/resolv.conf。指向DNS名字服務器。
    Debugging DNS
    Debugging DNS包括交互和非交互兩種方式。
    ——轉儲數據庫:in.named
    非交互方式是轉儲數據庫in.named 的全部內容到一個文件。這個方式可以讓管理員對比什么是他們所想的和什么是實際運行的。
    為了轉儲數據庫:in.named 到一個文件,需要用命令:kill 發送一個INT級別信號給守護進程:in.named。這自動創建文件:/var/tmp/named_dump.db 并用它來代替當前的數據庫的內容。
    Nameserver# kill –INT ‘cat /etc/named.pid’
    Nameserver# more /var/tmp/named_dump.db
    注意:DNS的一個很方便的功能就是當前 in.named的PID總是保存在文件:/etc/name.pid下。
    ——Debugging DNS
    舉個例子在主機:grouper.fish上的 /var/tmp/named_dump.db,注意其它域中的信息緩存中的生存時間值。


    ;Dumped at Fri Feb 11 10:10:36 1994
    ;- - - Cache & Date - - -
    $ORIGIN .
    . 86225 IN NS lettuce.
    Veggie 86392 IN NS tomto.veggie.
    Fish IN SOA grouper.fish. root.grouper.fish. (
    10000000 10800 3600 432000 86400 )
    IN NS grouper.fish.
    Localhost IN A 127.0.0.1
    Lettuce 86225 IN A 128.50.2.3
    $ORIGIN 50.128.IN-ADDR.ARPA.
    3 IN .SOA grouper.fish. root.grouper.fish. (
    0 10800 3600 432000 86400 )
    $ORIGIN 3.50.128.IN-ADDR.ARPA
    6 IN PTR grouper.fish.
    7 IN PTR angel.fish.
    8 IN PTR salmon.fish.
    $ORIGIN 0.127.IN-ADDR.ARPA.
    0 IN SOA grouper.fish. root.grouper.fish. (
    0 10800 3600 432000 86400 )
    IN NS grouper.fish.
    $ORIGIN 0.0.127.IN0ADDR.ARPA.
    1 IN PTR localhost.
    $ORIGIN veggie.
    Potato 86392 IN A 128.50.2.1
    IN HINFO “Sparc10/51” “SunOS 5.5”
    Carrot 86392 IN A 128.50.2.4
    IN HINFO “Sun IPX” “SunOS 4.1.3”
    $ORIGIN fish.
    Angel IN A 128.50.3.7
    Wolf IN A 128.50.3.8
    IN HINFO “SUN-4/65” “SunOS 5.4”
    Grouper IN A 128.50.3.6
    ;- - - Hints - - - 
    $ORIGIN .
    . 86225 IN NS lettuce.
    Lettuce 86225 IN A 128.50.2.3

    運行 in.named 在Debug方式下
    守護進程:in.named可以運行在11種不同的debug級別下。每一個級別在報告中會越來越羅嗦,每一個級別會在從前的級別中積累越來越多的信息。
    有兩種運行in.named的debug方式。
    l 開始進程 in.named 使用參數 –d 可以使守護進程 in.named 運行在debug方式下,和想要運行的debug級別的數。
    Nameserver# in.named –d 3
    l 也可以通過 kill 命令來發送一個USR1級別的信號給正在運行的in.named守護進程,來開始debug。隨后的USR1信號將會增加debug的1個級別。一個信號USR2將會關閉debugging。
    Nameserver# kill –USR1 ‘cat /etc/named.pid’ (level 1)
    Nameserver# kill –USR1 ‘cat /etc/named.pid’ (level 2)
    Nameserver# kill –USR1 ‘cat /etc/named.pid’ (level 3)
    Nameserver# kill –USR2 ‘cat /etc/named.pid’ (level 0)
    當在debug模式下運行 in.named時,輸出將被捕獲在文件:/var/tmp/named.run中。Nameserver# more /var/tmp/named.run
    ——命令:/usr/sbin/nslookup
     命令:nslookup主要允許用戶可以交互式的查詢DNS名字服務器,有關于IP地址,或者顯示其它資源的記錄信息。
    Nslookup也可以使用非交互式,在本章中將不做討論。
    當使用nslookup命令時,文件:/etc/resolv.conf涉及到第一個名字服務器的列表。如果第一個列表名字服務器不響應,那么按順序,其它的名字服務器會被試用。
    為了調用nslookup命令,鍵入命令名。名字和當前名字服務器的IP地址會被打印到屏幕上,并出現一個”>”提示符。Nslookup 等待一個命令。
    Carrot# nslookup
    Default server: tomato.veggie
    Address: 128.50.2.2

    > potato
    server: tomato.veggie
    Address: 128.50.2.2

    Name: potato.veggie
    Address: 128.50.2.1
    >^D
    在上面的例子中,在提示符”>”后,鍵入主機名 potato,被請求的名字服務器響應主機
    potato的IP地址。默認的對 nslookup主機名字查詢的響應是IP地址。如果主機在本地域——也就是說是:potato,而不是 potato.veggie,時,域名是不需要的。
    如果在nslookup命令中退出,鍵入Ctrl-d(或exit)在>提示符后,如在上例中顯示的那樣。
    如果鍵入Ctrl-c 是不好使的。
    通過使用nslookup可以重新獲得主機名的信息。如果查詢的類型為PTR記錄,就象是在下面的例子中一樣:
    carrot# nslookup
    Default server: tomato.veggie
    Address:128.50.2.2

    > set q=ptr
    > 4.2.50.128.in-addr.arpa
    Server:tomato.veggie.
    Address:128.50.2.2

    4.2.50.128.in-addr.arpa holst name = carrot.veggie
    > set q=a
    > exit
    域的主機名和IP地址可以通過命令:nslookup在屏幕上列表顯示。域名必須是完全資格域。
    Carrot# nslookup
    Default Server:tomato.veggie
    Address:128.50.2.2

    > ls veggie.
    [tomato.veggie]
    Host or domain name Internet address
    Veggie server=tomato.veggie
    Tomato 128.50.2.2
    Potato 128.50.2.1
    Carrot 128.50.2.4
    >
    你可以通過使用命令 server選擇其它域的名字服務器來顯示其它域的主機名和IP地址列表。當完成時,你將返回到查詢的本地名字服務器。
    Carrot# nslookup
    Default Server : tomato.veggie
    Address : 128.50.2.2

    > server grouper.fish
    Default Server : grouper.fish
    Address : 128.50.3.6
    >ls fish.
    [grouper.fish]
    Host or domain name Internet address
    Fish server=grouper.fish
    Grouper 128.50.3.6
    Angel 128.50.3.7
    Salmon 128.50.3.8
    > server tomato.veggie
    Default Server : tomato.veggie
    Address : 128.50.2.2
    >
    其它類型的資源記錄可以通過使用nslookup來查詢他們的值。以下是一個查詢hinfo的主機資源記錄的一個例子。
    Tomato# nslookup
    Default Server : tomato.veggie
    Address : 128.50.2.2


    > set q=hinfo
    > potato
    server : tomato.veggie
    Address : 128.50.2.2

    Potato.veggie Sparc10/51 SunOS 5.5
    > exit

    如果要獲得更多關于命令 nslookup的信息,去在線幫助網頁(nslookup(1M))。

     UNIX盲 回復于:2003-06-25 18:18:23
    人民感謝你!做了一件大好事。


    干掉小日本!我有同感!

     xingkong555 回復于:2003-06-26 09:47:04
    [quote:f7d5c7efe6="solstice"]今天好熱,心情也不錯!


    第十二章 性能調整的指導方針
    目標
    通過本章學習,你將能夠掌握:
    l 回顧一下導致系統性能低劣的原因
    l 使用性能監視命令來發現性能瓶頸
    l 描述提高性能的辦法
    介紹
    本章大體的..........[/quote:f7d5c7efe6]  
    up

     heineken 回復于:2003-06-26 11:32:20
    幾天沒來,一來就看到好貼,up 一哈

     中原一片紅 回復于:2003-06-26 16:08:53
    good
    3x

     moocher 回復于:2003-06-26 22:10:45
    抵制日貨,UPyou,日本鬼子從骨子里壞,而且是普遍性的壞,唯有dead才能讓人放心!

     moocher 回復于:2003-06-26 22:11:55
    老大,總共多少章啊,還有沒有!

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>