91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

部署對象存儲服務(swift)

發布時間:2020-06-21 17:54:02 來源:網絡 閱讀:1344 作者:Kernalzcy 欄目:移動開發


此文章是看Red Hat 的文章進行了一下簡單的翻譯,有很多地方不多的,請多多指教!

原文地址:https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux_OpenStack_Platform/2/html/Getting_Started_Guide/ch08s05.html


  1. 創建swift ring 文件;

  2. 配置keystone認證;

  3. 配置swift proxy 代理;

  4. 配置swift stroage nodes 存儲節點

  5. 測試swift

1個swift proxy 節點

6個swift storage 節點包括(accounts, objects, container)

3個zone區域


每份數據復制3份,也就是一份數據保存到3個swift stroage節點,作為存儲對象的一個副本;


第一步先安裝swift軟件包;

$ sudo yum install -y openstack-swift openstack-swift-proxy \openstack-swift-account openstack-swift-container openstack-swift-object \openstack-utils memcached python-keystone

創建swift ring 文件

需要創建三個ring文件包含所有的存儲設備細節,這些都是用來推斷一個特定的數據存儲。

在這個列子中創建part power 為12,那么ring分區就可以達到4096個,具體的分區大小可根據你的生產環境來分配;

2**12=4096

2**18=262144

更多的信息請查看:http://docs.openstack.org/developer/swift/deployment_guide.html(這個是官方的文檔)

本文主要介紹swift的安裝和部署,假設keystone的部署和配置一完成,并已配置好authentication認證用戶文件keystone_admin

$ source ~/keystonerc_admin
$ sudo swift-ring-builder /etc/swift/account.builder create 12 3 1
$ sudo swift-ring-builder /etc/swift/container.builder create 12 3 1
$ sudo swift-ring-builder /etc/swift/object.builder create 12 3 1

#### 12 3 1 解釋:

12就是ring的分區是2的12次方,

3是保存數據為3份,

1是1個小時檢測一次ring;

注意:這個過程中注意端口別搞錯了!!!!

一旦創建ring文件存儲設備需要添加到每個ring,從賬戶中。使用的IP地址swift對象存儲服務器的帳戶標識符

$ sudo swift-ring-builder /etc/swift/account.builder add z1-192.0.43.10:6002/z1d1 100
$ sudo swift-ring-builder /etc/swift/account.builder add z1-192.0.43.10:6002/z1d2 100
$ sudo swift-ring-builder /etc/swift/account.builder add z2-192.0.43.10:6002/z2d1 100
$ sudo swift-ring-builder /etc/swift/account.builder add z2-192.0.43.10:6002/z2d2 100
$ sudo swift-ring-builder /etc/swift/account.builder add z3-192.0.43.10:6002/z3d1 100
$ sudo swift-ring-builder /etc/swift/account.builder add z3-192.0.43.10:6002/z3d2 100

然后是容器(container)

$ sudo swift-ring-builder /etc/swift/object.builder add z1-192.0.43.10:6000/z1d1 100
$ sudo swift-ring-builder /etc/swift/object.builder add z1-192.0.43.10:6000/z1d2 100
$ sudo swift-ring-builder /etc/swift/object.builder add z2-192.0.43.10:6000/z2d1 100
$ sudo swift-ring-builder /etc/swift/object.builder add z2-192.0.43.10:6000/z2d2 100
$ sudo swift-ring-builder /etc/swift/object.builder add z3-192.0.43.10:6000/z3d1 100
$ sudo swift-ring-builder /etc/swift/object.builder add z3-192.0.43.10:6000/z3d2 100

發送讓整個ring重新負載,輸入以下命令

$ sudo swift-ring-builder /etc/swift/account.builder rebalance
$ sudo swift-ring-builder /etc/swift/container.builder rebalance
$ sudo swift-ring-builder /etc/swift/object.builder rebalance

檢查一下你現在有3個ring文件,在目錄 /etc/swift/,使用以下命令:

