文章目录

  • 一、通过Kolla安装部署OpenStack train版
  • 1.通过Kolla安装部署OpenStack train版参考来源
  • 2.关闭防火墙 和 selinux
  • 3.设置 dns 和 主机名查询静态表
  • 4.设置网卡,配置网卡信息
  • 4.1systemctl restart network报错解决办法
  • 5.安装基础包
  • 6.生成ssh key,并给自己授权
  • 7.Kolla介绍
  • 8. 安装ansible kolla-ansible
  • 8.1pip install kolla-ansible==9.3.0报错
  • 9.进行基本OpenStack配置
  • 10.安装部署
  • 10.1部署安装kolla-ansible deploy -i /etc/kolla/all-in-one报错
  • 11.备注: docker 相关
  • 二、初始化OpenStack网络、镜像等,创建虚拟机。
  • 1.安装OpenStack命令行
  • 2.初始化OpenStack 如网络 安全组 实例类型等。通过init-runonce文件完成
  • 2.1/usr/share/kolla-ansible/init-runonce报错(不知道)
  • 3.镜像下载地址
  • 4.上传镜像
  • 5.安装虚拟机
  • 6.You must provide a username via either --os-username or env[OS_USERNAME]
  • 三、glance help image-create部分选项含义
  • 1.来源
  • 2.含义
  • 3.glance相关命令
  • 四、swift的安装过程
  • 1.总步骤
  • 2.安装步骤+截图
  • 3.swift命令介绍


一、通过Kolla安装部署OpenStack train版

1.通过Kolla安装部署OpenStack train版参考来源

https://www.icode9.com/content-4-838775.html

2.关闭防火墙 和 selinux

关闭防火墙

systemctl disable firewalld
systemctl stop firewalld

centos7 route安装 centos 安装tracert_openstack


关闭selinux

vi /etc/selinux/config
SELINUX=disabled

centos7 route安装 centos 安装tracert_centos_02


centos7 route安装 centos 安装tracert_linux_03


需重启系统后生效

setenforce 0

命令可将当前selinux设置为permissive,重启系统后失效

centos7 route安装 centos 安装tracert_centos7 route安装_04

3.设置 dns 和 主机名查询静态表

设置dns服务器地址

cat >> /etc/resolv.conf << EOF
nameserver	8.8.8.8
nameserver 8.8.4.4
EOF

centos7 route安装 centos 安装tracert_linux_05


hosts文件是Linux系统上一个负责ip地址与域名快速解析的文件

设置本机IP与域名

cat >> /etc/hosts << EOF
192.168.162.131	openstack
EOF

centos7 route安装 centos 安装tracert_centos7 route安装_06


设置主机名

cat >> /etc/hostname << EOF
openstack
EOF
hostnamectl set-hostname openstack

centos7 route安装 centos 安装tracert_centos_07

4.设置网卡,配置网卡信息

vi /etc/sysconfig/network-scripts/ifcfg-ens33

//修改以下几行,如果不存在则添加

BOOTPROTO=none  		//将dhcp改为none,使自动获取改为静态获取
ONBOOT=yes				//启动用该网卡
IPADDR=192.168.162.131  //设置IPv4地址
NETMASK=255.255.255.0  //设置子网掩码
GATEWAY=192.168.162.2  //设置默认网关
vi /etc/sysconfig/network-scripts/ifcfg-ens37

//修改以下几行,如果不存在则添加

TYPE=Ethernet
NAME=ens37
DEVICE=ens37 //如果是开启虚拟机后添加网卡,需要手动编辑以上三行
BOOTPROTO=none  //将dhcp改为none,使自动获取改为静态获取
ONBOOT=yes  //启用该网卡
systemctl restart network

centos7 route安装 centos 安装tracert_centos7 route安装_08


centos7 route安装 centos 安装tracert_centos_09


centos7 route安装 centos 安装tracert_centos_10


centos7 route安装 centos 安装tracert_centos_11


centos7 route安装 centos 安装tracert_docker_12

4.1systemctl restart network报错解决办法

service NetworkManager stop 关闭 NetworkManger 服务
chkconfig NetworkManager off 永久关闭 Manager网卡
service network restart 重启network网卡

