• centos安装部署OpenStack train版


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

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

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

    2.关闭防火墙 和 selinux

    关闭防火墙

    systemctl disable firewalld
    systemctl stop firewalld
    
    • 1
    • 2

    在这里插入图片描述
    关闭selinux

    vi /etc/selinux/config
    
    • 1
    SELINUX=disabled
    
    • 1

    在这里插入图片描述
    在这里插入图片描述
    需重启系统后生效

    setenforce 0
    
    • 1

    命令可将当前selinux设置为permissive,重启系统后失效
    在这里插入图片描述

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

    设置dns服务器地址

    cat >> /etc/resolv.conf << EOF
    nameserver	8.8.8.8
    nameserver 8.8.4.4
    EOF
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述
    hosts文件是Linux系统上一个负责ip地址与域名快速解析的文件
    设置本机IP与域名

    cat >> /etc/hosts << EOF
    192.168.162.131	openstack
    EOF
    
    • 1
    • 2
    • 3

    在这里插入图片描述
    设置主机名

    cat >> /etc/hostname << EOF
    openstack
    EOF
    
    • 1
    • 2
    • 3
    hostnamectl set-hostname openstack
    
    • 1

    在这里插入图片描述

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

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

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

    BOOTPROTO=none  		//将dhcp改为none,使自动获取改为静态获取
    ONBOOT=yes				//启动用该网卡
    IPADDR=192.168.162.131  //设置IPv4地址
    NETMASK=255.255.255.0  //设置子网掩码
    GATEWAY=192.168.162.2  //设置默认网关
    
    • 1
    • 2
    • 3
    • 4
    • 5

    https://blog.csdn.net/weixin_46048542/article/details/127002273

    vi /etc/sysconfig/network-scripts/ifcfg-ens37
    
    • 1

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

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

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    4.1systemctl restart network报错解决办法

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

    在这里插入图片描述

    5.安装基础包

    1.下载epel源

    yum -y install epel-release
    
    • 1

    在这里插入图片描述
    在这里插入图片描述
    2.下载 vim 和 net-tools

    yum -y install vim net-tools
    
    • 1

    在这里插入图片描述
    在这里插入图片描述
    3.安装基础包

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

    在这里插入图片描述
    在这里插入图片描述
    设置pip的下载源 阿里云

    mkdir .pip
    
    • 1
    cat > .pip/pip.conf << EOF
    [global]
    index-url=http://mirrors.aliyun.com/pypi/simple/
    [install]
    trusted-host=mirrors.aliyun.com
    EOF
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述
    升级pip

    pip install --upgrade pip
    
    • 1

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

    pip install --upgrade pip==20.3.4
    
    • 1

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

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

    在这里插入图片描述

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

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

    在这里插入图片描述
    一直按enter键
    在这里插入图片描述
    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
    
    • 1
    • 2
    • 3

    在这里插入图片描述
    1.使用pip安装ansible,注意不要使用yum安装,否则会与kolla中的YAML包冲突。且ansible版本应为2.6-2.9

    pip install ansible==2.9.0
    
    • 1

    在这里插入图片描述
    在这里插入图片描述
    2.pip安装kolla-ansible 同样需要指定版本,版本对应如下
    https://releases.openstack.org/teams/kolla.html

    pip install kolla-ansible==9.3.0
    
    • 1

    8.1pip install kolla-ansible==9.3.0报错

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    pip install --ignore-installed requests
    
    • 1

    在这里插入图片描述

    pip install dnspython==1.15
    
    • 1

    在这里插入图片描述

    pip install python-ldap==3.0.0b1
    
    • 1

    在这里插入图片描述

     yum install openldap-devel
    
    • 1

    在这里插入图片描述

    pip install kolla-ansible==9.3.0
    
    • 1

    在这里插入图片描述

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

    在这里插入图片描述
    在这里插入图片描述

    9.进行基本OpenStack配置

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

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

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

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

    kolla-genpwd
    
    • 1

    在这里插入图片描述
    这些密码是即将设置到OpenStack中的,安装部署OpenStack前可以修改,但是OpenStack安装完成后,不要再修改。

    /etc/kolla/passwords.yml
    
    • 1

    在这里插入图片描述
    在这里插入图片描述
    2.添加一块新硬盘,设置为lvm vg卷组 作为cinder 卷

    yum -y  install lvm2 
    
    • 1

    在这里插入图片描述
    创建一个PV卷

    pvcreate /dev/sdb
    
    • 1

    在这里插入图片描述
    创建磁盘,虚拟机重启
    在这里插入图片描述
    创建卷组 卷组名cinder-volumes

    vgcreate cinder-volumes /dev/sdb
    
    • 1

    在这里插入图片描述
    3.编辑golbals配置文件。(只设置安装基本的OpenStack组件。)

    vim /etc/kolla/globals.yml 
    
    • 1
    # 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"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34

    10.安装部署

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

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

    在这里插入图片描述
    在这里插入图片描述
    有的直接成功
    报错解决方法
    yum upgrade -y
    执行完之后
    kolla-ansible bootstrap-servers -i /etc/kolla/all-in-one
    在这里插入图片描述
    在这里插入图片描述
    设置docker 容器镜像加速,阿里云

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

    在这里插入图片描述
    设置docker volume卷挂载方式 Share 方便增加磁盘,不用重启docker

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

    在这里插入图片描述
    重启docker

    systemctl daemon-reload
    systemctl restart docker
    
    • 1
    • 2

    在这里插入图片描述
    2.pull 拉取docker镜像。有时候出错停止,重新执行就好了。

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

    十几分钟
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    3.检测安装。

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

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

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

    在这里插入图片描述
    在这里插入图片描述
    5.验证部署,并且生成/etc/kolla/admin-openrc.sh认证文件

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

    在这里插入图片描述
    在这里插入图片描述

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

    按照https://www.icode9.com/content-4-838775.html
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    是IP地址

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    11.备注: docker 相关

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

    ls /var/log/kolla/
    
    • 1

    在这里插入图片描述
    2.各个组件的配置文件

    ls /etc/kolla/
    
    • 1

    可以修改配置文件,然后重启对应的docker 容器
    在这里插入图片描述
    3.各个组件挂载的数据卷

    docker volume ls
    
    • 1

    在这里插入图片描述

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

    1.安装OpenStack命令行

    先安装版本不匹配的组件

    pip install -I ipaddress
    
    • 1

    在这里插入图片描述
    安装命令行工具

    pip install python-openstackclient
    
    • 1

    在这里插入图片描述
    在这里插入图片描述

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

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

    vim /usr/share/kolla-ansible/init-runonce
    
    • 1
    # 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'}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    加载认证

    source /etc/kolla/admin-openrc.sh
    
    • 1

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

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

    在这里插入图片描述
    执行命令可能会报错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
    
    • 1
    • 2
    from multiprocessing import Queue as queue
    
    • 1

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

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

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    3.镜像下载地址

    https://download.cirros-cloud.net/0.4.0/
    在这里插入图片描述
    上传
    在这里插入图片描述
    来到这个目录
    在这里插入图片描述

    4.上传镜像

    glance help image-create
    
    • 1

    在这里插入图片描述
    解决方法

    pip install python-glanceclient
    
    • 1

    在这里插入图片描述
    在这里插入图片描述

    glance help image-create
    
    • 1

    在这里插入图片描述

    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
    
    • 1

    在这里插入图片描述
    报错

    source /etc/kolla/admin-openrc.sh
    
    • 1

    在这里插入图片描述
    再次执行

     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
    
    • 1

    在这里插入图片描述
    在这里插入图片描述
    弄好查看镜像

    glance image-list
    
    • 1

    在这里插入图片描述
    这里我上传了两次,将上面的cirrors改为cirros
    下面以cirros为例

    5.安装虚拟机

    第一种

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

    在这里插入图片描述
    在这里插入图片描述

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

    或者
    在这里插入图片描述
    在这里插入图片描述

    nova list
    
    • 1

    在这里插入图片描述
    没有继续执行这个命令
    在这里插入图片描述
    在这里插入图片描述

    nova get-vnc-console demo1 novnc
    
    • 1

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

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

    来源:
    https://blog.csdn.net/qq_28513801/article/details/90312252
    重新进入报错
    请添加图片描述
    我们便直接把我们的token给更新一下就可以了

    [root images]# source /etc/keystone/admin-openrc 
    
    • 1

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

    
    [root 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
    ~
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    那么从这里我们可看出

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

    所以每次我们只需要source一下我们的该环境变量就可以啦
    因为我的在root下面
    请添加图片描述
    请添加图片描述

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

    1.来源

    https://blog.csdn.net/weixin_43650731/article/details/102400486

    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 进度显示上传进度条
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    3.glance相关命令

    原文链接:https://blog.csdn.net/wzlsunice88/article/details/79499152

    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文件,按照上面的命令进行操作即可
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37

    四、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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33

    2.安装步骤+截图

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

    lsblk
    
    • 1

    在这里插入图片描述
    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述
    3.
    在这里插入图片描述
    4.
    在这里插入图片描述
    5.
    在这里插入图片描述
    6.
    在这里插入图片描述
    在这里插入图片描述
    7.

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

    在这里插入图片描述
    在这里插入图片描述
    8.

    pip install python-swiftclient
    
    • 1

    在这里插入图片描述
    9.
    在这里插入图片描述
    10.创建容器
    找到admin-openrc.sh所在位置
    在这里插入图片描述
    刷新系统变量

    source /root/admin-openrc.sh
    
    • 1

    在这里插入图片描述
    创建容器
    swift post rq1
    swift list #查看容器
    在这里插入图片描述

    3.swift命令介绍

    内容来源
    https://blog.csdn.net/weixin_46329906/article/details/112132320
    搭建OpenStack Swift对象存储
    条件:在搭建好的OpenStack基本服务基础上

    ##安装swift服务
    iaas-install-swift-controller.sh
    iaas-install-swift-compute.sh
    
    ##刷新系统变量,否则会报错
    source /etc/keystone/admin-openrc.sh
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    查看swift状态

    swift stat
    
    • 1

    创建容器

    swift post rq1
    swift list	#查看容器
    
    • 1
    • 2

    容器操作

    swift upload rq1 file1	#上传文件到容器
    swift list rq1			#查看容器内容
    
    swift delete rq1 file1	#删除容器内的文件
    swift list rq1			#查看容器内容,没有表示删除成功
    
    swift delete rq1		#删除容器
    swift list 				#查看容器,没有表示删除成功
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
  • 相关阅读:
    一键制作搞笑对话视频,抖音情感故事对话视频制作神器
    清理Maven仓库中下载失败的文件
    js轮播图有,移入移出事件,左右滑动事件功能
    Netty-1-IO模型
    .net MVC下鉴权认证(三)
    数据分析与挖掘: 红楼梦人物关系(Python)词云图
    卷积神经网络的发展历史-VGG
    uniapp 打包H5,打包小程序,打包app分享到微信聊天、朋友圈
    GIS工具maptalks开发手册(一)——hello world初始化
    内网安全学习
  • 原文地址:https://blog.csdn.net/weixin_46048542/article/details/127112284