OpenStack
OpenStack は世界中の開発者やクラウド技術研究者による、官民のクラウドで使えるユビキタスなオープンソースクラウドコンピューティング基盤を産み出そうという共同研究プロジェクトです。簡単に実装できて、大規模に展開することができ、機能豊富なプラットフォームとして、ありとあらゆるクラウドで使われることを目標としています。相互に関連がある一連のプロジェクトから成り、クラウドのインフラソリューションに値する様々なコンポーネントが存在します。
目次
コンポーネント
コンピュート (Nova)
nova-libertyAUR が AUR からインストールできます。
ネットワーキング (Neutron)
neutron-libertyAUR が AUR からインストールできます。
イメージサービス (Glance)
glance-libertyAUR が AUR からインストールできます。
ブロックストレージ (Cinder)
cinder-kiloAUR が AUR からインストールできます。
オブジェクトストレージ (Swift)
python-swiftclientAUR が AUR からインストールできます。
アイデンティティサービス (Keystone)
keystone-libertyAUR が AUR からインストールできます。
ダッシュボード (Horizon)
horizon-libertyAUR が AUR からインストールできます。
テレメトリ (Ceilometer)
python-ceilometerclientAUR が AUR からインストールできます。
オーケストレーション (Heat)
python-heatclientAUR が AUR からインストールできます。
イメージ
利用可能なイメージ
大抵の GNU/Linux ディストリビューションの 公式 Openstack イメージ が利用できます。
Arch のイメージは未完成です。http://linuximages.de/openstack/arch/ から実験的なイメージがダウンロードできます。
自分でイメージを作成
OpenStack イメージは 特定の要件 を満たす必要があります。イメージは手動で作成することもできますし、ツールの力を借りることも可能です。
ツールについて言えば、image-bootstrap の --openstack
パラメータが役に立つでしょう。2015年6月24日現在、作成されるイメージは実験的な段階に留まります。
手動で作成する場合、主な手順は以下のとおり:
- ディスクをパーティショニングして ext3/4 パーティションを作成。
- 作成したパーティションにベースシステムをインストール (例: arch-install-scripts の
pacstrap
を使用)。 - ブートローダーをインストール (例: GRUB や extlinux)。
- cloud-init をインストール・設定。
- パスワードを入力しなくても sudo を実行できる非特権ユーザーを追加。
- DHCP で
eth0
を設定。- ネットワークインターフェイスの名前が
eth*
になるように udev を設定。 eth0
で DHCP を使用するように systemd-networkd を設定。
- ネットワークインターフェイスの名前が
- SSH サーバーをインストール。
- initramfs を設定して initramfs イメージを再生成。
autodetect
フックを無効化 (chroot からは自動検知の挙動が変わるため)。- mkinitcpio-growrootfsAUR の
growfs
フックを有効にするか cloud-utils-bzrAUR のgrowpart
をインストールして cloud-init でサイズを変更。
- サービスを自動的に起動するように設定 (例:
systemctl enable ...
)。 - 生成済みの鍵 (SSH サーバーや pacman の鍵) を削除。任意で最初の起動時に新しい鍵を生成。
- 2つのシステムが混同されないようにマシン ID (
/etc/machine-id
と/var/lib/dbus/machine-id
) を削除。