自己紹介

Furyu Tech Blogを読んで下さっているみなさん、初めまして。 コンテンツ・メディア第1事業部のインフラチームに所属していると藤本佳世と申します。今回が初投稿となりますが、これからみなさんに「フリューのインフラ技術」をご紹介できればと思っています。 どうぞよろしくお願い致します。

インフラの仕事

インフラの仕事は、サーバの選定から始まり、OS・ミドルウェアのインストールや監視など様々な仕事があります。 開発メンバーがスムーズに仕事をこなせるよう、日々「縁の下の力持ち」として頑張っています。 今回は、インフラ業務の中でも、「OSインストールの自動化」について、お話したいと思います。

PXEブート

みなさん、「PXEブート」はご存知ですか?

PXE(Preboot eXecution Environment)とは、コンピュータのブート環境の一つで、ネットワークブートを利用することにより、OSイメージを使用して起動できます。

今までフリューでは、ISOイメージ(DVD)を用意し、手動でインストールを行っていました。これは、とても時間がかかる作業です。しかし、PXEブートを導入する事により、「OSインストールの自動化」を実現しました。

簡単にPXEブートの流れを説明すると、

  1. 新規サーバを購入
  2. PXEサーバと新規サーバをネットワークケーブルで接続
  3. PXEブート起動
  4. OSが自動でインストールされる

PXEサーバについて

PXEブートを可能にするため、PXEサーバを構築をします。構築には、Cobblerを使用します。 Cobblerとは、Python製のツールで、ネットワークインストールを簡潔に行う仕組みを備えた、PXEブート向けの統合環境です。

※詳しくはhttp://cobbler.github.io/

フリューのPXEサーバ

Vagrant上に、PXEサーバ(CentOS6.6,64bit)を構築しました。

  1. VirtualBox-4.3
  2. vagrant_1.7.2

※基本的なVagrantの使い方について、FuryuTechBlogで紹介しているので、こちらも是非読んでください。

http://tech.furyu.jp/blog/?p=2317

今回は少し応用で、vagrantを動かしている物理サーバの未使用インターフェース(eth3)とvagrantのインターフェースをbridgeで繋げています。

※Vagrantfileの記述

イメージとしては、新規購入したサーバと物理サーバ(eth3)をネットワークケーブルで接続し、vagrant上のPXEブートを起動させています。

構築方法

事前準備1

事前準備2

事前準備3

※開発に最低限必要なパッケージをまとめてインストールできます。


1.Cobblerインストール

※ここでは、後程使うパッケージも一緒にインストールしておきます。

Cobblerのバージョン確認

※少し前に構築したので、現在の最新バージョンは2.6.11です。(2016年3月時点)


2.rsyncを有効にします


3.tftpを有効にします


4.dhcp設定

※ここで記述している10.0.2.XXのアドレスは、物理サーバの未使用インターフェースに割り当てられる、PXE用dhcpアドレスを指定しています。


5.Cobblerパスワードを設定します


6.Cobbler設定


7.Cobblerとxinetdを起動します

下記のようなメッセージが表示されることがあります。その場合は、メッセージ内容に従って、修正をして下さい。

※1のSELinuxに関して、事前準備でSELINUX=disabledにしているので、ここは無視します。


8.ISOイメージのインポート(少し時間がかかります)

※ISOイメージ取得先https://www.centos.org/download/

cobblerの設定を追加したり変更したりした後は、必ずsyncする必要があります。

インポートした後も、設定をシンクします。 エラーがでなければ、TASK COMPLETEと最後に表示されます。

設定を確認する場合は、下記コマンドを実行。


これでOSイメージは用意はできました。 次に、下記のようなOS詳細設定はどのようにするのでしょうか?

  • 言語設定
  • 時間
  • rootパスワード
  • パーティション設定

それは、「Kickstart」を使います。

To Be Continued

次回は、「Kickstart」設定方法について、お話ししたいと思います。