立即注册
登录
About云-梭伦科技
返回首页
pig2的个人空间
https://www.aboutyun.com/?61
[收藏]
[复制]
[分享]
[RSS]
空间首页
动态
记录
日志
相册
主题
分享
留言板
个人资料
导读
淘贴
博客
群组
社区VIP
APP下载
今日排行
本周排行
本周热帖
本月排行
本月热帖
会员排行
首页
Portal
专题
BBS
面试
办公|编程助手
更多
我的空间
好友
帖子
收藏
道具
勋章
任务
动态
日志
相册
分享
记录
留言板
群组
导读
日志
openstack【juno】入门 【swift篇】二十三:安装配置swift节点
已有 1764 次阅读
2015-2-26 18:05
原文:
http://www.aboutyun.com/thread-11700-1-1.html
问题导读
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地址
10.0.0.51
objetc2 ip地址
10.0.0.52
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配置,编辑文件
sudo nano /etc/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
编辑文件
sudo nano /etc/ntp.conf
添加如下内容:
server controller iburst
注释掉其他server
重启NTP
service ntp restart
更多内容参考:
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
添加如下内容
sudo nano /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
添加下面内容
RSYNC_ENABLE=true
9.启动rsync 服务
service rsync start
安装配置存储节点组件
注意:下面在存储节点执行
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
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
路过
雷人
握手
鲜花
鸡蛋
收藏
分享
邀请
举报
全部
作者的其他最新日志
•
种用于单张图像大尺度人脸三维重建的VRN算法
•
基于 Openpose 实现人体动作识别
•
基于OpenCV使用OpenPose进行多个人体姿态估计
•
《DensePose: Dense Human Pose Estimation In The Wild》阅读笔记
•
Field types of query result and registered TableSink do not match
•
Clickhouse bug DB::Exception: PeekableReadBuffer: Memory limit exceed
评论 (
0
个评论)
涂鸦板
您需要登录后才可以评论
登录
|
立即注册
评论
pig2
加为好友
给我留言
打个招呼
发送消息
关闭
推荐
/2
中文版ChatGPT
1.无需魔法 2.提高编程效率 3.提高文档能力
查看 »
新手帮助
新手帮助:注册遇到问题,领取资源,加入铁粉群,不会使用搜索,如何获取积分等
查看 »
意见
反馈