从零开始安装openstack swift

这篇博客详细介绍了如何从零开始在Ubuntu 12.04上安装OpenStack Swift,包括安装环境准备、依赖包和核心代码安装、使用回环设备作为存储、设置Rsync和独立日志、配置节点、创建Swift运行脚本,以及安装过程中可能遇到的问题和解决办法。
摘要由CSDN通过智能技术生成

安装环境

所需软件及版本

         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,内容如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值