中小企业openstack私有云布署实践【9.3 主从controller单向同步glance-image目录】

采用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   [email protected]::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带宽给其它应用通信

[email protected]::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   [email protected]::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

时间: 2024-10-28 19:46:25

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

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

网络这一块推荐使用的是 Neutron--LinuxBirdge的Ha高可用,此高可用方案对Public作用不是很大,Public只用到DHCP,而Private则会用到L3 Agent,则此方案是有用的,但要关掉和牺牲一个L3 population的特性--抑制ARP报文广播.原因在下文的配置文件有说明,并因我们布的是私有云,不像公有云的多租户private网络数量之大,这个特性牺牲在中小私有云是可接受的. 一.首先登录controller1创建neutron数据库,并赋于远程和本地访问的权限

中小企业openstack私有云布署实践【16.3 Windows Server2008 R2 只有C盘分区镜像制作】

之所以要只有C盘分区镜像,是因为在创建VM或者调整云主机的硬盘大小时,它能自动扩容.无需人工介入 参考http://www.iyunv.com/thread-45149-1-1.html的灵感 在原来的物理机10.40.41.1的CentOS 6.7上制作镜像. 宿主机坱要安装KVM相关软件: yum groupinstall Virtualization "Virtualization Client" -y yum install libvirt libguestfs-tools q

中小企业openstack私有云布署实践【15 创建租户网络+实例】

这里以办公网测试环境为例, (一)创建租户demo的网络 使用admin用户 source admin-openrc.sh 创建public公网 neutron net-create 1040100 --shared --provider:physical_network public  --provider:network_type flat  --router:external 声明public网段DHCP等信息 neutron subnet-create 1040100 10.40.100

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

云主机迁移+扩展云主机大小 ,官方说它依赖nova用户之间的免密登录.确保每个resion区域的compute节点服务器他们可以相互SSH免密 compute1-7     他们相互SSH免密 kxcompute1-9  他们相互SSH免密 1.注意!是每台机器上的nova用户向另一台机器的nova用户的免密登录 每台compute节点修改ssh配置,目的是为了不让其提示输入yes保存密钥 vi /etc/ssh/ssh_config 尾部添加 StrictHostKeyChecking no

中小企业openstack私有云布署实践【13.2 网络Neutron-compute节点配置(办公网环境)】

所有compute节点 下载安装组件 # yum install openstack-neutron openstack-neutron-linuxbridge ebtables ipset -y 修改新增内核参数: vi /etc/sysctl.conf net.ipv4.conf.default.rp_filter=0 net.ipv4.conf.all.rp_filter=0 net.bridge.bridge-nf-call-iptables=1 net.bridge.bridge-nf

中小企业openstack私有云布署实践【16.2 Ubuntu1404 只有根分区镜像制作】

之所以要只有根分区镜像,是因为在创建VM或者调整云主机的硬盘大小时,它能自动扩容.无需人工介入 在原来的物理机10.40.41.1的CentOS 6.7上制作镜像. 宿主机坱要安装KVM相关软件: yum groupinstall Virtualization "Virtualization Client" -y yum install libvirt libguestfs-tools qemu virt-manager virt-viewer qemu-kvm virt-instal

中小企业openstack私有云布署实践【11.1 计算nova - compute节点配置(科兴环境)】

这里我只使用kxcompute1节点配置为示例,其它节点的配置基本是一样的,只是声明的管理IP不同而已 计算节点 # yum install openstack-nova-compute sysfsutils 修改配置文件 vi /etc/nova/nova.conf [DEFAULT] vcpu_pin_set = 4-31 resume_guests_state_on_host_boot=True rpc_backend = rabbit auth_strategy = keystone m

中小企业openstack私有云布署实践【8.2 身份认证keystone的API创建(办公网环境)】

其中一台controller上面加入环境变量,我选controller1,关注的是endpoint的名称不一样,其它创建的参数与生产环境一致 export OS_TOKEN=venicchina export OS_URL=http://controller:35357/v3 export OS_IDENTITY_API_VERSION=3 其中一台controller开始创建 openstack service create --name keystone --description "Ope

中小企业openstack私有云布署实践【9.1 Glance镜像管理(科兴环境)】

首先登录kxcontroller1创建kx_glance数据库,并赋于远程和本地访问的权限. mysql -u root -p CREATE DATABASE kx_glance; GRANT ALL PRIVILEGES ON kx_glance.* TO 'glance'@'localhost'  IDENTIFIED BY 'venic8888'; GRANT ALL PRIVILEGES ON kx_glance.* TO 'glance'@'%'  IDENTIFIED BY 'ven