[実践編] Ubuntu Serverをスケールアウト型サーバーに配備する(後編)

2014年3月13日(木)
古賀 政純

前回に引き続き、後編では、preseedを使ったUbuntu Serverの自動インストールサーバーの構築手順を紹介します。

Ubuntu Serverにおける自動インストールサーバーの種類

インストール対象のサーバー台数が少ない場合、管理者は、Ubuntu Serverの物理メディア等を使って、ディスプレイに表示されるインストーラーの指示に従い、OSのインストールを行います。しかし、スケールアウト型基盤では、インストール対象となるサーバー台数が非常に多いため、OSのインストール作業を人間が手動で行うことは現実的ではありません。

Ubuntu Serverには、インストーラー画面でユーザーが行っていたキーボード等によるインストール作業を自動化する「preseed」と呼ばれる仕組みが備わっています。Ubuntu Serverのスケールアウト型基盤では、preseedを使った運用の自動化が管理工数削減に大きく貢献します。このpreseedを使ったUbuntu Serverの自動インストールには、大きく分けて以下の2種類があります。

  1. 自動インストール用のDVDメディアやisoイメージを作成し、ブートする方法
  2. 管理対象サーバーをPXEブートさせる方法

1. の自動インストール用のDVDメディアを作る方法は、管理サーバーに自動インストール用のDVDメディアのisoイメージを保管し、管理対象サーバーの遠隔管理チップの仮想メディア機能を使ってisoイメージをマウントすることで、複数の管理対象サーバーに一斉に自動インストールを行うことが可能です。また、isoイメージを焼き付けた物理メディアでもインストールが可能であるため、遠隔管理チップや管理サーバーがなくても、DVDドライブが管理対象に接続されていれば、OSの自動インストールが可能です。これは、ITの主幹部門で作成したisoイメージを、各システム部門の管理者に物理メディアとして配るような運用で見られる方法です。1. については、技術文書が日本HPのLinux/*BSD技術情報Webサイト「edlin - Enterprise direction for Linux」にありますので、参考にしてみてください。
> edlin - Enterprise direction for Linux

2. の方法は、PXEブートとpreseedによる無人インストールを行うための管理サーバーを構築する必要がありますが、管理対象サーバーにDVDドライブと遠隔管理チップがなくてもUbuntu Serverのインストールができます。多くのスケールアウト型のシステムやクラウド環境で採用されている方法です。

図5:Ubuntu Serverの手動インストールと自動インストール(クリックで拡大)

Preseedを使ったUbuntu Serverの自動インストール

以下では、2. の自動インストールを実現する管理サーバーの構築手順を述べます。先述のSTKサーバーで構築したDHCP、TFTPサーバーを使用します。まず、TFTPサーバーのdefaultファイルを以下のように記述します。

# vi /tftpboot/pxelinux.cfg/default
...
default ubuntusvr120403lts
...
label ubuntusvr120403lts
kernel ubuntusvr120403lts/linux
initrd ubuntusvr120403lts/initrd.gz
append pkgsel/language-pack-patterns= pkgsel/install-language-support=false locale=en_US setup/layoutcode=en_US console-setup/charmap=UTF-8 console-setup/layoutcode=us console-setup/ask_detect=false interface=eth0 hostname=localhost auto=true preseed/url=http://172.16.12.1/ubuntusvr120403lts/preseed.cfg ←実際には1行で記述

Ubuntu Serverでは、append行で指定されているオプションを正しく付与しないと、管理対象サーバー上でのUbuntu Serverのインストーラーにおいて、人間の手動操作介入が発生し、preseedによる自動インストールが停止しますので注意してください。

  • Ubuntu Serverの自動インストールサーバー構築に使用する「preseed」

    『スケールアウト型OSSクラウド基盤に最適なUbuntu Serverをひも解く』 第6回のサンプルファイルです。
日本ヒューレット・パッカード株式会社 プリセールス統括本部 ソリューションセンター OSS・Linux担当 シニアITスペシャリスト

兵庫県伊丹市出身。1996年頃からオープンソースに携わる。2000年よりUNIXサーバーのSE及びスーパーコンピューターの並列計算プログラミング講師を担当。科学技術計算サーバーのSI経験も持つ。2005年、大手製造業向けLinuxサーバー提案で日本HP社長賞受賞。2006年、米国HPからLinux技術の伝道師に与えられる「OpenSource and Linux Ambassador Hall of Fame」を2年連続受賞。日本HPプリセールスMVPを4度受賞。現在は、Linux、FreeBSD、Hadoop等のOSSを駆使したスケールアウト型サーバー基盤のプリセールスSE、技術検証、技術文書執筆を担当。日本HPのオープンソース・Linuxテクノロジーエバンジェリストとして講演活動も行っている。Red Hat Certified Engineer、Red Hat Certified Virtualization Administrator、Novell Certified Linux Professional、EXIN Cloud Computing Foundation Certificate、HP Accredited Systems Engineer Cloud Architect、Red Hat Certified System Administrator in Red Hat OpenStack、Cloudera Certified Administrator for Apache Hadoop認定技術者。HP公式ブログ執筆者。趣味はレーシングカートとビリヤード

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています