问题导读
1.存储节点需要添加几块网卡,几块硬盘?
2.如何让新增加硬盘生效?
3.存储节点都进行了哪些配置?
4.object1和object2配置有什么不同?
这一部分描述了安装配置存储节点,操作账户,容器,对象服务。为了简单起见,这个配置引用了两个存储节点,每一个都包含了两个空本地块存储设备。每一个设备, /dev/sdb 和 /dev/sdc,包含合适的分区表。尽管如此,swift指出文件系统的可扩展属性。
测试和基准测试表明最佳的性能和可靠性在xfs.更多swift信息,可以查看部署向导
这里新增两个存储节点object1和object2,这个如果会使用虚拟机,相信不困难,这里就不在演示了。
注意:这里以object1的配置为例,object2配置只需要更换ip即可。
安装准备
你必须配置每一个节点,在安装配置对象服务。相应的控制节点,每个存储节点,在管理网络包含一个网卡。每个存储节点,可以包含两块网卡,第二块网卡作为独立的备份网卡。更多信息查看docs.openstack.org
安装openstack包
- apt-get install ubuntu-cloud-keyring
复制代码
- echo "deb http://ubuntu-cloud.archive.canonical.com/ubuntu" \
- "trusty-updates/juno main" > /etc/apt/sources.list.d/cloudarchive-juno.list
复制代码
更新源
- apt-get update && apt-get dist-upgrade
复制代码
###################################
下面是以配置objetc1为例,object2只要更换管理网络ip地址即可objetc1 ip地址
复制代码
objetc2 ip地址
复制代码
1.配置管理
1.配置管理网络ip和hostname
objetc1
ip配置
打开文件
- sudo nano /etc/network/interfaces
复制代码
添加如下内容:
- auto eth0
- iface eth0 inet static
- address 10.0.0.51
- netmask 255.255.255.0
- gateway 10.0.0.2
- dns-nameservers 8.8.8.8
复制代码
hosts配置,编辑文件
复制代码
贴入如下内容:
- 127.0.0.1 localhost
- #127.0.1.1 ubuntu
- 10.0.0.51 objetc1
- 10.0.0.11 controller
- 10.0.0.52 object2
复制代码
objetc2
这里只是ip地址不同而已,其它均相同
- auto eth0
- iface eth0 inet static
- address 10.0.0.51
- netmask 255.255.255.0
- gateway 10.0.0.2
- dns-nameservers 8.8.8.8
复制代码
2.安装NTP
编辑文件
复制代码
添加如下内容:
复制代码 注释掉其他server
重启NTP
复制代码
更多内容参考:
openstack【juno】入门 【准备篇】二::NTP安装
3.安装支持实用包
- apt-get install xfsprogs rsync
复制代码
4.格式化 /dev/sdb1 和 /dev/sdc1分区表,作为XFS
- mkfs.xfs /dev/sdb1
- mkfs.xfs /dev/sdc1
复制代码
首先这里需要在虚拟机添加两块硬盘,然后使用fdisk命令,对其进行划分区。详细参考:解决:Disk /dev/sdb doesn't contain a valid partition table
否则会出现下面问题
- mkfs.xfs /dev/sdb1
- /dev/sdb1: No such file or directory
复制代码
5.创建挂载点目录结构
- mkdir -p /srv/node/sdb1
- mkdir -p /srv/node/sdc1
复制代码
6.编辑文件 /etc/fstab添加如下内容
复制代码 添加下面内容:
- /dev/sdb1 /srv/node/sdb1 xfs noatime,nodiratime,nobarrier,logbufs=8 0 2
- /dev/sdc1 /srv/node/sdc1 xfs noatime,nodiratime,nobarrier,logbufs=8 0 2
复制代码
挂载:
- mount /srv/node/sdb1
- mount /srv/node/sdc1
复制代码
7.编辑 /etc/rsyncd.conf文件,添加如下内容
- sudo nano /etc/rsyncd.conf
复制代码
添加内容如下:
- uid = swift
- gid = swift
- log file = /var/log/rsyncd.log
- pid file = /var/run/rsyncd.pid
- address = MANAGEMENT_INTERFACE_IP_ADDRESS
-
- [account]
- max connections = 2
- path = /srv/node/
- read only = false
- lock file = /var/lock/account.lock
-
- [container]
- max connections = 2
- path = /srv/node/
- read only = false
- lock file = /var/lock/container.lock
-
- [object]
- max connections = 2
- path = /srv/node/
- read only = false
- lock file = /var/lock/object.lock
复制代码
替换存储节点管理网络ip地址,替换为下面内容:
- uid = swift
- gid = swift
- log file = /var/log/rsyncd.log
- pid file = /var/run/rsyncd.pid
- address = 10.0.0.51
-
- [account]
- max connections = 2
- path = /srv/node/
- read only = false
- lock file = /var/lock/account.lock
-
- [container]
- max connections = 2
- path = /srv/node/
- read only = false
- lock file = /var/lock/container.lock
-
- [object]
- max connections = 2
- path = /srv/node/
- read only = false
- lock file = /var/lock/object.lock
复制代码
注意:rsync服务不需要认证,所以考虑运行一个专用网络。
8.编辑文件 /etc/default/rsync文件,启用rsync 服务
- sudo nano /etc/default/rsync
复制代码
添加下面内容
复制代码
9.启动rsync 服务
复制代码
安装配置存储节点组件
注意:下面在存储节点执行
1.安装包
- apt-get install swift swift-account swift-container swift-object
复制代码
2.从库中下载,并保存accounting, container, 和 对象服务配置文件
- curl -o /etc/swift/account-server.conf \
- https://raw.githubusercontent.com/openstack/swift/stable/juno/etc/account-server.conf-sample
复制代码
- curl -o /etc/swift/container-server.conf \
- https://raw.githubusercontent.com/openstack/swift/stable/juno/etc/container-server.conf-sample
复制代码
- curl -o /etc/swift/object-server.conf \
- 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,完成下面内容
- sudo nano /etc/swift/account-server.conf
复制代码
a.在 [DEFAULT] 部分,配置绑定ip地址,端口,用户,配置文件目录,和挂载点木兰
- [DEFAULT]
- ...
- bind_ip = MANAGEMENT_INTERFACE_IP_ADDRESS
- bind_port = 6002
- user = swift
- swift_dir = /etc/swift
- devices = /srv/node
复制代码
替换为下面内容
- [DEFAULT]
- ...
- bind_ip = 10.0.0.51
- bind_port = 6002
- user = swift
- swift_dir = /etc/swift
- devices = /srv/node
复制代码
配置文件中bind_port已经存在,这里记得把其他注释掉
b.在[pipeline:main]部分,启用appropriate 模块
- [pipeline:main]
- pipeline = healthcheck recon account-server
复制代码
文件中已经存在,可以使用默认
c.在 [filter:recon] 部分,配置缓存目录
- [filter:recon]
- ...
- recon_cache_path = /var/cache/swift
复制代码
4.编辑文件 /etc/swift/container-server.conf ,完成下面内容:
- sudo nano /etc/swift/container-server.conf
复制代码
a.在 [DEFAULT]部分,配置绑定ip地址,端口,用户,配置目录,和挂载点
- [DEFAULT]
- ...
- bind_ip = MANAGEMENT_INTERFACE_IP_ADDRESS
- bind_port = 6001
- user = swift
- swift_dir = /etc/swift
- devices = /srv/node
复制代码
替换为如下内容
- [DEFAULT]
- ...
- bind_ip = 10.0.0.51
- bind_port = 6001
- user = swift
- swift_dir = /etc/swift
- devices = /srv/node
复制代码
b.在[pipeline:main]部分,启用appropriate 模块
- [pipeline:main]
- pipeline = healthcheck recon container-server
复制代码
启用更多额外功能参考:部署向导
c.在 [filter:recon]部分,配置缓存目录
- [filter:recon]
- ...
- recon_cache_path = /var/cache/swift
复制代码
5.编辑文件/etc/swift/object-server.conf ,完成下面内容:
- sudo nano /etc/swift/object-server.conf
复制代码
a.在 [DEFAULT]部分,配置绑定ip地址,绑定端口,用户,配置目录,和挂载点目录
- [DEFAULT]
- ...
- bind_ip = MANAGEMENT_INTERFACE_IP_ADDRESS
- bind_port = 6000
- user = swift
- swift_dir = /etc/swift
- devices = /srv/node
复制代码
MANAGEMENT_INTERFACE_IP_ADDRESS替换为
- [DEFAULT]
- ...
- bind_ip = 10.0.0.51
- bind_port = 6000
- user = swift
- swift_dir = /etc/swift
- devices = /srv/node
复制代码
b.在 [pipeline:main] 部分,启用appropriate 模块
- [pipeline:main]
- pipeline = healthcheck recon object-server
复制代码
启用更多额外功能参考:部署向导
c.在 [filter:recon]部分,配置缓存目录
- [filter:recon]
- ...
- recon_cache_path = /var/cache/swift
复制代码
6.给挂载点目录合适的权限
- chown -R swift:swift /srv/node
复制代码
7.创建recon(侦查) 目录,并授权
- mkdir -p /var/cache/swift
- 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及网络总结
|