本文档是手动制作Mysql5.5的trove镜像openstack版本为newton1、创建基础虚拟机登录openstack创建一台虚拟机,这台虚拟机用于制作trove镜像,虚拟机的根磁盘最终会上传到gla
本文档是手动制作Mysql5.5的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 禁用mysql5.7,启用mysql5.5
# Enable to use MySQL 5.5
[mysql55-community]
name=MySQL 5.5 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.5-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、安装mysql5.5
安装完mysql後,不必设置mysqld随机启动
yum install mysql-community-server
6、配置mysql
6.1、编辑/etc/my.cnf,在文件末尾添加下面一行,include这行上面有一行空白
...
!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 <jenkins@review.openstack.org>
Date: Thu Jan 19 16:07:48 2017 +0000
Merge "Fix backup of mysql variants on Centos"
...
commit f5d1caea889f85196dfc1efe4892560f0b145191
Author: Doug shelley <doug@parelastic.com> 2016-01-20 04:22:03
Committer: Doug Shelley <doug@parelastic.com> 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.5 mysql \
0eb99bad-ad41-420c-bab5-844d84421c23 '' 1
--结束END--
本文标题: trove 基于 centos7 制作 mysql5.5 镜像
本文链接: https://lsjlt.com/news/44504.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-10-23
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0