PR

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

BIOS, RAID, 遠隔管理チップの設定の自動化の必要性

何百台、何千台のサーバーを管理する場合、サーバーのBIOSやRAID、遠隔管理チップの設定を管理者が1台ずつ設定すると非常に手間がかかります。初期セットアップだけでなく日々の運用や、購入後の利用目的の変更によってハードウェアの設定を変更することがあるため、これらの設定を複数台まとめて自動的に行うことが必要になってきます。

筆者の所属するHPでは、ProLiantサーバーDL、SL、ML、BLシリーズのBIOS、RAIDコントローラー、遠隔管理チップiLO4の設定情報の取得および配布を行うScripting Toolkit for Linux(以下STK)を提供しています。STKを使えば、管理対象サーバーにOSをインストールする前段階において、大量のHP ProLiantサーバーのハードウェア配備の手間を大幅に削減することができます。

実践編第1回の前編では、STKによるハードウェア情報の取得と配布を実現するサーバーをUbuntu Serverで構築する手順を述べます。後編では、Ubuntu Serverを自動インストールするサーバーの構築手順を述べます。

図1:スケールアウト型基盤におけるUbuntu Serverの自動配備のための必要な技術要素(クリックで拡大)

STKの配布に必要なUbuntu Serverのサービスと基本設定

STKを構築する管理サーバーには、Ubuntu Server 12.04.x LTSをインストールし、DHCP、TFTP、NFSサーバーを構築する必要があります。Ubuntu Serverを管理サーバーにインストール後、これらの各種サービスをOS起動時に自動起動させるかどうかの設定を行うため、rc-sysv-confをインストールしておくとよいでしょう。rc-sysv-confは、RHEL/CentOS系のchkconfigに相当します。chkconfigと管理手法が似ているため、chkconfigに慣れているRHEL/CentOSユーザーにお勧めです。

# apt-get install sysv-rc-conf

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

STKは、管理対象サーバーをオンメモリで利用するため、管理対象サーバーをネットワークブートさせる必要があります。ネットワークブートには、管理対象サーバーに搭載されているNICのPXE(Preboot Execution Environment)機能を利用します。PXE機能を使ったサーバーの起動をPXEブートといい、多くのスケールアウト型のクラウド環境で利用されている基礎技術です。管理対象サーバーをPXEブートさせるために必要なサービスにDHCPサービスがあります。

Ubuntu Serverにおいて利用可能なDHCPサービスのパッケージはいくつか存在しますが、今回はisc-dhcp-serverを使用して管理サーバーにDHCPサーバーを構築してみましょう。

# apt-get install isc-dhcp-server

DHCPサービスを提供するUbuntu ServerのIPアドレスを172.16.12.1/16として、DHCPサーバーの設定を行います。DHCPサービスを提供するNIC(ここではeth0)を指定します。

# vi /etc/default/isc-dhcp-server
INTERFACES="eth0"

isc-dhcp-serverの設定ファイルdhcpd.confファイルを編集します。以下は、管理対象サーバーにDHCPでIPアドレスを付与し、pxelinux.0ファイルを付与するための設定例です。一般的に、スケールアウト基盤においては、管理対象サーバーのMACアドレスとIPアドレスをDHCPサーバーによって管理しますが、ここでは、MACアドレスの指定による管理は省略しています。実際の本番環境では、MACアドレス等による管理をDHCPサーバーで行うかどうかの検討を行ってください。

# vi /etc/dhcp/dhcpd.conf
  ...
  ddns-update-style none;
  default-lease-time 600;
  max-lease-time 7200;
  subnet 172.16.0.0 netmask 255.255.0.0 {
  option routers            172.16.12.1;
  option domain-name            "jpn.linux.hp.com";
  option domain-name-servers	172.16.1.254;
  range	                    172.16.0.1 172.16.0.254;
  next-server                  	172.16.12.1;
  filename                     	"pxelinux.0";←管理対象にDHCPで配布するファイル
  }
  ...

serviceコマンドでDHCPサービスを起動します。

# sysv-rc-conf isc-dhcp-server on
# service isc-dhcp-server start

この記事の著者

古賀 政純

日本ヒューレット・パッカード株式会社 プリセールス統括本部 ソリューションセンター シニアITスペシャリスト

2000年よりUNIXおよび科学技術計算サーバーのプリセールスを担当。その後、大手製造業、官公庁系のUNIXやLinuxサーバー提案、システムインテグレーションを経験。現在は、Hadoop, OSS/Linux, FreeBSDシステムのプリセールス、技術検証、技術文書の執筆を担当している。毎日、LinuxやFreeBSDが稼働するサーバーと寝食を共に(?)しています。RHCE, RHCVA, Novell CLP, EXIN Cloud, HP ASE, CCAH(Hadoop)認定技術者

連載「スケールアウト型OSSクラウド基盤に最適なUbuntu Serverをひも解く」の記事一覧