- 2008-08-02 (土) 21:04
- Linux
ある事情により、自宅のiTunesサーバ(兼ファイルサーバ)として使用していたノートPCを人に譲ることになり、他のノートPCを代替サーバに仕立てようとCentOSのインストールを試みたのですが、DVD-ROMドライブが壊れているようでインストールが出来ない〜><。
そこで以前より気になっていたPXEを利用したネットワークインストールに挑戦してみました。
参考にしたサイト
- PXEサーバ経由で CentOS 5 をインストール
- kickstart で CentOS 5 を自動インストールする
- Linuxをネットワーク経由で自動インストールする方法(前編)
- Linuxをネットワーク経由で自動インストールする方法(後編)
- Fedora 9をPXEブートでインストールする
上記サイトを主に参考にさせて頂きました。大変助かりました。この場を借りてお礼申し上げます。
PXEサーバの構築
ノートPCにネットワーク経由でCentOSをインストールする為には、ノートPCをPXEBOOTさせ、且つ取得させるOSイメージをセットするサーバが必要になります。既存サーバに後述する必要な環境をセッティングすることもアリなのですが、自宅にサーバが無いので、今回はMacBookのVMwareFusion上にあるCentOS5.1をサーバとして使用します。
イメージファイルのダウンロード
まず、CentOSのDVDイメージファイルをサイトからダウンロードします。今回はバージョン5.1を使います。
イメージファイルは今回構築するPXEサーバ上でダウンロードしてもかまいませんが、私はMacBookにBitTorrent
クライアントがあったので、BitTorrent経由でダウンロード、その後samba経由でPXEサーバに移動させました。
DVDイメージは /home/hoge/images に移動します。このファイルは後で使用します。
vsftpdのインストールと設定
PXEブートしたクライアントが取得するイメージファイルの提供方法は、VFS、HTTP、FTP等があるようです。
今回参考にさせていただいたサイトでも、HTTP、FTPのいづれかを使用していました。今回はvsftpd(FTP)を使用してイメージファイルを配布しようと思います。vsftpdはyumでインストールします。
# yum -y install vsftpd
vsftpdを起動します。vsftpdはデフォルトでanonymousログインが許可されています。
# /etc/rc.d/init.d/vsftpd start
tftp-serverのインストールと設定
tftpと後述するdhcpはクライントPCをPXEBOOTさせる為に必要。tftpがインストールされていない場合はyumでインストールします。
# yum -y install tftp-server
インストール後にconfigファイルを設定します。disableのyesをnoに変更します。
# vi /etc/xinetd.d/tftp
service tftp
{
中略
disable = no #yesをnoに変更
中略
}
次に、tftp-serverのインストール時に作成された /tftpboot にcentosというフォルダを作成し、PXE用ブートローダをコピーします。このフォルダにはあと2つのファイルをコピーします(後述)。
# mkdir /tftpboot/centos # cp /usr/lib/syslinux/pxelinux.0 /tftpboot/centos/
次に、/tftpboot/centos/にpxelinux.cfgという名前でフォルダを作成し、defaultというファイル名で起動用設定ファイルを記述します。
# mkdir /tftpboot/centos/pxelinux.cfg # vi /tftpboot/centos/pxelinux.cfg/default default centos label centos kernel vmlinuz append load initrd=initrd.img devfs=nomount
DVDイメージのマウント
予めダウンロードしたDVDイメージファイルを、クライアントがFTP接続した際のディレクトリ(/var/ftp)内にフォルダを作成し、マウントさせます。マウントポイントは /var/ftp/centos になります。
# mkdir /var/ftp/centos # mount -t iso9660 -o loop /home/hoge/images/CentOS-5.1-i386-bin-DVD.iso /var/ftp/centos
イメージファイルをマウントさせた後、その中にある起動イメージファイルを /tftpboot/centos にコピーします。
# cp /var/ftp/centos/images/pxeboot/initrd.img /tftpboot/centos/ # cp /var/ftp/centos/images/pxeboot/vmlinuz /tftpboot/centos/
ここで先程のtftpを起動させます。
# /etc/rc.d/init.d/xinetd start
dhcpのインストールと設定
あと一息です!dhcpはクライアントPCにIPアドレスを与え、クライアントPCにPXEサーバの場所を教えます。dhcpが入っていない場合はyumでインストールします。
# yum -y install dhcp
dhcpのconfigファイルを設定します。/etc/dhcpd.confに下記のような記述をします。私の環境では設定値は下表のようになりました。
| Network(192.168.11.0/24) | 192.168.11.0 | subnet |
| Subnetmask | 255.255.255.0 | netmask |
| DefaultGateway | 192.168.11.1 | option routers |
| DNSServer | 192.168.11.1 | option domain-name-servers |
| DHCPで割当可能範囲 | 192.168.11.70 〜 192.168.11.80 | |
| PXEサーバのIPアドレス | 192.168.11.5 | next-server※ |
ddns-update-style interim;
ignore client-updates;
subnet 192.168.11.0 netmask 255.255.255.0 {
# --- default gateway
option routers 192.168.11.1;
option subnet-mask 255.255.255.0;
option domain-name "Centos.hogehoge.com";
option domain-name-servers 192.168.11.1;
range dynamic-bootp 192.168.11.70 192.168.11.80;
# next-server 192.168.11.5;
filename "/centos/pxelinux.0";
}
filenameの箇所はtftpbootにあるpxelinux.0の場所になります。またnext-serverはPXEサーバのIPアドレスを指定してあるのですが、記述しなくてもクライアントはPXEサーバを見つけてくれました。もしうまく行かない場合は記述してみて下さい。
記述が終了したら、dhcpを起動させるのですが、ルータのDHCP機能を使用している場合はいったんDHCP機能を切ります。複数のDHCPを共存させながらPXEBOOTさせる方法もあると思うのですが、追々調べていきます。
いったんルータのDHCP機能を切った後、dhcpを起動させます。
又、PXEサーバにFirewallサービスが動作している場合はこれも休止させます(必要なPORTを空けて使用するのでも勿論構いません)。
PXEブートの実施
あとはLANケーブルをつないだクライアントPCの電源投入し、BIOS設定でネットワーク起動を有効、起動の順序を変更して再度起動させます。
問題がなければ、テキストインストール画面が出現します。いくつかの設定後、インストール方法の選択でFTPを選択して、FTPサーバのIPアドレスとイメージファイルの場所を入力します。
インストール完了後は、クライアント側はBIOS設定をリセットすること、PXEサーバ側はumount等をして下さい。
まとめ
これで、DVD-ROMドライブが壊れたPCにCentOSをインストールすることが出来ました。今回はVMware上にPXEサーバを作成した為、このVMサーバがあれば、いつでも起動させてネットワークインストール環境が手に入ります。ただインストーラーを呼び出してからのセッティングはメディアを使ったインストールと変わらず面倒なので、今度はkickstartを利用したインストールの自動化をやってみたいと思います。続く。
- Newer: kickstartを使ったインストールの自動化
- Older: はじめの一歩
Comments:4
- DOYA 08-08-03 (日) 0:13
-
僕も1UサーバなんかはCD-ROMがないので、CentOSをネットワークインストールしてます。便利になったもんですねー^^。次やるときはこの記事を参考に・・・
- aoshiman 08-08-03 (日) 9:06
-
コメントありがとうございます。これからも見に来て下さいね。
- aonori 09-06-29 (月) 15:13
-
PXEブートの実施 の項目の中で「問題がなければ、テキストインストール画面が出現します。」
とありますが、GUIでのインストールにすすまないでしょうか?
textインストールを指定している項目があれば教えていただけないでしょうか。 - aoshiman 09-06-29 (月) 20:41
-
aonoriさん、ご質問ありがとうございます。
現在、手元に環境が無く試してはいませんが、インストールする環境で、メモリが256MB以下だとテキストモードになるようです。
http://sokohakato.wordpress.com/linux/centos/centos5install/
私は、2台のノートにインストールしましたが、どちらも256MBでした。
ですので、GUIでのインストールは試せていません・・すみません。
Trackbacks:0
- Trackback URL for this entry
- http://aoshiman.net/weblog/2008/08/02/centos_install/trackback/
- Listed below are links to weblogs that reference
- CentOSをネットワークインストールする from “南船北馬”
