设为首页 收藏本站
查看: 945|回复: 0

[经验分享] openstack私有云布署实践【9.3 主从controller单向同步glance-image目录】

[复制链接]

尚未签到

发表于 2017-6-27 14:35:25 | 显示全部楼层 |阅读模式
采用Rysnc单向同步,而不用双方实时同步,原因是在历史的运行过程中,我们发现,有些镜像包太大,当在主用的glance将镜像保存时,并不是一时半会就把镜像保存好,当主用在保存时,备用节点又在实时同步那个正常拷贝保存状态中的不完整主用文件,因此我们会看到在备节点上,它删了又拷的方式,非常损耗机器的硬盘。

所以我们采用Rysnc单向同步, 做这一步时,我已布署好了之前的集群。下面的示例是以办公网测试环境为例,科兴的雷同,只是IP和主机名不同而已

使用root用户运行源服务器controller2的进程,controller1间接使用root用户同步controller2的/home/local/glance/images  ,将文件拉取过来,并保持文件的属性


2台controller安装软件,基本这个软件是CentOS发行版提前内置安装好的
yum install -y rsync*


在服务端源controller2上,
在源服务器controller2定义配置文件规则

vi /etc/rsyncd.conf
uid = root
gid = root
use chroot = no
read only = yes
hosts allow=10.40.42.0/255.255.255.0
hosts deny=*
max connections = 50


log file = /var/log/rsync.log
pid file = /var/run/rsyncd.pid

[glance]
path = /home/local/glance/images
list=yes
ignore errors
auth users = root
comment = This is openstack-controller2-glance-image-file-rysnc source data
secrets file = /etc/rsyncd.secrets



保存退出,
创建一个用于客户端登录认证的密码文件,服务启动,开机自启
touch /etc/rsyncd.secrets
chmod 600 /etc/rsyncd.secrets
vi /etc/rsyncd.secrets
root:myrsynpass
保存退出

服务启动,开机自启
service rsyncd start
chkconfig rsyncd on

检查一下没有错误LOG产生。默认正常如下
DSC0000.png

在客户端controller1上,


上面已提到客户端装有rsync的程序,那我们可以不用启动客户端的服务,直接可以使用它的命令
先创建一个rsync的密码文件
touch /etc/rsyncd.secrets
chmod 600 /etc/rsyncd.secrets
vi /etc/rsyncd.secrets
myrsynpass
保存退出

先使用命令跑一遍,看看效果。

/usr/bin/rsync -rtopglH --progress --delete --bwlimit 90000   root@controller2::glance /home/local/glance/images/ --password-file=/etc/rsyncd.secrets

命令说明
-rtopglH
-r, --recursive 对子目录以递归模式处理
-t, --times 保持文件时间信息
-o, --owner 保持文件属主信息
-p, --perms 保持文件权限
-g, --group 保持文件属组信息
-l, --links 保留软链结
-H, --hard-links 保留硬链结

--progress  显示同步过程
--bwlimit 90000 KBPS  代表80MBtye/S ,拆算带宽就是800Mbps 。由于我们的管理口是1000M的网口,可选预留200M带宽给其它应用通信
root@controller2::glance   源的rsynce中的glance子项目--跟上面的配置文件对应
/home/local/glance/images/   目标存放目录

--password-file 密码文件,不加的话,就是要自己手输密码myrsynpass



确认命令执行效果无问题的话,
接下来就是在在controller1备份客户机上 写shell脚本,定时执行增量备份
mkdir /usr/script
touch  /usr/script/rsyncd.sh
chmod +x /usr/script/rsyncd.sh

vi /usr/script/rsyncd.sh

rsyncProcess=`ps aux|grep "/usr/bin/rsync" |grep -v grep`

if [ ${#rsyncProcess} -ne 0 ]

then
        echo $(date +%Y-%m-%d_%H:%M:%S) >> /var/log/rsync.log
        echo "`date` Process is already running! DO NOTHING!!"  >> /var/log/rsync.log

else
        /usr/bin/rsync -rtopglH --progress --delete --bwlimit 90000   root@controller2::glance /home/local/glance/images/ --password-file=/etc/rsyncd.secrets 1>>/var/log/rsync.log 2>&1
        echo $(date +%Y-%m-%d_%H:%M:%S) >> /var/log/rsync.log
        echo "Process is not running! RUN rsync glance-file Successfully" >> /var/log/rsync.log
fi


保存退出
先走了遍脚本有没有问题
/bin/sh /usr/script/rsyncd.sh

观察一下/var/log/rsync.log是否正常输出,

正常写入定时任务,每天凌晨1点同步一次
crontab -e
* 1 * * * /bin/sh /usr/script/rsyncd.sh  >/dev/null 2>&1

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-388724-1-1.html 上篇帖子: openstack中nova组件Hypervisors、Floating_ips的全部python API 汇总 下篇帖子: 使用apache构建OpenStack内部yum源
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表