Ubuntu 24.04
Sponsored Link

OpenStack Dalmatian : Swift कॉन्फ़िगर करें (भंडारण नोड)2024/10/14

 

OpenStack ऑब्जेक्ट स्टोरेज (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] सभी संग्रहण नोड्स पर, और निम्नानुसार सभी स्टोरेज नोड पर Swift-Account, Swift-Container, Swift-Object और अन्य इंस्टॉल करें।
root@snode01:~#
apt -y install swift swift-account swift-container swift-object xfsprogs
[2] डिस्क के खाली स्थान ([/dev/sdb1] इस उदाहरण पर) को XFS के साथ प्रारूपित करें और निम्नानुसार सभी स्टोरेज नोड पर [/srv/node/device] पर माउंट करें।
root@snode01:~#
mkfs.xfs /dev/sdb1

meta-data=/dev/sdb1              isize=512    agcount=4, agsize=10485696 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=1
         =                       reflink=1    bigtime=1 inobtcount=1 nrext64=0
data     =                       bsize=4096   blocks=41942784, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=20479, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
Discarding blocks...Done.

root@snode01:~#
mkdir -p /srv/node/device

root@snode01:~#
mount -o noatime,nodiratime /dev/sdb1 /srv/node/device

root@snode01:~#
chown -R swift:swift /srv/node
root@snode01:~#
blkid | grep sdb1

/dev/sdb1: UUID="13738d6d-999a-402a-9abd-2f436e2c5c4b" BLOCK_SIZE="512" TYPE="xfs" PARTUUID="3cfdf937-01"
root@snode01:~#
vi /etc/fstab
# अंत में जोड़ें

/dev/disk/by-uuid/13738d6d-999a-402a-9abd-2f436e2c5c4b /srv/node/device xfs defaults,noatime,nodiratime 0 0
[3] Swift प्रॉक्सी नोड से Swift रिंग फ़ाइलों को सभी स्टोरेज नोड्स में कॉपी करें।
root@network:~#
scp /etc/swift/*.gz 10.0.0.71:/etc/swift/

account.ring.gz                    100% 3912     3.8KB/s   00:00
container.ring.gz                  100% 3904     3.8KB/s   00:00
object.ring.gz                     100% 3895     3.8KB/s   00:00
[4] सभी स्टोरेज नोड्स पर Swift और Rsync कॉन्फ़िगर करें।
root@snode01:~#
chown swift:swift /etc/swift/*.gz

root@snode01:~#
vi /etc/swift/swift.conf
# वह मान सेट करें जो प्रॉक्सी नोड पर सेट है

[swift-hash]
swift_hash_path_suffix = swift_shared_path
swift_hash_path_prefix = swift_shared_path
root@snode01:~#
vi /etc/swift/account-server.conf
# पंक्ति 2 : निम्नानुसार सेटिंग्स की पुष्टि करें

bind_ip = 0.0.0.0
bind_port = 6002
root@snode01:~#
vi /etc/swift/container-server.conf
# पंक्ति 2 : निम्नानुसार सेटिंग्स की पुष्टि करें

bind_ip = 0.0.0.0
bind_port = 6001
root@snode01:~#
vi /etc/swift/object-server.conf
# पंक्ति 2 : निम्नानुसार सेटिंग्स की पुष्टि करें

bind_ip = 0.0.0.0
bind_port = 6000
root@snode01:~#
vi /etc/rsyncd.conf
# नया निर्माण

pid file = /var/run/rsyncd.pid
log file = /var/log/rsyncd.log
uid = swift
gid = swift
address = 0.0.0.0

[account]
path            = /srv/node
read only       = false
write only      = no
list            = yes
incoming chmod  = 0644
outgoing chmod  = 0644
max connections = 25
lock file =     /var/lock/account.lock

[container]
path            = /srv/node
read only       = false
write only      = no
list            = yes
incoming chmod  = 0644
outgoing chmod  = 0644
max connections = 25
lock file =     /var/lock/container.lock

[object]
path            = /srv/node
read only       = false
write only      = no
list            = yes
incoming chmod  = 0644
outgoing chmod  = 0644
max connections = 25
lock file =     /var/lock/object.lock

[swift_server]
path            = /etc/swift
read only       = true
write only      = no
list            = yes
incoming chmod  = 0644
outgoing chmod  = 0644
max connections = 5
lock file =     /var/lock/swift_server.lock

root@snode01:~#
vi /etc/default/rsync
# पंक्ति 14: परिवर्तन

RSYNC_ENABLE=
true
[5] Swift सेवाएँ प्रारंभ करें।
root@snode01:~#
systemctl restart rsync swift-account-auditor \
swift-account-replicator \
swift-account \
swift-container-auditor \
swift-container-replicator \
swift-container-updater \
swift-container \
swift-object-auditor \
swift-object-replicator \
swift-object-updater \
swift-object
root@snode01:~#
systemctl enable rsync swift-account-auditor \
swift-account-replicator \
swift-account \
swift-container-auditor \
swift-container-replicator \
swift-container-updater \
swift-container \
swift-object-auditor \
swift-object-replicator \
swift-object-updater \
swift-object
मिलान सामग्री