pikesaku’s blog

個人的な勉強メモです。記載内容について一切の責任は持ちません。

OpenStack環境構築メモ(コントローラ基本セットアップ)

参考URL

OpenStack Docs: OpenStack Installation Guide
 
以下作業をUbuntu 16.04LTS最小インストール後のコントローラ3台に実施する。
 

①apparmor無効化

$ sudo systemctl stop apparmor.service
$ sudo systemctl disable apparmor.service
$ sudo shutdown -r now

 

②NW設定

/etc/network/interfaces
※ipaddressはノード毎に適宜変更

source /etc/network/interfaces.d/*

auto lo
iface lo inet loopback

auto ens3
iface ens3 inet static
address 192.168.0.51
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameservers 192.168.0.1

auto ens9
iface ens9 inet static
address 192.168.1.51
netmask 255.255.255.0

/etc/hostname
※ノード毎に適宜変更

$ cnt1

 
設定ファイル変更し再起動(networklingサービス再起動では反映されない。以下URL参照)
Ubuntuでネットワーク設定の変更をする - Qiita
 

③OpenSSHセットアップ

$ sudo apt install openssh-server

 

④時刻同期設定

$ sudo apt -y install chrony
$ sudo systemctl disable systemd-timesyncd
$ sudo systemctl enable chrony
$ sudo shutdown -r now

 
再起動後、時刻同期確認

$ chronyc sources

 

⑤hostsファイル編集

/etc/hosts

127.0.0.1	localhost
192.168.1.50 cnt.local cnt
192.168.1.51 cnt1.local cnt1
192.168.1.52 cnt2.local cnt2
192.168.1.53 cnt3.local cnt3
192.168.1.61 nw1.local nw1
192.168.1.62 nw2.local nw2
192.168.1.71 cm1.local cm1
192.168.1.72 cm2.local cm2
192.168.1.1  nfs.local nfs

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

  

⑥OpenStackレポジトリ追加&パッケージ最新化&パッケージインストール

$ sudo add-apt-repository cloud-archive:pike
$ sudo apt update && sudo apt full-upgrade
$ sudo apt -y install python-openstackclient nfs-common  crudini apt-file

※apt-fileはyum provides同等機能を提供

aptとapt-getの違い

6.2. aptitude、apt-get、apt コマンド

APT は巨大なプロジェクトで、当初の予定ではグラフィカルインターフェースを含んでいました。APT はライブラリに基づいており、そのライブラリにはコアアプリケーションが含まれています。apt-get は最初のコマンドラインベースフロントエンドで、APT プロジェクト内で開発されました。apt は APT から提供されているもう一つのコマンドラインベースフロントエンドで、apt-get の持っていた設計上のミスを克服しています。

Ubuntu 16.04LTSメモ(systemd起動処理)

chronyはsystemd未対応(サービスファイルがない。しかし自動起動する。原因を調査)

chronyインストール後の状況

 
systemd用サービスファイルがパッケージに含まれず

$ dpkg -L chrony | egrep system
$ systemctl list-unit-files | egrep chrony
$

 
再起動後、何故か起動している。

$ sudo chronyc sources
210 Number of sources = 4
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^- next.kkyy.me                  2   6   377     8  +5858us[+5858us] +/-  225ms
^- secure.opticnerve.asia        2   8   367   203  +3836us[+3836us] +/-  104ms
^+ mail.moe.cat                  2   7   377    72  +7065us[+7065us] +/-   32ms
^* ec2-54-64-6-78.ap-northea     2   8   377   957   +352us[ +178us] +/-   31ms

 

想定される原因

 
systemd未対応アプリがあった場合に、/etc/init.d配下のスクリプトを実行する仕組みあり。
alpha.mixi.co.jp
 

自動起動設定

$ sudo systemctl disable chrony
chrony.service is not a native service, redirecting to systemd-sysv-install
Executing /lib/systemd/systemd-sysv-install disable chrony
insserv: warning: current start runlevel(s) (empty) of script `chrony' overrides LSB defaults (2 3 4 5).
insserv: warning: current stop runlevel(s) (0 1 2 3 4 5 6) of script `chrony' overrides LSB defaults (0 1 6).

$ sudo systemctl enable chrony
chrony.service is not a native service, redirecting to systemd-sysv-install
Executing /lib/systemd/systemd-sysv-install enable chrony
insserv: warning: current start runlevel(s) (empty) of script `chrony' overrides LSB defaults (2 3 4 5).
insserv: warning: current stop runlevel(s) (0 1 2 3 4 5 6) of script `chrony' overrides LSB defaults (0 1 6) 

警告は出るが設定はされる(動作確認済み)
 

OpenStackメモ

OpenStackデプロイツールについて

 
RHELではRHEL-OSP Directorがあり。
これはTripleo(OpenStack on OpenStack)がベース。
 
OpenStack Docs: TripleO Architecture
 
手動構築でコントローラ冗長化実現し、仕組みを把握してからやる。
 
UbuntuではConjure-up
www.ubuntu.com
 

セキュリティガイド

コンポーネント向けのセキュリティ対策設定の説明あり
OpenStack Docs: OpenStack Security Guide

Ubuntu 16.04LTSメモ(時刻同期)

systemd-timesyncd利用する場合

 
ntpインストール不要。
ntp/chronyパッケージと異なりSNTPによるクライアント機能のみ。
 

設定ファイルは以下

/etc/systemd/timesyncd.conf

[Time]
#NTP=
#FallbackNTP=ntp.ubuntu.com

NTP、FallbackNTPにNTPサーバを設定。
デフォルトは未設定のため、設定する必要あり。

$ sudo cp -p /etc/systemd/timesyncd.conf  /etc/systemd/timesyncd.conf_org
$ sudo crudini --set /etc/systemd/timesyncd.conf Time NTP "0.ubuntu.pool.ntp.org"
$ sudo crudini --set /etc/systemd/timesyncd.conf Time FallbackNTP "1.ubuntu.pool.ntp.org 2.ubuntu.pool.ntp.org 3.ubuntu.pool.ntp.org"
$ sudo systemctl restart systemd-timesyncd.service

 

起動デーモンは以下
/lib/systemd/systemd-timesyncd

 

systemd-timesyncdの詳細は以下参照

systemd-timesyncd - ArchWiki
 

chrony利用する場合

 

$ sudo apt install chrony
$ systemctl start chrony

自動起動設定は不要。
chronyはsystemdに対応しておらず、/etc/init.d配下に起動スクリプトがあり。
systemdは、ここに起動スクリプトを置いた場合、起動する仕様があり。
そのため自動起動設定は不要。
alpha.mixi.co.jp