Ubuntu Server におけるTFTPサーバーの設定

Ubuntu Server におけるTFTPサーバーの設定

管理対象サーバーへブートイメージを転送するため、TFTPサーバーを構築します。Ubuntu Serverで利用可能なTFTPサーバーのパッケージはいくつか存在しますが、今回はtftpd-hpaパッケージを使用します。

# apt-get install tftpd-hpa

Ubuntu Server 12.04.xのtftpd-hpaの設定ファイル/etc/default/tftpd-hpa内の「TFTP_DIRECTORY=」行に、管理対象サーバー群へ提供するためのディレクトリ/tftpbootを指定します。

# vi /etc/default/tftpd-hpa
...
TFTP_DIRECTORY="/tftpboot"
...

dhcpd.confファイル内のfilenameの行に「"pxelinux.0";」を指定し、tftp-hpaファイル内のTFTP_DIRECTORYに「/tftpboot」を指定しているため、管理サーバーの/tftpbootディレクトリにpxelinux.0ファイルを配置する必要があります。上記設定ファイルを記述したら、TFTPサービスを起動します。

# sysv-rc-conf tftpd-hpa on
# service tftpd-hpa restart

Ubuntu ServerにおけるNFSサーバーの設定

BIOS、RAID、遠隔管理チップの設定情報を取得するには、管理対象サーバーから管理サーバーにNFSマウントを行いますので、管理サーバーにNFSサーバーを構築します。NFSサーバー上にSTKを配備するためのディレクトリ/nfsrootを作成し、/nfsrootをNFSクライアントに提供できるように、NFSサーバーの/etc/exportsを記述します。

# apt-get install nfs-kernel-server
# mkdir -p /nfsroot
# vi /etc/exports
/nfsroot *(rw,no_root_squash) ←NFS提供ディレクトリと権限を記述

テスト利用の場合には、上記exportsファイルにおいて全てのホストにNFSサービスを提供するように記述しても構いませんが、実際の本番環境のスケールアウト型システムでは、マルチテナント利用やセキュリティ要件を考慮し、NFSサービスを提供するIPアドレスに範囲を設ける必要がありますので注意してください。exportsファイルを記述したら、NFSの関連サービスを起動し、/nfsrootディレクトリがNFSサービスとして提供されているかをshowmountコマンドで確認します。

# service nfs-kernel-server start
# sysv-rc-conf nfs-kernel-server on
# showmount -e localhost
Export list for localhost:
/nfsroot *

Scripting Toolkit for LinuxをUbuntu Serverに配備する

近年、スケールアウト型システムでは、システムインテグレーターや顧客側でOSだけでなく、ハードウェアの自動化のためのサーバー環境を整備するケースが増えて来ています。これを実現するためのツールの一つとしてScripting Toolkit for Linux (STK)が存在します。STKは、ProLiantサーバーのBIOS、RAID、遠隔管理チップの設定の取得や配布を可能にするコマンド類をツールキットとしてまとめたものです。

一般的に、ハードウェアベンダーのBIOSやRAIDコントローラー、サーバーのマザーボードに搭載された遠隔管理チップの設定には、ベンダーが提供する設定ユーティリティが提供されていますが、HPでは、設定ユーティリティを集めたコマンドラインベースのツールキットを無償で提供していますので、スクリプトやcron等による自動化、ユーザー独自の管理ツールへの組み込み等が可能です。

他にも、VMwareやHyper-V等を組み込んだプライベートクラウド基盤向けのアプライアンス製品では、OSを配備する前段階のハードウェア(サーバー、ストレージ、ネットワーク等)の設定の自動化をベンダー提供のアプライアンス向けの管理ツールを使って行うように整備されています。

一方、Linux系のスケールアウト型クラウド基盤向けにもベンダー提供の管理ツールが整備されていますが、BIOS、RAID、管理チップに限定すれば、STKを使うことでハードウェア設定の自動化を実現することができます。以下では、Ubuntu Server上にSTKを配備する手順をご紹介します。

STKのキット「hp-scripting-toolkit-linux-9.50.tar.gz」はHPのWebサイトから入手可能です。保守サポートはありませんが、無償で利用することができます。STKをNFSサーバーに展開し、/nfsrootディレクトリにコピーします。

# tar xzvf hp-scripting-toolkit-linux-9.50.tar.gz -C /tmp/
# cp -a /tmp/hp-scripting-toolkit-linux-9.50/* /nfsroot/

管理対象サーバーがPXEブートするのに必要なファイルvmlinuz、initrd.img、pxelinux.0は、STKに含まれています。これらのファイルをUbuntu ServerのTFTPサービスを提供するディレクトリに配置します。

# mkdir -p /tftpboot/stk950
# cd /nfsroot/boot_files/
# cp -a vmlinuz initrd.img /tftpboot/stk950/
# cp -a pxelinux.0 /tftpboot/

次に、管理対象サーバーのPXEブート後にSTKがロードされるために必要な設定をdefaultファイルに記述します。NFSサーバーの/tftpboot/stk950ディレクトリに配置したvmlinuzファイルとinitrd.imgファイルを参照できるように、kernel行とappend行に相対パスで記述します。

# mkdir -p /tftpboot/pxelinux.cfg
# vi /tftpboot/pxelinux.cfg/default
default  stk950cap ←PXEブート後にデフォルトで利用されるラベル名を記述
#default  stk950dep ←先頭に#を入れてコメントアウトにしておく
prompt  1
timeout 300
label stk950cap ←default行で指定したラベル名を記述
kernel stk950/vmlinuz ←STKで提供されているvmlinuzを指定
append initrd=stk950/initrd.img root=/dev/ram0 rw ramdisk_size=475844 ide=nodma ide=noraid pnpbios=off media=net numa=off iso1=nfs://172.16.12.1/nfsroot sstk_conf=toolkit.conf sstk_script=/capall.sh ←実際には1行で記述
  
label stk950dep ←default行で指定したラベル名を記述
kernel stk950/vmlinuz ←STKで提供されているvmlinuzを指定
append initrd=stk950/initrd.img root=/dev/ram0 rw ramdisk_size=475844 ide=nodma ide=noraid pnpbios=off media=net numa=off iso1=nfs://172.16.12.1/nfsroot sstk_conf=toolkit.conf sstk_script=/depall.sh ←実際には1行で記述

「iso1=nfs://172.16.12.1/nfsroot」では、NFSサーバーのIPアドレスを指定します。capall.shとdepall.shというスクリプトが記載されていますが、これは、STKをロードするためのバッチ・スクリプトです。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30