分享

openstack【juno】入门 【swift篇】二十三:安装配置swift节点

pig2 发表于 2015-2-19 13:55:12 [显示全部楼层] 只看大图 回帖奖励 阅读模式 关闭右栏 6 56733
问题导读


1.存储节点需要添加几块网卡,几块硬盘?
2.如何让新增加硬盘生效?
3.存储节点都进行了哪些配置?
4.object1和object2配置有什么不同?








这一部分描述了安装配置存储节点,操作账户,容器,对象服务。为了简单起见,这个配置引用了两个存储节点,每一个都包含了两个空本地块存储设备。每一个设备, /dev/sdb 和 /dev/sdc,包含合适的分区表。尽管如此,swift指出文件系统的可扩展属性。
测试和基准测试表明最佳的性能和可靠性在xfs.更多swift信息,可以查看部署向导

这里新增两个存储节点object1object2,这个如果会使用虚拟机,相信不困难,这里就不在演示了。
注意:这里以object1的配置为例,object2配置只需要更换ip即可。

安装准备

你必须配置每一个节点,在安装配置对象服务。相应的控制节点,每个存储节点,在管理网络包含一个网卡。每个存储节点,可以包含两块网卡,第二块网卡作为独立的备份网卡。更多信息查看docs.openstack.org

安装openstack包

  1. apt-get install ubuntu-cloud-keyring
复制代码


  1. echo "deb http://ubuntu-cloud.archive.canonical.com/ubuntu" \
  2.   "trusty-updates/juno main" > /etc/apt/sources.list.d/cloudarchive-juno.list
复制代码




更新源
  1. apt-get update && apt-get dist-upgrade
复制代码





###################################

下面是以配置objetc1为例,object2只要更换管理网络ip地址即可objetc1 ip地址
  1. 10.0.0.51
复制代码


objetc2 ip地址
  1. 10.0.0.52
复制代码



1.配置管理


1.配置管理网络ip和hostname

objetc1

ip配置


打开文件
  1. sudo nano /etc/network/interfaces
复制代码


添加如下内容:
  1. auto eth0
  2. iface eth0 inet static
  3. address 10.0.0.51
  4. netmask 255.255.255.0
  5. gateway 10.0.0.2
  6. dns-nameservers 8.8.8.8
复制代码


hosts配置,编辑文件
  1. sudo nano /etc/hosts
复制代码


贴入如下内容:
  1. 127.0.0.1       localhost
  2. #127.0.1.1      ubuntu
  3. 10.0.0.51  objetc1
  4. 10.0.0.11 controller
  5. 10.0.0.52        object2
复制代码



1.png



objetc2

这里只是ip地址不同而已,其它均相同
  1. auto eth0
  2. iface eth0 inet static
  3. address 10.0.0.51
  4. netmask 255.255.255.0
  5. gateway 10.0.0.2
  6. dns-nameservers 8.8.8.8
复制代码



2.安装NTP


编辑文件
  1. sudo nano /etc/ntp.conf
复制代码


添加如下内容:
  1. server controller iburst
复制代码
注释掉其他server

重启NTP
  1. service ntp restart
复制代码


更多内容参考:
openstack【juno】入门 【准备篇】二::NTP安装


3.安装支持实用包

  1. apt-get install xfsprogs rsync
复制代码


4.格式化 /dev/sdb1 和 /dev/sdc1分区表,作为XFS

  1. mkfs.xfs /dev/sdb1
  2. mkfs.xfs /dev/sdc1
复制代码
首先这里需要在虚拟机添加两块硬盘,然后使用fdisk命令,对其进行划分区。详细参考:解决:Disk /dev/sdb doesn't contain a valid partition table

否则会出现下面问题
  1. mkfs.xfs /dev/sdb1
  2. /dev/sdb1: No such file or directory
复制代码



5.创建挂载点目录结构

  1. mkdir -p /srv/node/sdb1
  2. mkdir -p /srv/node/sdc1
复制代码


6.编辑文件 /etc/fstab添加如下内容


  1. sudo nano /etc/fstab
复制代码
添加下面内容:
  1. /dev/sdb1 /srv/node/sdb1 xfs noatime,nodiratime,nobarrier,logbufs=8 0 2
  2. /dev/sdc1 /srv/node/sdc1 xfs noatime,nodiratime,nobarrier,logbufs=8 0 2
复制代码


挂载:
  1. mount /srv/node/sdb1
  2. mount /srv/node/sdc1
复制代码


7.编辑 /etc/rsyncd.conf文件,添加如下内容


  1. sudo nano /etc/rsyncd.conf
复制代码
添加内容如下:
  1. uid = swift
  2. gid = swift
  3. log file = /var/log/rsyncd.log
  4. pid file = /var/run/rsyncd.pid
  5. address = MANAGEMENT_INTERFACE_IP_ADDRESS
  6. [account]
  7. max connections = 2
  8. path = /srv/node/
  9. read only = false
  10. lock file = /var/lock/account.lock
  11. [container]
  12. max connections = 2
  13. path = /srv/node/
  14. read only = false
  15. lock file = /var/lock/container.lock
  16. [object]
  17. max connections = 2
  18. path = /srv/node/
  19. read only = false
  20. lock file = /var/lock/object.lock
