从零开始安装openstack swift

云计算Openstack Swift 定义:Ring是Swift中用于确定数据在集群中存储位置的核心组件。它通过一致性哈希算法将分区(partition)映射到不同的节点(node)上,从而实现数据的分布式存储。功能数据映射:Ring记录了每个分区与物理存储设备之间的映射关系,使得Swift系统能够快速地定位到数据的存储位置。负载均衡:通过一致性哈希算法,Ring能够确保数据在集群中的均衡分布,避免某些节点负载过重而其他节点空闲的情况。 阅读详情

安装环境

所需软件及版本

         VMware®Workstation 11.1.0 build-2496824(桌面虚拟计算机软件)

         ubuntu-12.04.5-desktop-amd64.iso(ubuntu14.04桌面版,server版也可)

         SSH(linux远程连接工具,putty之类的也可)

环境安装

         安装VMware®Workstation(尽量不要安装在固态硬盘上,偶尔会报错误)

         新建ubantu虚拟机(选择之前的ubuntu镜像进行安装即可,硬盘分了20个G)

                   Ssh使用root用户连接:

ubuntu默认是不启用root用户也不允许root远程登录的,通过如下步骤解决。

                                     启用root用户:sudopasswd root      //修改密码后就启用了。

 

                                    在此之前先执行apt-getupdate

安装OpenSSHserver:

1. 使用apt命令安装opensshserver

$ sudo apt-get install openssh-server

 

 

2. 可以对 openssh server进行配置

$ sudo vi /etc/ssh/sshd_config(如果这一步显示newfile则sshclient未安装上)

找到PermitRootLoginno一行,改为PermitRootLogin yes

 

3. 重启 openssh server

$ sudo service ssh restart

安装过程

1. 安装依赖包和核心代码

1. 以root身份登录。

# sudo su - root

 

2. 安装必须的依赖包、库。

# apt-get install python-software-properties

# add-apt-repository ppa:swift-core/release//注掉

# apt-get update

# apt-get install curl gcc git-core memcached python-coverage python-dev python-nose python-setuptools python-simplejson python-xattr sqlite3 xfsprogs python-eventlet python-greenlet python-pastedeploy python-netifaces python-pip

# pip install mock

 

3. 创建swift用户和组。在此,我们直接使用root作为用户名和组名。

接下来,需要选择使用一个分区作为存储(Using a partition for storage)或使用一个回环设备作为存储(Using a loopback device for storage),本文档使用回环设备作为存储。若希望使用一个单独的分区作为存储,请参阅这里。

2. 使用回环设备作为存储

1. 创建存储文件夹。

# mkdir /srv //提示文件夹已存在

 

2. 调整seek的值,可以创建一个更大或更小的分区。

# dd if=/dev/zero of=/srv/swift-disk bs=1024 count=0 seek=1000000

# mkfs.xfs -i size=1024 /srv/swift-disk

 

3. 编辑/etc/fstab并添加如下一行。

/srv/swift-disk /mnt/sdb1 xfs loop,noatime,nodiratime,nobarrier,logbufs=8 0 0

 

4. 创建挂载文件夹,并挂载。

# mkdir /mnt/sdb1

# mount /mnt/sdb1

 

5. 创建4个子节点文件夹。

# mkdir /mnt/sdb1/1 /mnt/sdb1/2 /mnt/sdb1/3 /mnt/sdb1/4

 

6. 改变权限,root:root对应<your-user-name>:<your-group-name>。

# chown root:root /mnt/sdb1/*

 

7. 为4个子节点创建同步链接。

# for x in {1..4}; do ln -s /mnt/sdb1/$x /srv/$x; done

 

8. 创建server等文件夹,并改编权限。注意,不要忘记/etc/swift/srv/[1-4]/最后一个“/”。

# mkdir -p /etc/swift/object-server /etc/swift/container-server /etc/swift/account-server /srv/1/node/sdb1 /srv/2/node/sdb2 /srv/3/node/sdb3 /srv/4/node/sdb4 /var/run/swift

# chown -R root:root /etc/swift /srv/[1-4]/ /var/run/swift

 

9. 编辑文件/etc/rc.local,在exit 0 之前添加如下4行。

 mkdir -p /var/cache/swift /var/cache/swift2 /var/cache/swift3 /var/cache/swift4

chown root:root /var/cache/swift*

mkdir -p /var/run/swift

chown root:root /var/run/swift

3. 设置Rsync

1. 创建文件/etc/rsyncd.conf,内容如下:

uid = root

gid = root

log file = /var/log/rsyncd.log

pid file = /var/run/rsyncd.pid

address = 127.0.0.1

 

[account6012]

max connections = 25

path = /srv/1/node/

read only = false

lock file = /var/lock/account6012.lock

 

[account6022]

max connections = 25

path = /srv/2/node/

read only = false

lock file = /var/lock/account6022.lock

 

[account6032]

max connections = 25

path = /srv/3/node/

read only = false

lock file = /var/lock/account6032.lock

 

[account6042]

max connections = 25

path = /srv/4/node/

read only = false

lock file = /var/lock/account6042.lock

 

[container6011]

max connections = 25

path = /srv/1/node/

read only = false

lock file = /var/lock/container6011.lock

 

[container6021]

max connections = 25

path = /srv/2/node/

read only = false

lock file = /var/lock/container6021.lock

 

[container6031]

max connections = 25

path = /srv/3/node/

read only = false

lock file = /var/lock/container6031.lock

 

[container6041]

max connections = 25

path = /srv/4/node/

read only = false

