trove centos 7に基づいてmysql 5を作成する.6ミラー


このドキュメントは、mysql 5を手動で作成します.6のtroveミラー
Openstackバージョンはnewton
1、基礎仮想マシンの作成
Openstackにログインして、troveミラーを作成するための仮想マシンを作成します.仮想マシンのルートディスクは最終的にglanceにアップロードされ、troveに使用されます.仮想マシンのルートディスク容量は必要に応じて設定されます.ここでは、このステップの詳細な操作を省略します.
次の操作はすべてこの仮想マシンにログインします.
2、配置ssh
cat /etc/ssh/sshd_config
UseDNS no

3、mysqlソースを追加する
yum install http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

yum remove mariadb-libs

4、編集/etc/yum.repos.d/mysql-community.repoはmysql 5を無効にする.7、mysql 5を有効にします.6
# Enable to use MySQL 5.6
[mysql56-community]
name=MySQL 5.6 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

5、mysql 5をインストールする.6
mysqlのインストールが完了したら、mysqldをランダムに起動する必要はありません.
yum install mysql-community-server

6、mysql 6を配置する.1、編集/etc/my.cnf、ファイルの末尾に次の行を追加して、includeのこの行の上に1行の空白があります
...

!includedir /etc/mysql/conf.d/

6.2、ディレクトリの作成
mkdir -p /etc/mysql/conf.d/

7、percona-xtrabackupをインストールする
innobackupex
yum install https://www.percona.com/redir/downloads/percona-release/redhat/percona-release-0.1-4.noarch.rpm
yum install percona-xtrabackup-24

8、ソースコードインストールtrove-agent 8.1、関連パッケージのインストール
yum install git python-virtualenv

8.2、ユーザーの作成
useradd -m trove

#   trove sudo
cat /etc/sudoers.d/trove 
Defaults:trove !requiretty
trove ALL=(ALL) NOPASSWD:ALL

8.3、troveソースコードのダウンロード
mkdir /opt/trove
chown trove:trove /opt/trove

su - trove
cd /opt/trove

git clone https://github.com/openstack/trove.git

8.4、統合コードcentosでバックアップする時、bug:1649592があるため、すでに統合した時にmasterブランチがあり、commitをstable/newtonブランチに統合する必要がある
commit c1fd3e3a4c643dba524656c8d53d3506233beaf3
Merge: 880c707 f5d1cae
Author: Jenkins 
Date:   Thu Jan 19 16:07:48 2017 +0000

    Merge "Fix backup of mysql variants on Centos"
...
commit f5d1caea889f85196dfc1efe4892560f0b145191
Author: Doug Shelley  2016-01-20 04:22:03
Committer: Doug Shelley  2016-12-14 00:29:41

8.5、統合提出
git config --global user.email  "youre mail"
git config --global user.name "yuoure name"

git checkout stable/newton
git cherry-pick f5d1cae

8.6、trove 8を取り付ける.6.1、troveを取り付ける
yum install gcc

su - trove
cd /opt/trove
virtualenv ven
source ven/bin/activate
pip install pip --upgrade

cd trove
pip install -r requirements.txt  \
    --index-url http://mirrors.aliyun.com/pypi/simple/ \
    --trusted-host mirrors.aliyun.com

python setup.py install

8.6.2、起動ファイルの作成
mkdir -p /etc/trove/conf.d
chown -R trove:trove /etc/trove

mkdir -p /var/lib/trove
chown -R trove:trove /var/lib/trove

mkdir -p /var/log/trove
chown -R trove:trove /var/log/trove

#   trove-guestagent.conf,guest_info.conf     ,
#    /etc/trove owner trove,  instance ,
#  nova           root  
#       ,nova           user group,          
touch /etc/trove/conf.d/trove-guestagent.conf
touch /etc/trove/conf.d/guest_info.conf
chown -R trove:trove /etc/trove

cat /usr/lib/systemd/system/trove-guestagent.service
[Unit]
Description=OpenStack Trove guestagent Service
After=syslog.target network.target

[Service]
Type=simple
User=trove
ExecStart=/opt/trove/ven/bin/trove-guestagent --config-file /etc/trove/conf.d/trove-guestagent.conf --config-file /etc/trove/conf.d/guest_info.conf
Restart=on-failure

[Install]
WantedBy=multi-user.target

systemctl daemon-reload
systemctl enable trove-guestagent

9、ミラーリング9.1をアップロードし、システムを整理する
rm -rf .ssh
rm -rf /home/trove/.cache/
rm -rf /var/lib/mysql/auto.cnf 
poweroff

9.2、ミラーをスナップショット10に作成し、troveを構成して作成したミラーを使用する
trove-manage --config-file /etc/trove/trove.conf   \
         datastore_version_update   mysql mysql-5.6 mysql \
         0eb99bad-ad41-420c-bab5-844d84421c23 '' 1