centos7 route安装 centos 安装tracert_centos7 route安装_13

5.安装基础包

1.下载epel源

yum -y install epel-release

centos7 route安装 centos 安装tracert_centos_14


centos7 route安装 centos 安装tracert_centos_15


2.下载 vim 和 net-tools

yum -y install vim net-tools

centos7 route安装 centos 安装tracert_centos7 route安装_16


centos7 route安装 centos 安装tracert_linux_17


3.安装基础包

yum -y install python-devel libffi-devel gcc openssl-devel git python-pip

centos7 route安装 centos 安装tracert_openstack_18


centos7 route安装 centos 安装tracert_linux_19


设置pip的下载源 阿里云

mkdir .pip
cat > .pip/pip.conf << EOF
[global]
index-url=http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
EOF

centos7 route安装 centos 安装tracert_centos_20


升级pip

pip install --upgrade pip

一般来说可以成功,但有时升级完后pip 使用时报错sys.stderr.write(f“ERROR: {exc}“)
可以尝试安装20.3.4版本

pip install --upgrade pip==20.3.4

或者找到对应版本的get-pip文件 手动升级。

wget https://bootstrap.pypa.io/2.7/get-pip.py
python get-pip.py

centos7 route安装 centos 安装tracert_centos7 route安装_21

6.生成ssh key,并给自己授权

ssh-keygen
ssh-copy-id root@ALLInOne-Kolla

centos7 route安装 centos 安装tracert_openstack_22


一直按enter键

centos7 route安装 centos 安装tracert_centos7 route安装_23


password为1234(随意)

7.Kolla介绍

Kolla是OpenStack下用于自动化部署的一个项目,它基于docker和ansible来实现,其中docker主要负责镜像制作和容器管理,ansible主要负责环境的部署和管理。

Kolla实际上分为两部分:
  Kolla部分提供了生产环境级别的镜像,涵盖了OpenStack用到的各个服务;Kolla为操作OpenStack云提供可生产的容器和部署工具。
  Kolla-ansible部分提供了自动化的部署。Kolla-Ansible在Docker容器中部署OpenStack服务和基础设施组件。

8. 安装ansible kolla-ansible

使用pip时可能有警告

pip uninstall -y urllib3
pip uninstall -y chardet
pip install requests

centos7 route安装 centos 安装tracert_linux_24


1.使用pip安装ansible,注意不要使用yum安装,否则会与kolla中的YAML包冲突。且ansible版本应为2.6-2.9

pip install ansible==2.9.0

centos7 route安装 centos 安装tracert_docker_25


centos7 route安装 centos 安装tracert_openstack_26


2.pip安装kolla-ansible 同样需要指定版本,版本对应如下

https://releases.openstack.org/teams/kolla.html

pip install kolla-ansible==9.3.0

8.1pip install kolla-ansible==9.3.0报错

centos7 route安装 centos 安装tracert_openstack_27


centos7 route安装 centos 安装tracert_centos_28


centos7 route安装 centos 安装tracert_centos_29

pip install --ignore-installed requests

centos7 route安装 centos 安装tracert_openstack_30

pip install dnspython==1.15

centos7 route安装 centos 安装tracert_centos_31

pip install python-ldap==3.0.0b1

centos7 route安装 centos 安装tracert_linux_32

yum install openldap-devel

centos7 route安装 centos 安装tracert_docker_33

pip install kolla-ansible==9.3.0

centos7 route安装 centos 安装tracert_centos_34

pip install --ignore-installed kolla-ansible==9.3.0

centos7 route安装 centos 安装tracert_docker_35


centos7 route安装 centos 安装tracert_openstack_36

9.进行基本OpenStack配置

1.复制配置文件到/etc/kolla/

