采用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产生。默认正常如下
 

 
在客户端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

openstack私有云布署实践【9.3 主从controller单向同步glance-image目录】的更多相关文章

  1. openstack私有云布署实践【12.2 网络Neutron-controller节点配置(办公网环境)】

    网络这一块推荐使用的是 Neutron--LinuxBirdge的Ha高可用,此高可用方案对Public作用不是很大,Public只用到DHCP,而Private则会用到L3 Agent,则此方案是有 ...

  2. openstack私有云布署实践【12.1 网络Neutron-controller节点配置(科兴环境)】

    网络这一块推荐使用的是 Neutron--LinuxBirdge的Ha高可用,此高可用方案对Public作用不是很大,Public只用到DHCP,而Private则会用到L3 Agent,则此方案是有 ...

  3. openstack私有云布署实践【0 前言】

    管理控制层面示图: 其实在修改这个布署文档是,我发现当时生产中的布署已经严重偏离了openstack高可用的指导思想.我们自己实践的高可用其实是适应自己的架构而做的调整,因为我们现实手头上中没有比较符 ...

  4. openstack私有云布署实践【2 安装前的服务器基本环境准备】

    服务器物理机都安装centos7.2 1511版本 , 此次采用的分区方式全是自动XFS格式LVM,在装系统时就将所有本地raid5硬盘都加入LVM全用了.默认/home目录有着最大的硬盘空间 并且我 ...

  5. openstack私有云布署实践【15 创建租户网络+实例】

    这里以办公网测试环境为例,   (一)创建租户demo的网络   使用admin用户 source admin-openrc.sh 创建public公网 neutron net-create 1040 ...

  6. openstack私有云布署实践【16.3 Windows Server2008 R2 只有C盘分区镜像制作】

    之所以要只有C盘分区镜像,是因为在创建VM或者调整云主机的硬盘大小时,它能自动扩容.无需人工介入   参考http://www.iyunv.com/thread-45149-1-1.html的灵感   ...

  7. openstack私有云布署实践【11.3 计算nova - compute节点-nova用户免密登录(用于云主机冷迁移+扩展云主机大小)】

    云主机迁移+扩展云主机大小 ,官方说它依赖nova用户之间的免密登录.确保每个resion区域的compute节点服务器他们可以相互SSH免密   compute1-7     他们相互SSH免密 k ...

  8. openstack私有云布署实践【16.2 Ubuntu1404 只有根分区镜像制作】

    之所以要只有根分区镜像,是因为在创建VM或者调整云主机的硬盘大小时,它能自动扩容.无需人工介入   在原来的物理机10.40.41.1的CentOS 6.7上制作镜像. 宿主机坱要安装KVM相关软件: ...

  9. openstack私有云布署实践【16.1 CentOS7.1 只有根分区镜像制作】

    之所以要只有根分区镜像,是因为在创建VM或者调整云主机的硬盘大小时,它能自动扩容.无需人工介入   在原来的物理机10.40.41.1的CentOS 6.7上制作镜像.(当然如果你的制作镜像的宿主机是 ...

随机推荐

  1. [Usaco2007 Jan]Running贝茜的晨练计划[一般DP]

    Description 奶牛们打算通过锻炼来培养自己的运动细胞,作为其中的一员,贝茜选择的运动方式是每天进行N(1 <= N <= 10,000)分钟的晨跑.在每分钟的开始,贝茜会选择下一 ...

  2. Day2:T1搜索 T2最小生成树

    T1:广搜+判断矩形 注:如何判断搜的是否为矩形: 在广搜的时候,记录下边界的坐标,然后枚举一遍过去,如果搜到"."就是牛群,否则就是房间 瞥了一眼ccy的做法,据说是floodf ...

  3. vs2015开发Windows服务

    工作已经很久,时隔这么长时间写这篇文章是给自己以后做参考.也不至于以后长时间不写Windows服务而忘记整个开发过程.windows服务开发,基础的就不说了,直接上过程. 1.新建windows服务项 ...

  4. WCF引用方式

    WCF之各种WCF引用方式 写在开头:本文内容来自 WCF全面解析中的一个经典例子,如果你已经看过了,那么可以忽略本文,本文旨在和大家分享不一样的WCF使用方法. 准备工作: 1.创建解决方案WCFS ...

  5. MSSQL Rebuild(重建)索引

    MSSQL Rebuild(重建)索引 前的项目是做数据库的归档,在每次archive后都需要对原数据库的索引进行rebuild,以减少索引碎片,于是乎就自己写了一段sql: DECLARE @tab ...

  6. vim 多行同时输入,且输入数值递增

    很有用的命令. 很给力的说. http://vim.wikia.com/wiki/Making_a_list_of_numbers 我在 html中需要增加新的标签的时候,就有用到过. 原来的html ...

  7. 32位Win7下安装与配置PHP环境(二)

    本安装实例中用到的三个软件,都可以直接从官网下载,为了方便,也可以直接从本人的CSDN资源中打包下载. 三个安装文件如图示: CSDN高速下载地址: http://download.csdn.net/ ...

  8. VS2012下基于Glut 矩阵变换示例程序2:

    在VS2012下基于Glut 矩阵变换示例程序:中我们在绘制甜圈或者圆柱时使用矩阵对相应的坐标进行变换后自己绘制甜圈或者圆柱.我们也可以使用glLoadMatrixf.glLoadMatrixd载入变 ...

  9. 记一次修复被篡改的IE首页

    今天开电脑,打开IE发现首页被篡改为http://www.you2000.cn/,下意识是恶意插件造成的,可是为什么金山卫士没发现呢(我电脑上只装了一个金山卫士)?我锁定首页的啊... 只好手动运行金 ...

  10. 定义文件XML——从简单开始

    本文纯属个人见解,是对前面学习的总结,如有描述不正确的地方还请高手指正~ 通过看XML讲授的视频,算是对XML有了简略的认识,原本不盘算写这篇博客,但无法原来视频讲授的内容就少,再不踊跃写些东西,过不 ...