mixi engineer blog

*** 引っ越しました。最新の情報はこちら → https://medium.com/mixi-developers *** ミクシィ・グループで、実際に開発に携わっているエンジニア達が執筆している公式ブログです。様々なサービスの開発や運用を行っていく際に得た技術情報から採用情報まで、有益な情報を幅広く取り扱っています。

OpenStackとLXCを導入した話

こんにちは、運用部 アプリ運用グループの清水です。Golang鋭意勉強中です。

今回は、SNS「mixi」に限った話ではなく、ミクシィ社全体として利用している仮想環境について紹介したいと思います。パブリッククラウドも一部のサービスで利用していますが、今回は、自社で運用している仮想環境にフォーカスして書いてみようと思います。

今まで利用してきた仮想環境

今まで利用してきた仮想環境というと、手作業で構築したKVM(Kernel-based Virtual Machine)環境が中心でした。手作業といってもある程度手軽に構築できるように、シェルスクリプトとCobblerでVMを構築できるようになっています。構築の流れは以下のとおりです。

  • CobblerにVMのIPやホスト名などをスクリプトで登録する。
  • KVMのホスト上でスクリプトを実行(koanコマンドでCobblerと連携してVMをセットアップ)

VMの数が少ないうちは、この方法でも問題は大してありませんが、VMが増えてきたり用途が多様化してくると、VMの管理や物理障害時の対応が非常に面倒になるという課題を抱えてきました。

続きを読む

Cobblerを使ったOSインストールとその後のクラウド化

こんにちは。運用部 アプリ運用グループの清水です。趣味の楽器も気づけば20年目を迎えましたが、いっこうに上達している気がしません。

何回かに渡ってOS移行のお話を書いてきましたが、今回は、OSのインストールで使っているCobblerというツールの利用例を中心に紹介したいと思います。

OSインストールを楽にしたい

ミクシィでは非常に多くのサーバーを運用しています。それらのサーバーにおいて、OSインストール作業は日常的に行われています。OSのインストールが必要になるケースは、例えば以下のような場合です。
  • サーバーを購入した
  • サーバーが壊れ、修理した
  • OSをバージョンアップする(移行する)
  • サーバーの役割を変える(クリーンインストールする)
  • VM(Virtual Machine)を作る

当然ながら、OSインストール作業をするために、わざわざデータセンターに行ってCDやDVDといったメディアを使い、大量のサーバーを相手に作業するわけにはいきません。基本的に作業はリモート(場合によっては現地)でおこない、作業にかかる時間を最小限にすることが求められます。
そこで、作業の効率化のために、約2年くらい前からCobblerを本格的に使うようになりました。

続きを読む