复制代码
替换存储节点管理网络ip地址,替换为下面内容:

  1. uid = swift
  2. gid = swift
  3. log file = /var/log/rsyncd.log
  4. pid file = /var/run/rsyncd.pid
  5. address = 10.0.0.51
  6. [account]
  7. max connections = 2
  8. path = /srv/node/
  9. read only = false
  10. lock file = /var/lock/account.lock
  11. [container]
  12. max connections = 2
  13. path = /srv/node/
  14. read only = false
  15. lock file = /var/lock/container.lock
  16. [object]
  17. max connections = 2
  18. path = /srv/node/
  19. read only = false
  20. lock file = /var/lock/object.lock
复制代码



注意:rsync服务不需要认证,所以考虑运行一个专用网络。

8.编辑文件  /etc/default/rsync文件,启用rsync 服务

  1. sudo nano /etc/default/rsync
复制代码

添加下面内容
  1. RSYNC_ENABLE=true
复制代码


9.启动rsync 服务

  1. service rsync start
复制代码
2.png

安装配置存储节点组件

注意:下面在存储节点执行
1.安装包

  1. apt-get install swift swift-account swift-container swift-object
复制代码

2.从库中下载,并保存accounting, container, 和 对象服务配置文件

  1. curl -o /etc/swift/account-server.conf \
  2.   https://raw.githubusercontent.com/openstack/swift/stable/juno/etc/account-server.conf-sample
复制代码

  1. curl -o /etc/swift/container-server.conf \
  2.   https://raw.githubusercontent.com/openstack/swift/stable/juno/etc/container-server.conf-sample
复制代码

  1. curl -o /etc/swift/object-server.conf \
  2.   https://raw.githubusercontent.com/openstack/swift/stable/juno/etc/object-server.conf-sample
复制代码
如果以上找不到,则下载下面链接,这是已经修改的,需要改成自己的配置
http://pan.baidu.com/s/1blMAEa

3.编辑文件 /etc/swift/account-server.conf,完成下面内容

  1. sudo nano /etc/swift/account-server.conf
复制代码


a.在 [DEFAULT] 部分,配置绑定ip地址,端口,用户,配置文件目录,和挂载点木兰
  1. [DEFAULT]
  2. ...
  3. bind_ip = MANAGEMENT_INTERFACE_IP_ADDRESS
  4. bind_port = 6002
  5. user = swift
  6. swift_dir = /etc/swift
  7. devices = /srv/node
复制代码
替换为下面内容

  1. [DEFAULT]
  2. ...
  3. bind_ip = 10.0.0.51
  4. bind_port = 6002
  5. user = swift
  6. swift_dir = /etc/swift
  7. devices = /srv/node
复制代码
配置文件中bind_port已经存在,这里记得把其他注释掉

b.在[pipeline:main]部分,启用appropriate 模块
  1. [pipeline:main]
  2. pipeline = healthcheck recon account-server
复制代码
文件中已经存在,可以使用默认

c.在 [filter:recon] 部分,配置缓存目录
  1. [filter:recon]
  2. ...
  3. recon_cache_path = /var/cache/swift
复制代码



4.编辑文件 /etc/swift/container-server.conf ,完成下面内容:

  1. sudo nano  /etc/swift/container-server.conf
复制代码


a.在 [DEFAULT]部分,配置绑定ip地址,端口,用户,配置目录,和挂载点
  1. [DEFAULT]
  2. ...
  3. bind_ip = MANAGEMENT_INTERFACE_IP_ADDRESS
  4. bind_port = 6001
  5. user = swift
  6. swift_dir = /etc/swift
  7. devices = /srv/node
复制代码
替换为如下内容
  1. [DEFAULT]
  2. ...
  3. bind_ip = 10.0.0.51
  4. bind_port = 6001
  5. user = swift
  6. swift_dir = /etc/swift
  7. devices = /srv/node
复制代码


b.在[pipeline:main]部分,启用appropriate 模块
  1. [pipeline:main]
  2. pipeline = healthcheck recon container-server
复制代码


启用更多额外功能参考:部署向导

c.在 [filter:recon]部分,配置缓存目录
  1. [filter:recon]
  2. ...
  3. recon_cache_path = /var/cache/swift
复制代码


5.编辑文件/etc/swift/object-server.conf ,完成下面内容:

  1. sudo nano /etc/swift/object-server.conf
复制代码


a.在 [DEFAULT]部分,配置绑定ip地址,绑定端口,用户,配置目录,和挂载点目录

  1. [DEFAULT]
  2. ...
  3. bind_ip = MANAGEMENT_INTERFACE_IP_ADDRESS
  4. bind_port = 6000
  5. user = swift
  6. swift_dir = /etc/swift
  7. devices = /srv/node
