aboutsummaryrefslogblamecommitdiff
path: root/ja_JP.eucJP/man/man8/diskless.8
blob: f22fb66bd3f829ac25672f1030e472ca7cd06b59 (plain) (tree)
1
2
3
4


                                                                
                          






















                                                                             
   
                                                                                  
   
                                                                                           
                  






                                              
            
        
            



                                                                    

                                              
                                                          
   

                  
                                                 
              
   
                                          
   


                                       
                                                    
   


                                                        
                                                            

                                                                         


                                                           




















                                                                          
        
                                                                      
           
   


                                                                





                                          





                                                     

   


                                                            





                                                           
   





            

                   
          



                                                      




                         


                                    

   



                        
   
   

















                                                                

     
              


                                                        











                                         








                                   

   



                                                                
   
                                              



                                  
                                                                        

                              

                                                                




                                                        
   
   


                                            





                                

   


                                                                  
   



                                                      


                                          

                                                      
                                                              




                                      
                                                                
            

               
              

              
               
              

                       
.\"	%NetBSD: diskless.8,v 1.11 1997/06/16 07:50:35 mrg Exp %
.\"
.\" Copyright (c) 1994 Gordon W. Ross, Theo de Raadt
.\" Updated by Luigi Rizzo
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\" 3. The name of the author may not be used to endorse or promote products
.\"    derived from this software without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
.\" %FreeBSD: src/share/man/man8/diskless.8,v 1.6.2.6 2001/08/17 13:08:50 ru Exp %
.\"
.\" $FreeBSD: doc/ja_JP.eucJP/man/man8/diskless.8,v 1.11 2001/07/29 05:15:27 horikawa Exp $
.Dd April 18, 2001
.Dt DISKLESS 8
.Os
.Sh 名称
.Nm diskless
.Nd ネットワークを介してシステムをブートする
.Sh 解説
ネットワークを介してマシンをブートする能力は、
.Em diskless
もしくは
.Em dataless
マシンのためや、ローカルのファイルシステムの再インストールまたは
修復中に一時的に利用するために有用です。
このファイルは、クライアントがネットワークを介してブートする時に、
クライアントとサーバとの間で行われる通信の一般的な解説を提供します。
.Sh 操作
ネットワークを介してシステムをブートする時に、
クライアントとサーバの間で 3 フェーズのやりとりがあります:
.Pp
.Bl -enum -compact
.It
ステージ 1 のブートストラップがブートプログラムを
読み込みます。
.It
ブートプログラムがカーネルを読み込みます。
.It
カーネルがルートを NFS マウントします。
.El
.Pp
これらの各フェーズについて、以降で詳しく記述します。
.Pp
フェーズ 1 では、ステージ 1 のブートストラップコードが
ブートプログラムを読み込みます。このブートプログラムは、
普通ネットワークカードを制御できます。
ブートプログラムを、BIOS や、ネットワークカード上の BOOT ROM
(PXE, etherboot, netboot) に格納することもできます。また、
ディスクユニット (etherboot, netboot 等) からロードさせることもできます。
.Pp
フェーズ 2 では、ブートプログラムがカーネルを読み込みます。
このフェーズの操作はブートプログラムの設計に依存します。
普通、ブートプログラムは
.Tn BOOTP
プロトコルまたは
.Tn DHCP
プロトコルを用い、クライアントの IP アドレスと
その他のブート情報を取得します。ブート情報は、
NFS サーバ、ルータ、ネームサーバの IP アドレス、
ロードするカーネル名を含みます (これに限らず他の情報が含まれる
こともあります)。
その後、カーネルがロードされます。これには、
(etherboot や netboot の場合のように) NFS を使って直接ロードされる場合と、
pxeboot と呼ばれる中間ローダを通じて、TFTP や NFS を使ってロードされる
場合とがあります。
.Pp
フェーズ 3 では、カーネルが DHCP や BOOTP を用いて設定情報を獲得し、
ルートファイルシステムのマウントに進み、動作を開始します。
ディスクレスシステムの開始処理中に行なわれるいくつかの動作は、
.Pa /etc/rc.diskless1
と
.Pa /etc/rc.diskless2
とに列挙されています。
.Sh 設定
ディスクレスクライアントを実行させるためには、次に示すものが必要です。
.Bl -bullet
.It
NFS サーバ。これは、適切なパーミッションを付けて
ルートパーティションと /usr パーティションをエクスポートします。
いくつかのシステムファイルにアクセスできるようにするために、
ルートパーティションが
.Fl maproot Ns =0
でエクスポートされている限り、
スクリプト
.Pa rc.diskless{1,2}
は読み込み専用パーミッションで動作します。
例として
.Pa /etc/exports
は次に示す行を含みます。
.Bd -literal -offset indent
<ROOT> -maproot=0 -alldirs <list of diskless clients>
/usr -alldirs <list of diskless clients>
.Ed
.Pp
ここで
.Aq ROOT
は、ルートパーティションのサーバ上でのマウントポイントです。
スクリプト
.Pa /usr/share/examples/diskless/clone_root
を使い、共用可能な読み込み専用ルートパーティションを
生成することができます。
しかし、同様に、サーバ自身が使用するルートディレクトリを
(読み込み専用で) エクスポートさせると決めることもできます。
.It
.Tn BOOTP
または
.Tn DHCP
サーバ。
.Xr bootpd 8
は
.Pa /etc/inetd.conf
の
.Em bootps
行のコメントを外すことで使用可能にすることができます。
.Pa /etc/bootptab
の例は次のようになります。
.Bd -literal -offset indent
 .default:\\
    hn:ht=1:vm=rfc1048:\\
    :sm=255.255.255.0:\\
    :sa=<SERVER>:\\
    :gw=<GATEWAY>:\\
    :rp="<SERVER>:<ROOT>":