$ ls /etc/swift/*gz

應該顯示:

/etc/swift/account.ring.gz  /etc/swift/container.ring.gz  /etc/swift/object.ring.gz

確保/etc/swift/目錄中的所有文件包括那些您剛剛創建屬于root用戶和所屬swift組

$ sudo chown -R root:swift /etc/swift

您還需要創建一個私有hash key 對于 swift hash 算法

$ sudo openstack-config --set /etc/swift/swift.conf swift-hash \
swift_hash_path_suffix $(openssl rand -hex 10)

2.配置keystone認證:

在這個例子中假設我們已經創建了admin用戶,我們需要創建一個services的租戶(如果不存在的話),一個名為swiftand來作為swift用戶和擁有admin角色

通過admin來訪問:

$ source ~/keystonerc_admin

檢查services 租戶

$ keystone tenant-list

如果不存在,創建:

$ keystone tenant-create --name services

創建swift用戶,設置密碼PASSWORD

$ keystone user-create --name swift --pass PASSWORD

查詢admin角色的uuid

$ keystone role-list | grep admin

如果沒有admin角色,創建

$ keystone role-create --name admin

添加swift用戶到service租戶中,并給予admin角色的權限;

$ keystone user-role-add --role-id <roleid> --tenant-id <tenantid> --user-id <userid>

創建swift端點,在keystone

$ keystone service-list

如果沒有swift endpoint,然后創建;

$ keystone service-create --name swift --type object-store \
    --description "Swift Storage Service"$ keystone endpoint-create --service_id <serviceid> \
    --publicurl "http://192.0.43.10:8080/v1/AUTH_\$(tenant_id)s" \
    --adminurl "http://192.0.43.10:8080/v1/AUTH_\$(tenant_id)s" \
    --internalurl "http://192.0.43.10:8080/v1/AUTH_\$(tenant_id)s"

確保publicurl、adminurl internalurl參數包括正確的IP地址swift對象存儲服務器。

3,配置swift proxy代理

更新配置文件從swift使用正確的身份驗證代理服務器為適當的重點用戶詳細信息。

$ openstack-config --set /etc/swift/proxy-server.conf \
      filter:authtoken admin_tenant_name services
$ openstack-config --set /etc/swift/proxy-server.conf \
      filter:authtoken admin_user swift
$ openstack-config --set /etc/swift/proxy-server.conf \
      filter:authtoken admin_password PASSWORD

開啟memcached 和openstack-swift-proxy 服務,使用 service 命令;

$ sudo service memcached start
$ sudo service openstack-swift-proxy start

memcached 和openstack-swift-proxy 服務,加入到開機啟動

$ sudo chkconfig memcached on
$ sudo chkconfig openstack-swift-proxy on

運行訪問swift proxy server ,添加防火墻規則在/etc/sysconfig/iptables 配置文件中:

-A INPUT -p tcp -m multiport --dports 8080 -j ACCEPT

這條規則運行從遠程主機訪問swift proxy 的8080端口,其它更加安全的信息請參考redhat enterprise 6 security guide.(紅帽企業6安全指南)

使用service命令重新啟動iptables,使剛添加的規則生效;

$ sudo service iptables restart

4.配置swift storage nodes 存儲節點

對象存儲必須支持磁盤存儲卷,提供足夠的備份存儲空間 到目前為止在本文中需要6個存儲節點。

如果你有足夠多的資源可用用來安裝此服務,在本文都是安裝在了/srv/node的目錄下

這段不翻譯了!

If you do not have enough physical devices available to support this setup but still wish to test the object storage facilities provided by OpenStack then it is possible to create test devices using the loopback facility. This is not recommended for production environments

創建對象存儲設備使用loopback(回環)

這個列子腳本創建了3個區域和2個設備支持loopback設備給每個區域,總共6個設備,卷鏡像創建在/data目錄下和掛載到/srv/node目錄下使用回環設備

每個設備是50GB大小,你也許希望這個數字低點;

這個腳本需要用root用戶執行;

#!/bin/sh
# Device size in GB
SIZE=50
DATA=/data
MOUNT=/srv/node
mkdir ${DATA}
    for ZONE in 1 2 3; do
    for DEVICE in 1 2; do
        truncate ${DATA}/swift-z${ZONE}d${DEVICE} --size ${SIZE}G        
        LOOPDEVICE=`losetup --show -f ${DATA}/swift-z${ZONE}d${DEVICE}`
        mkfs.ext4 -I 1024 ${LOOPDEVICE}
        mkdir -p ${MOUNT}/z${ZONE}d${DEVICE}
        mount -o noatime,nodiratime,nobarrier,user_xattr ${LOOPDEVICE} \              
        ${MOUNT}/z${ZONE}d${DEVICE}
    done
done

這個例子設置對象存儲只是作為一種快速而簡單的方法嘗試持久卷在一個測試環境,這種方法不能用于生產環境。

對象存儲中創建這種方式并不會自動保存在系統需要重新啟動

恢復對象存儲從文件創建這個過程后,必須重新啟動

使用losetup創建loopback回環/data/目錄

使用mount掛載 loopback回環/srv/node/目錄

使用service命令重啟  openstack-swift-account, openstack-swift-container, and openstack-swift-object 服務

在生產環境中推薦,把掛載目錄這些添加到/etc/fstab,并加入到開機自動掛載項中。

Red Hat Enterprise Linux系統默認有八個(8)環回設備可供使用

如果您已經在使用這些設備,那么你可能會遇到的一些運行腳本時返回的消息:

mount: could not find any free loop device

如果在這種情況下運行lostetup -a 命令來列出所有loopback設備的狀態,然后可以使用umount命令來釋放一下設備,losetup -d命令或改變腳本需要更少的設備。

sudo chown -R swift:swift /srv/node/

使用restorecon命令確保incron目錄中的所有文件都正確的SELinux安全上下文的定義。

$ sudo restorecon -R /srv

未能正確設置安全上下文將導致AVC否認被記錄時迅速試圖訪問的數據存儲在/ srv /目錄。

啟動帳戶,容器和對象存儲服務:

$ sudo service openstack-swift-account start
$ sudo service openstack-swift-container start
$ sudo service openstack-swift-object start

加入開機啟動

$ sudo chkconfig openstack-swift-account on
$ sudo chkconfig openstack-swift-container on
$ sudo chkconfig openstack-swift-object on

允許傳入的連接向/etc/sysconfig/iptables swift通過添加這個防火墻規則配置文件:

-A INPUT -p tcp -m multiport --dports 6000,6001,6002,873 -j ACCEPT

規則生效,重啟iptables服務

 sudo service iptables restart

5.測試swift

設置shell訪問重點作為一個用戶,管理員或SwiftOperator角色,admin用戶這個例子所示:

$ source ~/keystonerc_admin
$ swift list
$ head -c 1024 /dev/urandom > data.file ; swift upload c1 data.file
$ head -c 1024 /dev/urandom > data2.file ; swift upload c1 data2.file
$ head -c 1024 /dev/urandom > data3.file ; swift upload c2 data3.file
$ swift list
$ swift list c1
$ swift list c2

現在您已經上傳3個文件到2個集裝箱。如果你看到在不同的存儲設備應該看到9個數據文件(每個文件3份):

$ find /srv/node/ -type f -name "*data"



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

芦山县| 渝中区| 犍为县| 呼和浩特市| 咸阳市| 桃园市| 天长市| 上思县| 卫辉市| 江源县| 平谷区| 舞钢市| 昆山市| 米林县| 鸡西市| 淳化县| 沁源县| 九龙坡区| 平定县| 崇义县| 萨迦县| 洪泽县| 株洲县| 加查县| 伊宁县| 会泽县| 波密县| 蒲江县| 沅陵县| 内黄县| 富阳市| 苗栗县| 安顺市| 青州市| 商都县| 武乡县| 夹江县| 遂平县| 昔阳县| 封丘县| 平乡县|