cp -r /usr/share/kolla-ansible/etc_examples/kolla /etc/
cp /usr/share/kolla-ansible/ansible/inventory/* /etc/kolla/

centos7 route安装 centos 安装tracert_centos7 route安装_37


文件说明:all-in-one是安装单节点OpenStack的ansible自动安装配置文件;multinode是安装多节点OpenStack的ansible自动安装配置文件;globals.yml是OpenStack部署的自定义配置文件;passwords.yml是OpenStack中各个服务的密码文件。

生成密码到passwords.yml 包括dashboard认证密码,grafana登录密码等

kolla-genpwd

centos7 route安装 centos 安装tracert_linux_38


这些密码是即将设置到OpenStack中的,安装部署OpenStack前可以修改,但是OpenStack安装完成后,不要再修改。

/etc/kolla/passwords.yml

centos7 route安装 centos 安装tracert_centos_39


centos7 route安装 centos 安装tracert_docker_40


2.添加一块新硬盘,设置为lvm vg卷组 作为cinder 卷

yum -y  install lvm2

centos7 route安装 centos 安装tracert_linux_41


创建一个PV卷

pvcreate /dev/sdb

centos7 route安装 centos 安装tracert_openstack_42


创建磁盘,虚拟机重启

centos7 route安装 centos 安装tracert_linux_43


创建卷组 卷组名cinder-volumes

vgcreate cinder-volumes /dev/sdb

centos7 route安装 centos 安装tracert_docker_44


3.编辑golbals配置文件。(只设置安装基本的OpenStack组件。)

vim /etc/kolla/globals.yml
# Valid options are ['centos', 'debian', 'rhel', 'ubuntu'] 系统类型
kolla_base_distro: "centos"

# Valid options are [ binary, source ]	安装方式
kolla_install_type: "binary"

# Do not override this unless you know what you are doing. 安装版本
openstack_release: "train"

# Location of configuration overrides	默认配置文件位置
#node_custom_config: "/etc/kolla/config"

# OpenStack内部管理网络地址。
#如果设置了高可用haproxy,此处为VIP(虚拟漂移IP)。使用ALLinOne配置,直接将ens33IP 写入即可
kolla_internal_vip_address: "192.168.162.131"

# OpenStack内部管理网络地址的网卡接口
network_interface: "ens33"

# 网卡应该在没有IP地址的情况下处于活动状态。
neutron_external_interface: "ens37"

# 关闭高可用
enable_haproxy: "no"

# 设置块存储cinder。默认使用lvm时块存储名称cinder-volumes
enable_cinder: "yes"
enable_cinder_backup: "yes"
enable_cinder_backend_lvm: "yes"
#cinder_volume_group: "cinder-volumes"

# Valid options are [ qemu, kvm, vmware, xenapi ]
# 如果设置虚拟机开启了CPU虚拟化 或者 宿主机支持CPU虚拟化且开启。那么可以使用kvm。 如果未启用CPU虚拟机,选择qemu。
nova_compute_virt_type: "qemu"

10.安装部署

1.bootstrap-server安装OpenStack所需的依赖包。包括docker等

kolla-ansible bootstrap-servers -i /etc/kolla/all-in-one

centos7 route安装 centos 安装tracert_linux_45


centos7 route安装 centos 安装tracert_linux_46


有的直接成功

报错解决方法

yum upgrade -y

执行完之后

kolla-ansible bootstrap-servers -i /etc/kolla/all-in-one

centos7 route安装 centos 安装tracert_centos7 route安装_47


centos7 route安装 centos 安装tracert_docker_48


设置docker 容器镜像加速,阿里云

cat >> /etc/docker/daemon.json << EOF
{
  "registry-mirrors": ["https://4606dfbh.mirror.aliyuncs.com"]
}
EOF

centos7 route安装 centos 安装tracert_centos_49


设置docker volume卷挂载方式 Share 方便增加磁盘,不用重启docker

mkdir -p /etc/systemd/system/docker.service.d
cat >> /etc/systemd/system/docker.service.d/kolla.conf << EOF
[Service]
MountFlags=shared
EOF

centos7 route安装 centos 安装tracert_openstack_50


重启docker

systemctl daemon-reload
systemctl restart docker

centos7 route安装 centos 安装tracert_docker_51


2.pull 拉取docker镜像。有时候出错停止,重新执行就好了。

kolla-ansible pull -i /etc/kolla/all-in-one

十几分钟

centos7 route安装 centos 安装tracert_docker_52


centos7 route安装 centos 安装tracert_centos7 route安装_53


centos7 route安装 centos 安装tracert_linux_54


3.检测安装。

kolla-ansible prechecks -i /etc/kolla/all-in-one

centos7 route安装 centos 安装tracert_openstack_55


centos7 route安装 centos 安装tracert_openstack_56


4.部署安装 不进行pull操作,直接deploy也是可以的。deploy会先把镜像下载到本地,然后设置配置文件,再运行容器。

kolla-ansible deploy -i /etc/kolla/all-in-one

centos7 route安装 centos 安装tracert_docker_57


centos7 route安装 centos 安装tracert_openstack_58


5.验证部署,并且生成/etc/kolla/admin-openrc.sh认证文件

kolla-ansible post-deploy -i /etc/kolla/all-in-one

centos7 route安装 centos 安装tracert_linux_59


centos7 route安装 centos 安装tracert_centos7 route安装_60

10.1部署安装kolla-ansible deploy -i /etc/kolla/all-in-one报错

按照https://www.icode9.com/content-4-838775.html

centos7 route安装 centos 安装tracert_openstack_61


centos7 route安装 centos 安装tracert_openstack_62


centos7 route安装 centos 安装tracert_linux_63


centos7 route安装 centos 安装tracert_centos_64


是IP地址

centos7 route安装 centos 安装tracert_docker_65


centos7 route安装 centos 安装tracert_linux_66


centos7 route安装 centos 安装tracert_openstack_67

11.备注: docker 相关

kolla安装OpenStack各个组件docker,容器使用的host网络模式,该模式下的Docker 容器会和host宿主机共享同一个网络namespace,故Docker Container可以和宿主机一样,使用宿主机的eth0,实现和外界的通信。换言之,Docker Container的IP地址即为宿主机 eth0的IP地址。
1.各个组件的日志文件.多个组件共用一个docker volume

ls /var/log/kolla/

centos7 route安装 centos 安装tracert_openstack_68


2.各个组件的配置文件

ls /etc/kolla/

可以修改配置文件,然后重启对应的docker 容器

centos7 route安装 centos 安装tracert_centos7 route安装_69


3.各个组件挂载的数据卷

docker volume ls

centos7 route安装 centos 安装tracert_linux_70

二、初始化OpenStack网络、镜像等,创建虚拟机。

1.安装OpenStack命令行

先安装版本不匹配的组件

pip install -I ipaddress

centos7 route安装 centos 安装tracert_linux_71


安装命令行工具

pip install python-openstackclient

centos7 route安装 centos 安装tracert_centos_72


centos7 route安装 centos 安装tracert_linux_73

2.初始化OpenStack 如网络 安全组 实例类型等。通过init-runonce文件完成

编辑init-runonce文件 去除 cirros镜像下载相关(下载速度特别慢)
设置外部网络相关

vim /usr/share/kolla-ansible/init-runonce
# This EXT_NET_CIDR is your public network,that you want to connect to the internet via.
# 与外部连接网络 相关设置
ENABLE_EXT_NET=${ENABLE_EXT_NET:-1}
EXT_NET_CIDR=${EXT_NET_CIDR:-'192.168.199.0/24'}
EXT_NET_RANGE=${EXT_NET_RANGE:-'start=192.168.199.20,end=192.168.199.79'}
EXT_NET_GATEWAY=${EXT_NET_GATEWAY:-'192.168.199.1'}

centos7 route安装 centos 安装tracert_docker_74


centos7 route安装 centos 安装tracert_centos7 route安装_75


centos7 route安装 centos 安装tracert_linux_76


加载认证

source /etc/kolla/admin-openrc.sh

centos7 route安装 centos 安装tracert_docker_77


初始化OpenStack。(部署完成未操作过OpenStack,不然可能有奇怪的错误)(不进行这一步,自己手动创建网络也是可以的)

/usr/share/kolla-ansible/init-runonce

centos7 route安装 centos 安装tracert_centos_78


执行命令可能会报错ImportError: No module named queue

replace “import queue” with:

from multiprocessing import Queue as queue

将相应报错文件 将import queue改为

/usr/lib/python2.7/site-packages/openstack/utils.py
/usr/lib/python2.7/site-packages/openstack/cloud/openstackcloud.py
from multiprocessing import Queue as queue

centos7 route安装 centos 安装tracert_docker_79


centos7 route安装 centos 安装tracert_centos7 route安装_80


centos7 route安装 centos 安装tracert_centos_81

2.1/usr/share/kolla-ansible/init-runonce报错(不知道)

centos7 route安装 centos 安装tracert_openstack_82


centos7 route安装 centos 安装tracert_centos_83


centos7 route安装 centos 安装tracert_centos7 route安装_84

3.镜像下载地址

https://download.cirros-cloud.net/0.4.0/

centos7 route安装 centos 安装tracert_docker_85


上传

centos7 route安装 centos 安装tracert_centos_86


来到这个目录

centos7 route安装 centos 安装tracert_centos7 route安装_87

4.上传镜像

glance help image-create

centos7 route安装 centos 安装tracert_centos7 route安装_88


解决方法

pip install python-glanceclient

centos7 route安装 centos 安装tracert_docker_89


centos7 route安装 centos 安装tracert_centos7 route安装_90

glance help image-create

centos7 route安装 centos 安装tracert_linux_91

glance image-create --name cirrors --min-disk 1 --visibility public --disk-format qcow2 --container-format bare --file cirros-0.4.0-x86_64-disk.img --progress

centos7 route安装 centos 安装tracert_linux_92


报错

source /etc/kolla/admin-openrc.sh

centos7 route安装 centos 安装tracert_openstack_93


再次执行

glance image-create --name cirrors --min-disk 1 --visibility public --disk-format qcow2 --container-format bare --file cirros-0.4.0-x86_64-disk.img --progress

centos7 route安装 centos 安装tracert_linux_94


centos7 route安装 centos 安装tracert_centos7 route安装_95


弄好查看镜像

glance image-list

centos7 route安装 centos 安装tracert_centos7 route安装_96


这里我上传了两次,将上面的cirrors改为cirros

下面以cirros为例

5.安装虚拟机

第一种

vi /usr/share/kolla-ansible/init-runonce

centos7 route安装 centos 安装tracert_docker_97


centos7 route安装 centos 安装tracert_docker_98

openstack server create --image cirros --flavor m1.tiny --key-name mykey --network demo-net demo1

或者

centos7 route安装 centos 安装tracert_centos7 route安装_99


centos7 route安装 centos 安装tracert_openstack_100

nova list

centos7 route安装 centos 安装tracert_docker_101


没有继续执行这个命令

centos7 route安装 centos 安装tracert_openstack_102


centos7 route安装 centos 安装tracert_centos7 route安装_103

nova get-vnc-console demo1 novnc

centos7 route安装 centos 安装tracert_linux_104


centos7 route安装 centos 安装tracert_docker_105


centos7 route安装 centos 安装tracert_centos_106

6.You must provide a username via either --os-username or env[OS_USERNAME]

重新进入报错

centos7 route安装 centos 安装tracert_openstack_107


我们便直接把我们的token给更新一下就可以了

[root@controller images]# source /etc/keystone/admin-openrc

那么我们可以查看一下我们的admin-openrc这个文件

[root@controller images]# vi /etc/keystone/admin-openrc 
export OS_PROJECT_DOMAIN_NAME=default
export OS_USER_DOMAIN_NAME=default
export OS_PROJECT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=000000
export OS_AUTH_URL=http://controller:35357/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
~

那么从这里我们可看出

这个admin-openrc文件中包含了我们发送请求所需的各种信息。

所以每次我们只需要source一下我们的该环境变量就可以啦

因为我的在root下面

centos7 route安装 centos 安装tracert_openstack_108


centos7 route安装 centos 安装tracert_centos_109

三、glance help image-create部分选项含义

2.含义

–architecture 指定操作系统架构
–protected 如果为True,镜像将不可删除
–name 指定镜像名称
–min-disk 启动镜像所需的最小的磁盘空间(以GB为单位)
–min-ram 启动镜像所需的最小内存大小(以MB为单位)
–id 镜像的ID
–owner 镜像的所有者
–disk-format 指定镜像的格式(ami, ari, aki, vhd,vmdk, raw, qcow2, vdi, iso)
–file 指定镜像文件
–container 指定容器格式(ami, ari, aki,bare, ovf, ova, docker)
----visibility 镜像的可见范围(public,private)或?? --public & --private & --is-public=True
–progress 进度显示上传进度条

3.glance相关命令


glance help| grep image 
1. 创建镜像 
glance image-create --name centos5.8_x86_64 --disk-format=qcow2 --container-format=bare --is-public=True --file=/tmp/centos5.8_x86_64_growroot_1.2_20131231.qcow2
2. 上传image
glance add name="Ubuntu 12.04 cloudimg amd64" is_public=true container_format=ovf disk_format=qcow2 < /root/precise-server-cloudimg-amd64-disk1.img
3. 列出当前可用镜像
glance image-list
4.列出镜像的详细信息
glance image-show 0c47db9c-5f74-4544-8ada-0894c1d2c20c
5. 删除镜像
nova image-delete cirros
6.设置镜像参数
openstack image set --property hw_cpu_cores=8 --property hw_cpu_threads=2 --property hw_cpu_sockets=2 --property hw_disk_bus=ide 0215d732-7da9-444e-a7b5-798d38c769b5
如果不能正常启动可以设置--property hw_disk_bus=ide 参数试一试

7. 把快照转为镜像的命令如下:

镜像默认存放于控制节点 /var/lib/glance/images/228f7bdc-fcf1-4f6a-8a7a-298b86f9e94b。(根据自己的环境有所不同)
先进入上述目录
glance image-create --name "CentOS 6.7" --file 228f7bdc-fcf1-4f6a-8a7a-298b86f9e94b --disk-format qcow2 --container-format bare --visibility public --progress   
glance image-create --name "cirros-raw" --file cirros-0.3.3-x86_64-disk.img --disk-format raw --container-format bare --visibility public --progress
7. 镜像下载命令
glance image-download --file /root/centos7-2.qcow2  c71568de-e37f-49cb-8ab4-01bd0cbbded8
8. 解决windows时间不同步的问题。
glance image-update --property os_type="windows" <IMAGE-ID>
9. 如果是vmware的虚拟机文件
A  如果是单个vmdk文件可以采用如下的步骤:
qemu-img convert -O qcow2 Kali-Linux-2.0.0-vm-amd64-disk1.vmdk kali.qcow2 -o compat=0.10
glance image-create --name kali --disk-format=qcow2 --container-format=bare --visibility public  --file=kali.qcow2
生成镜像后,再生成虚拟机
B 如果是OVA文件可以先用命令
tar -xvf VS7000_VM_04.01.03.ova  出现vmdk文件
再使用上述的命令,如果出现不能启动的情况,可以入如下的参数:--property hw_disk_bus=ide
glance image-create --name kali2018-2new --disk-format=qcow2 --container-format=bare --visibility public --property hw_disk_bus=ide --file=kali.qcow2
如果是多个虚拟机文件如 OWASP Broken Web Apps-s001.vmdk OWASP Broken Web Apps-s002.vmdk ......可以先用vmware workstation软件导出为OVF文件。
如果菜单出现不能导出,编辑要导出的虚拟机或者升级虚拟机进行调整即可。
导出OVF文件的目录有vmdk文件,按照上面的命令进行操作即可

四、swift的安装过程

1.总步骤

1.创建3块硬盘,挂载到虚拟机中
2.分区
# <WARNING ALL DATA ON DISK will be LOST!>
index=0
for d in vdc vdd vde; do
    parted /dev/${d} -s -- mklabel gpt mkpart KOLLA_SWIFT_DATA 1 -1
    sudo mkfs.xfs -f -L d${index} /dev/${d}1
    (( index++ ))
done
3.
STORAGE_NODES=(192.168.10.5) 本机IP
KOLLA_SWIFT_BASE_IMAGE="kolla/centos-source-swift-base:train"
mkdir -p /etc/kolla/config/swift

4.
docker run   --rm   -v /etc/kolla/config/swift/:/etc/kolla/config/swift/   $KOLLA_SWIFT_BASE_IMAGE   swift-ring-builder     /etc/kolla/config/swift/object.builder create 10 3 1
for node in ${STORAGE_NODES[@]}; do     for i in {0..2}; do       docker run         --rm         -v /etc/kolla/config/swift/:/etc/kolla/config/swift/         $KOLLA_SWIFT_BASE_IMAGE         swift-ring-builder           /etc/kolla/config/swift/object.builder add r1z1-${node}:6000/d${i} 1;     done; done
docker run   --rm   -v /etc/kolla/config/swift/:/etc/kolla/config/swift/   $KOLLA_SWIFT_BASE_IMAGE   swift-ring-builder     /etc/kolla/config/swift/account.builder create 10 3 1
for node in ${STORAGE_NODES[@]}; do     for i in {0..2}; do       docker run         --rm         -v /etc/kolla/config/swift/:/etc/kolla/config/swift/         $KOLLA_SWIFT_BASE_IMAGE         swift-ring-builder           /etc/kolla/config/swift/account.builder add r1z1-${node}:6001/d${i} 1;     done; done
docker run   --rm   -v /etc/kolla/config/swift/:/etc/kolla/config/swift/   $KOLLA_SWIFT_BASE_IMAGE   swift-ring-builder     /etc/kolla/config/swift/container.builder create 10 3 1
for node in ${STORAGE_NODES[@]}; do     for i in {0..2}; do       docker run         --rm         -v /etc/kolla/config/swift/:/etc/kolla/config/swift/         $KOLLA_SWIFT_BASE_IMAGE         swift-ring-builder           /etc/kolla/config/swift/container.builder add r1z1-${node}:6002/d${i} 1;     done; done

5.
for ring in object account container; do   docker run     --rm     -v /etc/kolla/config/swift/:/etc/kolla/config/swift/     $KOLLA_SWIFT_BASE_IMAGE     swift-ring-builder       /etc/kolla/config/swift/${ring}.builder rebalance; done

6.修改/etc/kolla/global.yaml
enable_swift: "yes"

kolla-ansible deploy -i all-in-one 2>&1 1>log1 &

7.pip install python-swiftclient

8.swift list

2.安装步骤+截图

1.创建3块硬盘,挂载到虚拟机中

lsblk

centos7 route安装 centos 安装tracert_openstack_110


2.分区

# <WARNING ALL DATA ON DISK will be LOST!>
index=0
for d in sdc sdd sde; do
    parted /dev/${d} -s -- mklabel gpt mkpart KOLLA_SWIFT_DATA 1 -1
    sudo mkfs.xfs -f -L d${index} /dev/${d}1
    (( index++ ))
done

centos7 route安装 centos 安装tracert_docker_111


3.

centos7 route安装 centos 安装tracert_docker_112


4.

centos7 route安装 centos 安装tracert_openstack_113


5.

centos7 route安装 centos 安装tracert_centos7 route安装_114


6.

centos7 route安装 centos 安装tracert_docker_115


centos7 route安装 centos 安装tracert_docker_116


7.

kolla-ansible prechecks -i /etc/kolla/all-in-one
kolla-ansible deploy -i /etc/kolla/all-in-one

centos7 route安装 centos 安装tracert_linux_117


centos7 route安装 centos 安装tracert_centos7 route安装_118


8.

pip install python-swiftclient

centos7 route安装 centos 安装tracert_centos7 route安装_119


9.

centos7 route安装 centos 安装tracert_linux_120


10.创建容器

找到admin-openrc.sh所在位置

centos7 route安装 centos 安装tracert_centos7 route安装_121


刷新系统变量

source /root/admin-openrc.sh

centos7 route安装 centos 安装tracert_docker_122


创建容器

swift post rq1

swift list #查看容器

centos7 route安装 centos 安装tracert_linux_123

3.swift命令介绍

内容来源

搭建OpenStack Swift对象存储
条件:在搭建好的OpenStack基本服务基础上

##安装swift服务
iaas-install-swift-controller.sh
iaas-install-swift-compute.sh

##刷新系统变量,否则会报错
source /etc/keystone/admin-openrc.sh

查看swift状态

swift stat

创建容器

swift post rq1
swift list	#查看容器

容器操作

swift upload rq1 file1	#上传文件到容器
swift list rq1			#查看容器内容

swift delete rq1 file1	#删除容器内的文件
swift list rq1			#查看容器内容,没有表示删除成功

swift delete rq1		#删除容器
swift list 				#查看容器,没有表示删除成功