立即注册 登录
About云-梭伦科技 返回首页

pig2的个人空间 https://www.aboutyun.com/?61 [收藏] [复制] [分享] [RSS]

日志

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

已有 1765 次阅读2015-2-26 18:05




原文:

问题导读


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




 



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

 

安装配置存储节点组件

注意:下面在存储节点执行
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



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



路过

雷人

握手

鲜花

鸡蛋

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 立即注册

关闭

推荐上一条 /2 下一条