2016年7月26日火曜日

Oracle OpenStack R 2.1 | Oracle Linux 7 への Docker インストール。

【更新中】
この投稿は、下記の一部です。

Oracle OpenStack for Oracle Linux R 2.1 をためす。(2016年07月 版)
http://gowatana.blogspot.jp/2016/07/openstack-r2-201607-01.html


Oracle OpenStack R 2.1 では、
OpenStack 関連サービスを Docker コンテナとしてデプロイします。
そのため、構成されるほぼすべての Node で Docker Engine が起動することになります。

今回は、Oracle OpenStack R 2.1 むけに、Oracle Linux 7 への Docker をインストールです。

前提として、Oracle Linux 7 には下記の設定をしておきます。
Oracle OpenStack R 2.1 | Oracle Linux 7 の基本設定。

Oracle Linux 7 が新しめの Docker をサポートする状態にするため、
カーネルは UEK R4 以上にしています。
# uname -r
4.1.12-37.4.1.el7uek.x86_64

また、Docker のストレージ領域で Btrfs を使用するため btrfs-progs が必要です。
# rpm -q btrfs-progs
btrfs-progs-4.2.2-3.el7.x86_64

設定の概要。

docker-engine は、Controller Node には、この先インストールする openstack-kolla-preinstall の
依存関係でもインストールされるようですが、
今回は事前に Oracle Linux 共通でインストールしてしまいます。
  1. Docker のデータ格納領域の用意
  2. Docker Engine のインストール

1. Docker のデータ格納領域の用意。

Docker のイメージなどを格納するデータ領域として、Btrfs ファイルシステムのディスクを作成して
/var/lib/docker にマウントしておきます。
システム要件に従って 64 GB のディスク(/dev/sdb)をサーバに接続しています。

Btrfs のファイルシステムを作成します。
パーティションは作成せず、いきなりファイルシステムを作成します。
ファイルシステムのラベルは、わかりやすく「var-lib-docker」にしてあります。
# mkfs.btrfs -L var-lib-docker /dev/sdb

ファイルシステムが作成されました。
# btrfs filesystem show var-lib-docker
Label: 'var-lib-docker'  uuid: 99aa8497-3153-49d0-9fe5-6f5d3083c8c7
        Total devices 1 FS bytes used 112.00KiB
        devid    1 size 64.00GiB used 2.02GiB path /dev/sdb

btrfs-progs v4.2.2

マウントポイントのディレクトリを作成します。
# mkdir /var/lib/docker

/etc/fstab にマウント設定を追記して、マウントします。
# echo 'LABEL=var-lib-docker /var/lib/docker  btrfs  defaults  1 2' >> /etc/fstab
# mount -a
# df -h
ファイルシス        サイズ  使用  残り 使用% マウント位置
devtmpfs              3.8G     0  3.8G    0% /dev
tmpfs                 3.8G     0  3.8G    0% /dev/shm
tmpfs                 3.8G  8.5M  3.8G    1% /run
tmpfs                 3.8G     0  3.8G    0% /sys/fs/cgroup
/dev/mapper/ol-root    14G  1.5G   13G   11% /
/dev/sda1             497M  219M  279M   45% /boot
tmpfs                 773M     0  773M    0% /run/user/0
/dev/sdb               64G   17M   62G    1% /var/lib/docker

2. Docker Engine のインストール

Docker Engine をインストールします。
# yum install -y docker-engine

今回の docker-engine の RPM バージョンです。
# rpm -q docker-engine
docker-engine-1.10.3-1.0.3.el7.x86_64

docker サービスの自動起動の設定を有効にして、サービスを起動します。
# systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
# systemctl start docker

docker info コマンドで確認すると、
あらかじめ /var/lib/docker に Btrfs のファイルシステムをマウントしてあるので
Storage Driver が btrfs となっています。
# docker info
Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 0
Server Version: 1.10.3
Storage Driver: btrfs
 Build Version: Btrfs v3.19.1
 Library Version: 101
Execution Driver: native-0.2
Logging Driver: json-file
Plugins:
 Volume: local
 Network: host bridge null
Kernel Version: 4.1.12-37.4.1.el7uek.x86_64
Operating System: Oracle Linux Server 7.2
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 7.545 GiB
Name: opst-ctl01
ID: 6WP5:2KIK:CSFK:WT2Z:3FCY:XIVD:IHR6:MTQV:V42I:MAXY:KDAC:VALA

つづく。

0 件のコメント:

コメントを投稿