lock file = /var/lock/container6041.lock

 

[object6010]

max connections = 25

path = /srv/1/node/

read only = false

lock file = /var/lock/object6010.lock

 

[object6020]

max connections = 25

path = /srv/2/node/

read only = false

lock file = /var/lock/object6020.lock

 

[object6030]

max connections = 25

path = /srv/3/node/

read only = false

lock file = /var/lock/object6030.lock

 

[object6040]

max connections = 25

path = /srv/4/node/

read only = false

lock file = /var/lock/object6040.lock

 

2. 编辑文件/etc/default/rsync,设置参数RSYNC_ENABLE为true。

RSYNC_ENABLE=true

 

3. 启动rsync服务

# service rsync restart

4. 设置独立日志(可选)

1. 创建文件/etc/rsyslog.d/10-swift.conf,内容如下:

# Uncomment the following to have a log containing all logs together

#local1,local2,local3,local4,local5.*   /var/log/swift/all.log

openstack从零开始(0)——概述 openstack从零开始(1)overviewopenstack是开源的、支持所有云环境的云计算框架。openstack旨在简洁实现大规模性、可伸缩性、以及其他多种feature。来自世界各地的云计算专家共同开发openstack。 openstack通过多种相辅相成的service来提供IaaS解决方案,每种service都提供了api,方便整合成IaaS Service Projec 阅读详情

相关推荐

OpenStack实战部署指南:从零搭建云平台,涵盖KVM与Ironic裸机部署

云计算的核心在于通过虚拟化技术将物理资源池化,实现按需分配与自动化管理。其原理是通过软件定义的方式,将计算、存储、网络等基础设施抽象为服务。这一技术价值在于极大提升了资源利用率和运维效率,并帮助用户构建灵活、可扩展的私有云或混合云环境。在众多开源云平台中,OpenStack以其模块化架构和强大的生态成为构建云基础设施的主流选择。对于初学者和运维人员而言,掌握其部署是进入云技术领域的关键一步。本文聚焦于实战,详细解析如何从零开始,利用KVM虚拟化技术完成OpenStack的完整部署,并深入探讨了裸机部署服务I

weixin_33946605的博客 361

【保研经验】北科自动化到北大工学院

作者:办公室某学长 谢邀。。。作为拖延症晚期患者,希望能在我科开学前写完。 先简单介绍一下我的保研过程,申请了清华叉院&amp;北大叉院大数据&amp;北大信科计算机夏令营,三者都没入营;申请了自所夏令营(自所来宣讲时未交简历,这是重大错误),给了第二批补录但没去;最终九推去了北大工学院。我的这次保研最终成功的经历可以说有一定运气成分,不具有普适性,但在前期准备过程中还是有经验可以分享的。 ...

ruanjianbu的博客 1796

鸿蒙OS开机动画背后的秘密:从代码到视觉的完整解析(附源码分析)

本文深入解析了鸿蒙OS开机动画的系统级实现原理。从bootanimation服务的启动配置、与Render Service的协同,到基于VSync信号的帧率同步与绘制流水线,结合OpenHarmony源码进行了逐行解读。文章揭示了其事件驱动的优雅退出机制,并探讨了视频支持、多屏适配等高级特性与定制化可能,为开发者理解鸿蒙图形子系统提供了硬核技术视角。

sony5的博客 971

ANSYS Discovery 2023R1 保姆级教程:手把手教你玩转几何模型参数化(附避坑指南)

本文提供ANSYS Discovery 2023R1几何模型参数化的全面教程,涵盖基础环境搭建、核心操作解析及高级应用场景。重点讲解参数化建模中的常见问题与避坑方案,帮助用户高效掌握Workbench与Discovery的协同使用技巧,提升工程仿真效率。

weixin_29204205的博客 749

1.1 了解Spring框架 -《SSM深入解析与项目实战》

文章目录第1篇 基础概念第1章 谈谈SSM框架和Redis1.1 了解Spring框架1.1.1 如何学习Spring1.1.2 IoC(Inversion of Control 控制反转)1.1.3 AOP(Aspect Oriented Programing面向切面编程) 项目中所有的源码都可以在此链接的仓库中找到:https://github.com/chenhaoxiang/uifuture-ssm 本章非常形象的介绍了Springn中最核心的两个概念,IoC和AOP,使用了现实中的例子

谙忆-陈浩翔 2133

基于STM32、HAL库的GZP6816D气压传感器 驱动程序设计

测量范围:0-16kPa(可根据型号不同有变化)工作电压:1.8V-3.6V。高精度:±1% FS。

corlin6688的博客 217

C#读取和写入excel表数据--手把手教详解

C#读写excel数据详解

如如水的博客 4055

GEE:大面积研究区域数据分块导出,以解决内存限制和导出失败的问题

本文介绍了在Google Earth Engine (GEE)平台分块导出大面积研究区域数据的方法。针对直接导出大区域影像易失败的问题,作者提出通过网格分块技术进行处理。文章展示了完整的JavaScript代码示例,包含定义研究区域、加载ESA WorldCover数据集、设置分块参数(包括像素大小、分块尺寸)、创建网格系统、处理坐标转换等关键步骤。代码中还提供了错误处理和导出按钮功能,确保数据能可靠地分块导出到Google Drive。该方法有效解决了大区域数据导出时的内存限制问题,适用于全球范围的研究。

养乐多的博客 1186

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

上一篇: kettle环境变量的设置和获取
下一篇: Jclouds 使用(1)安装
DonaldGhk
博客等级 码龄13年 4粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值