trove 基于 centos7 制作 mysql5.5 镜像

本文档是手动制作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

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源码

su - 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 <[email protected]>
Date:   Thu Jan 19 16:07:48 2017 +0000

    Merge "Fix backup of mysql variants on Centos"
...
commit f5d1caea889f85196dfc1efe4892560f0b145191
Author: Doug Shelley <[email protected]> 2016-01-20 04:22:03
Committer: Doug Shelley <[email protected]> 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
cd ~
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=/home/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
时间: 2024-12-29 10:09:49

trove 基于 centos7 制作 mysql5.5 镜像的相关文章

trove 基于 centos7 制作 mysql5.6 镜像

本文档是手动制作mysql5.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

Centos7制作docker初始镜像

Centos7用febootstrap制作docker初始镜像包 使用工具:febootstrap 下载地址:http://down.51cto.com/data/2330414 使用命令: febootstrap -i bash -i wget -i yum -i iputils -i iproute -i man -i vim -i openssh-server -i openssh-clients -i tar -i gzip centos7  /tmp/centos-image/  ht

基于Dockerfile制作tomcat镜像

Docker 概述: ??在前面的例子中,我们从下载镜像,启动容器,在容器中输入命令来运行程序,这些命令都是手工一条条往里输入的,无法重复利用,而且效率很低.所以就需要一种文件或脚本,我们把想执行的操作以命令的方式写入其中,然后让 docker 读取并分析.执行,那么重复构建.更新将变得很方便,所以Dockerfile 就此诞生了 常用参数: FROM 命令.用法, FROM <image>:<tag>. FROM 命令告诉 docker 我们构建的镜像是以哪个(发行版)镜像为基础

使用Docker构建基于centos7镜像的python环境

Dcokerfile配置信息 ############################################## # 基于centos7构建python3运行环境 # 构建命令: 在Dockerfile文件目录下执行 docker build -t python-centos:3.5 . # 容器启动命令: docker run -itd --name python --restart always --privileged=true -v /root/dockers/python:/

hi3531 SDK已编译文件系统制作jffs2文件系统镜像并解决问题 .

一, 安装SDK 1.Hi3531 SDK包位置 在"Hi3531_V100R001***/01.software/board"目录下,您可以看到一个 Hi3531_SDK_Vx.x.x.x.tgz 的文件, 该文件就是Hi3531的软件开发包. 2.解压缩SDK包 在linux服务器上(或者一台装有linux的PC上,主流的linux发行版本均可以),使用命令:tar -zxf Hi3531_SDK_Vx.x.x.x.tgz , 解压缩该文件,可以得到一个Hi3531_SDK_Vx.

ansible 部署基于centos7+docker+nginx+openssl+v2版私有仓库

ansible 部署基于centos7+docker.1.12+nginx+openssl+v2版私有仓库 1.申请域名证书不做详细教程网络上很多 2.ansible-playbook 结构 . ├── hosts # 需要安装服务器IP地址 ├── roles │   ├── docker │   │   ├── defaults │   │   ├── files │   │   │   └── dockerkey #证书 文件加 │   │   │       ├── domain.crt

(1)基于centos7.2的docker安装

注:此记录仅为自己学习docker测试,也是主要参考他人文章,不同环境安装方式不一 一.在 centos7.2上安装 Docker 最小化安装centos7.2操作系统 使用系统自带的源即可安装 #yum clean all && yum makecache #yum install docker 安装完启动docker服务 #systemctl start docker 运行docker命令 安装运行第一个HTTPD容器 # docker run -d -p 80:80 httpd 然后

&lt;一&gt;制作docker基础镜像

各位学习者,看完我这篇文章请不要匆匆离开,请留下你的笔迹,你的笔迹是作者继续奉献的动力. 1.使用reposync将base镜像库同步到本地 yum -y install yum-utils createrepo mkdir -p /data/centos7 find /etc/yum.repos.d/[!.]* -exec mv {} {}.bak \; cat << EOF > /etc/yum.repos.d/sync.repo [base] name=aliyun-centos7

Linux系统环境基于Docker搭建系统基础镜像

制作系统基础环境镜像 [x] 基于Ubuntu制作镜像资源 ??[注意事项]:由于拉取的Docker hub 的大多数镜像都没有安装Vim ss 等等资源,而且大部分镜像资源是官方镜像库更新资源后安装极其不方便,因此自己构建一个通用镜像尤为重要. 基于Ubuntu制作镜像资源 1.在宿主机创建文件目录:/docker/ubuntu/environment mkdir -p /docker/ubuntu/environment 2.安装的资源如下: java shh 等 vim psmisc rs