trove基于centos7制作mysql5.5镜像-创新互联

本文档是手动制作mysql5.5的trove镜像

创新互联公司-专业网站定制、快速模板网站建设、高性价比丰台网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式丰台网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖丰台地区。费用合理售后完善,10多年实体公司更值得信赖。

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  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.5 mysql \         0eb99bad-ad41-420c-bab5-844d84421c23 '' 1

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前文章:trove基于centos7制作mysql5.5镜像-创新互联
当前链接:http://azwzsj.com/article/coisjj.html