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

2014年3月12日(水)
古賀 政純

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
日本ヒューレット・パッカード株式会社 プリセールス統括本部 ソリューションセンター 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メルマガ会員のサービス内容を見る

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