OpenStack Caracal : Swift का उपयोग कैसे करें2024/05/22 |
यह अनुभाग दिखाता है कि ग्राहकों से Swift स्टोरेज का उपयोग कैसे करें। यह उदाहरण निम्न प्रकार से पर्यावरण पर आधारित है। ------------+--------------------------+------------ | | eth0|10.0.0.30 eth0|10.0.0.50 +-----------+-----------+ +-----------+-----------+ | [ dlp.srv.world ] | | [ network.srv.world ] | | (Control Node) | | (Proxy Node) | | | | | | MariaDB RabbitMQ | | Swift Proxy | | Memcached Nginx | | Nginx | | Keystone httpd | | | +-----------------------+ +-----------------------+ ------------+--------------------------+--------------------------+----------- eth0|10.0.0.71 eth0|10.0.0.72 eth0|10.0.0.73 +-----------+-----------+ +-----------+-----------+ +-----------+-----------+ | [snode01.srv.world] | | [snode02.srv.world] | | [snode03.srv.world] | | (Storage Node#1) | | (Storage Node#2) | | (Storage Node#3) | | | | | | | | Swift-Account | | Swift-Account | | Swift-Account | | Swift-Container | | Swift-Container | | Swift-Container | | Swift-Object | | Swift-Object | | Swift-Object | +-----------------------+ +-----------------------+ +-----------------------+ |
[1] | Keystone कंट्रोल नोड पर Swift का उपयोग करने के लिए एक उपयोगकर्ता जोड़ें। वैसे, यदि आप एक बार में Swift का उपयोग करना चाहते हैं तो नए उपयोगकर्ता को जोड़ना अनावश्यक है, Keystone पर मौजूदा व्यवस्थापक या स्विफ्ट उपयोगकर्ता के साथ इसका उपयोग करना संभव है। |
# [swiftservice] प्रोजेक्ट बनाएं root@dlp ~(keystone)# openstack project create --domain default --description "Swift Service Project" swiftservice +-------------+----------------------------------+ | Field | Value | +-------------+----------------------------------+ | description | Swift Service Project | | domain_id | default | | enabled | True | | id | d136553c649b4f8a9e7c0b23f89a1da4 | | is_domain | False | | name | swiftservice | | options | {} | | parent_id | default | | tags | [] | +-------------+----------------------------------+ # [SwiftOperator] भूमिका बनाएँ root@dlp ~(keystone)# openstack role create SwiftOperator +-------------+----------------------------------+ | Field | Value | +-------------+----------------------------------+ | description | None | | domain_id | None | | id | 0c53314e010f42e883b427ed521e88df | | name | SwiftOperator | | options | {} | +-------------+----------------------------------+ # एक उपयोगकर्ता जोड़ें root@dlp ~(keystone)# openstack user create --domain default --project swiftservice --password userpassword swiftuser01 +---------------------+----------------------------------+ | Field | Value | +---------------------+----------------------------------+ | default_project_id | d136553c649b4f8a9e7c0b23f89a1da4 | | domain_id | default | | enabled | True | | id | 56856e02fdef4188bf374356fa834775 | | name | swiftuser01 | | options | {} | | password_expires_at | None | +---------------------+----------------------------------+ # उपयोगकर्ता को [SwiftOperator] भूमिका में जोड़ें root@dlp ~(keystone)# openstack role add --project swiftservice --user swiftuser01 SwiftOperator
|
[2] | यहां से और बाद में क्लाइंट पर काम करें। पहले किसी क्लाइंट पर Keystoneclient, Swiftclient इंस्टॉल करें। |
root@client:~# apt -y install python3-openstackclient python3-keystoneclient python3-swiftclient
|
[3] | पहले पर्यावरण चर लोड करें। (यह [1] में जोड़े गए उपयोगकर्ता के लिए मूल्य है) |
ubuntu@client:~$
vi ~/keystonerc_swift
export OS_PROJECT_DOMAIN_NAME=Default
export OS_USER_DOMAIN_NAME=Default export OS_PROJECT_NAME=swiftservice export OS_USERNAME=swiftuser01 export OS_PASSWORD=userpassword export OS_AUTH_URL=https://dlp.srv.world:5000/v3 export OS_IDENTITY_API_VERSION=3 export PS1='\u@\h \W(swift)\$ '
ubuntu@client:~$
chmod 600 ~/keystonerc_swift ubuntu@client:~$ source ~/keystonerc_swift ubuntu@client ~(swift)$ echo "source ~/keystonerc_swift " >> ~/.bash_profile
# स्थिति सत्यापित करें ubuntu@client ~(swift)$ swift stat Account: AUTH_d136553c649b4f8a9e7c0b23f89a1da4 Containers: 0 Objects: 0 Bytes: 0 Content-Type: text/plain; charset=utf-8 X-Timestamp: 1716351063.69947 X-Put-Timestamp: 1716351063.69947 Vary: Accept X-Trans-Id: txafaeaa309ac444cdbb51d-00664d7057 X-Openstack-Request-Id: txafaeaa309ac444cdbb51d-00664d7057 |
[4] | फ़ाइलों को सहेजने के लिए एक कंटेनर बनाएं। |
ubuntu@client ~(swift)$ openstack container create test-container +------------------------------+----------------+------------------------------+ | account | container | x-trans-id | +------------------------------+----------------+------------------------------+ | AUTH_d136553c649b4f8a9e7c0b2 | test-container | tx9315e0f53fac42729f52e- | | 3f89a1da4 | | 00664d7073 | +------------------------------+----------------+------------------------------+ubuntu@client ~(swift)$ openstack container list +----------------+ | Name | +----------------+ | test-container | +----------------+ |
[5] | कंटेनर में स्थानीय पर एक फ़ाइल अपलोड करें। |
# [testfile.txt] अपलोड करें ubuntu@client ~(swift)$ echo testfile > testfile.txt ubuntu@client ~(swift)$ openstack object create test-container testfile.txt +--------------+----------------+----------------------------------+ | object | container | etag | +--------------+----------------+----------------------------------+ | testfile.txt | test-container | e9409172a4036cc688f169c72131e921 | +--------------+----------------+----------------------------------+ubuntu@client ~(swift)$ openstack object list test-container +--------------+ | Name | +--------------+ | testfile.txt | +--------------+ |
[6] | Swift स्टोरेज से स्थानीय में एक फ़ाइल डाउनलोड करें। |
ubuntu@client ~(swift)$
ubuntu@client ~(swift)$ rm testfile.txt
openstack object save test-container testfile.txt ubuntu@client ~(swift)$ total 48 -rw------- 1 ubuntu ubuntu 286 May 22 04:10 keystonerc_swift -rw-rw-r-- 1 ubuntu ubuntu 9 May 22 04:12 testfile.txt |
[7] | Swift स्टोरेज पर एक फ़ाइल हटाएँ। |
ubuntu@client ~(swift)$ openstack object delete test-container testfile.txt ubuntu@client ~(swift)$ openstack object list test-container # [testfile.txt] हटा दिया गया है |
[8] | Swift स्टोरेज पर एक कंटेनर हटाएं। |
ubuntu@client ~(swift)$ openstack container delete test-container ubuntu@client ~(swift)$ openstack container list # [test-container] हटा दिया गया है
|
Sponsored Link |
|