<CLIENT>:ha=0123456789ab:tc=.default
.Ed
.Pp
.Aq SERVER ,
.Aq GATEWAY ,
.Aq CLIENT
の意味は明らかでしょう。
.Pp
.It
ルートパーティション上に、ディレクトリ
.Pa /conf/default/etc
を作成し、ここに
.Pa /etc
の内容のコピーを置きます。
.Pa /conf/default/etc
中のファイルとサブディレクトリが、ディスクレス環境の
.Pa /etc
メモリファイルシステムのブートストラップとして使用されます。
.Pa /etc
全体をコピーし、上書きしないでください。
.It
更に、
.Pa /etc
中のファイルに対するネットワーク毎またはホスト毎の上書き設定は、
.Pa /conf/${i}/etc
ディレクトリを作成することにより、可能となります。
ここで、
.Va i
は、
クライアントの
サブネットブロードキャストアドレス、またはクライアントの
IP アドレスです。
.Pp
.Pa /etc/rc
の主要な部分の実行 (これには、
.Pa rc.conf
の読み込みも含まれます)
の前に、
.Pa /etc/rc.diskless.1
によって、ファイルが
上に記したディレクトリから
.Pa /etc
にコピーされ (
.Pa /etc
にあったそれ以前の内容は上書きされます)、
最も汎用のものから開始されます。
.Pp
最低でも、
.Pa /conf/default/etc/fstab
に次の内容を含める必要があります。
.Bd -literal -offset indent
<SERVER>:<ROOT> /     nfs    ro 0 0
<SERVER>:/usr   /usr  nfs    ro 0 0
proc            /proc procfs rw 0 0
.Ed
.Pp
また、
.Pa /conf/default/etc/rc.conf
を変更し、ディスクレスクライアント用のスタートアップオプションを
含むようにしたバージョンを用意する必要もあります。
.Pp
スタートアップコードで既に設定されているため、
.Va hostname
や
.Va ifconfig_*
を指定する必要はまずないでしょう。
一方、サーバのローカルスタートアップファイルを使用しないようにするため、
.Va local_startup Ns = Ns Qq
を設定する必要があるでしょう。
最後になりますが、
複数のディスクレスクライアントで同じ設定ファイルを共有する場合、
.Li `hostname`
の値をスイッチ変数に使う
.Ic case
文を用いて、
マシン固有の設定を行なうようにすると良いかもしれません。
.Pp
.It
カーネルを構築します。その際、設定ファイル (
.Pa /sys/i386/conf/DISKLESS
など) には、少なくとも
次のオプションを含めておきます。
.Bd -literal -offset indent
options MFS
options BOOTP
options BOOTP_NFSROOT
options BOOTP_COMPAT
.Ed
.Pp
ファイアウォールを使用する場合、デフォルトをオープンにしておかねば
ならないことは覚えておいて下さい。オープンにしておかないと、
カーネルで bootp パケットの読み書きができなくなります。
.El
.Sh セキュリティ上の問題
暗号化されない NFS を使用してルートパーティションと
ユーザパーティションをマウントすると、暗号化キーなどの
情報が洩れるかもしれないことに注意して下さい。
.Sh バグ
このマニュアルページはおそらく不完全です。
.Pp
.Fx
はときどきルートパーティションに書き込みを要求します。
ですから、スタートアップスクリプトでは、元の内容を保存する間、
MFS ファイルシステムをいくつかの位置 (
.Pa /etc
や
.Pa /var
など) に
マウントします。この処理はすべての場合を扱えないかもしれません。
.Sh 関連項目
.Xr ethers 5 ,
.Xr exports 5 ,
.Xr bootpd 8 ,
.Xr mountd 8 ,
.Xr nfsd 8 ,
.Xr pxeboot 8 ,
.Xr reboot 8 ,
.Xr tftpd 8 ,
.Xr ports/net/etherboot