复制代码
MANAGEMENT_INTERFACE_IP_ADDRESS替换为
  1. [DEFAULT]
  2. ...
  3. bind_ip = 10.0.0.51
  4. bind_port = 6000
  5. user = swift
  6. swift_dir = /etc/swift
  7. devices = /srv/node
复制代码

b.在 [pipeline:main] 部分,启用appropriate 模块
  1. [pipeline:main]
  2. pipeline = healthcheck recon object-server
复制代码
启用更多额外功能参考:部署向导

c.在 [filter:recon]部分,配置缓存目录
  1. [filter:recon]
  2. ...
  3. recon_cache_path = /var/cache/swift
复制代码



6.给挂载点目录合适的权限
  1. chown -R swift:swift /srv/node
复制代码


7.创建recon(侦查) 目录,并授权
  1. mkdir -p /var/cache/swift
  2. chown -R swift:swift /var/cache/swift
复制代码




相关内容:

openstack【juno】入门 【准备篇】零:整体介绍

openstack【juno】入门 【准备篇】一: Ubuntu14.04远程连接(ssh安装)

openstack【juno】入门 【准备篇】二::NTP安装

openstack【juno】入门 【准备篇】三:mysql(MariaDB)安装

openstack【juno】入门 【准备篇】四::RabbitMQ 安装

openstack【juno】入门 【keystone篇】五::Keystone部署及介绍

openstack【juno】入门 【keystone篇】六::Keystone使用及遇到问题解决办法

openstack【juno】入门 【keystone篇】七:创建 service entity 和 API endpoint

openstack【juno】入门 【keystone篇】八:新手操作篇(验证操作篇)

openstack【juno】入门 【keystone篇】九:创建openstack客户端环境变量脚本

openstack【juno】入门 【glance 篇】十:glance初步介绍

openstack【juno】入门 【glance 篇】十一:glance安装配置

openstack【juno】入门 【glance 篇】十二:glance安装配置验证及相关操作

openstack【juno】入门 【nova 篇】十三(1):nova简单介绍

openstack【juno】入门 【nova 篇】十三(2):安装配置计算服务

openstack【juno】入门 【网络篇】十四:neutron介绍

openstack【juno】入门 【网络篇】十五:neutron安装部署(控制节点)

openstack【juno】入门 【网络篇】十六:neutron安装部署(网络节点)

openstack【juno】入门 【网络篇】十七:neutron安装部署(计算节点)

openstack【juno】入门 【网络篇】十八:创建实例化网络

openstack【juno】入门 【dashboard篇】十九:添加dashboard

openstack【juno】入门 【cinder篇】二十:cinder介绍及安装配置【控制节点】

openstack【juno】入门 【cinder篇】二十一:安装配置块存储节点(cinder)

openstack【juno】入门 【swift篇】二十二:对象存储安装配置【控制节点】

openstack【juno】入门 【swift篇】二十三:安装配置swift节点

openstack【juno】入门 【swift篇】二十四:创建初始rings

openstack【juno】入门 【swift篇】二十五:验证安装(控制节点)

openstack【juno】入门 【实例篇】二十六:创建实例(neutron)

openstack【juno】入门 【总结篇】二十七:openstack排除故障及常见问题记录

openstack【juno】入门 【总结篇】二十八:keystone及网络总结


已有(7)人评论

跳转到指定楼层
百威 发表于 2015-4-15 17:31:37
从这里到最后都是在存储节点配置吧:
“安装配置存储节点组件

注意:下面在存储节点执行
1.安装包”
那在下面的配置中,“bind_ip = 10.0.0.51”这个项目是配两条吗?一条10.0.0.51,一条10.0.0.52?

回复

使用道具 举报

howtodown 发表于 2015-4-15 18:30:22
百威 发表于 2015-4-15 17:31
从这里到最后都是在存储节点配置吧:
“安装配置存储节点组件

两个节点
回复

使用道具 举报

百威 发表于 2015-4-15 22:14:42

糟糕,我理解错了,我把swift装在了block节点上,怎样从block节点上清除掉swift?

点评

一般清楚不干净。autoremove 相关包  发表于 2015-4-16 00:42
回复

使用道具 举报

百威 发表于 2015-4-16 08:24:06
百威 发表于 2015-4-15 22:14
糟糕,我理解错了,我把swift装在了block节点上,怎样从block节点上清除掉swift?

那我现在回头再重装block行不行呢?
回复

使用道具 举报

xuanxufeng 发表于 2015-4-16 12:12:16
百威 发表于 2015-4-16 08:24
那我现在回头再重装block行不行呢?

可以试试。。。
回复

使用道具 举报

一丝丝傲慢 发表于 2015-11-25 14:39:24
curl: (28) Operation timed out after 0 milliseconds with 0 out of 0 bytes received是什么回事啊,楼主
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条