Ubuntu 24.04
Sponsored Link

DRBD : स्थापित करें2024/05/03

 

डिस्ट्रीब्यूटेड स्टोरेज सिस्टम को कॉन्फ़िगर करने के लिए DRBD (Distributed Replicated Block Device) इंस्टॉल करें।
यह उदाहरण निम्न प्रकार से पर्यावरण पर आधारित है।

+----------------------+          |          +----------------------+
| [   DRBD Server#1  ] |10.0.0.51 | 10.0.0.52| [   DRBD Server#2  ] |
|   node01.srv.world   +----------+----------+   node02.srv.world   |
|                      |                     |                      |
+----------------------+                     +----------------------+

इसके लिए आवश्यक है कि जिस सर्वर पर आप DRBD इंस्टॉल करना चाहते हैं, उसमें निःशुल्क ब्लॉक-डिवाइस हो।
[1] सभी नोड्स पर DRBD स्थापित और कॉन्फ़िगर करें।
root@node01:~#
apt -y install drbd-utils
root@node01:~#
vi /etc/drbd.d/r0.res
# नया निर्माण : फ़ाइल का नाम ⇒ (संसाधन का नाम).res

resource r0 {
    net {
    	# A : लेखन पूर्णता तब निर्धारित होती है जब डेटा स्थानीय डिस्क और स्थानीय टीसीपी ट्रांसमिशन बफर पर लिखा जाता है
        # B : लेखन पूर्णता तब निर्धारित होती है जब डेटा स्थानीय डिस्क और रिमोट बफर कैश पर लिखा जाता है
        # C : लेखन पूर्णता तब निर्धारित होती है जब डेटा स्थानीय डिस्क और दूरस्थ डिस्क दोनों पर लिखा जाता है
        protocol C;
        cram-hmac-alg sha1;
        # नोड्स के बीच प्रमाणीकरण के लिए कोई गुप्त कुंजी
        shared-secret "MySharedSecret";
    }
    disk {
    	# सिंक के लिए बैंडविड्थ को सीमित करना संभव है (उदाहरण 10 एमबी/सेकंड है)
        resync-rate 10M;
    }
    # on (होस्ट का नाम)
    on node01.srv.world {
    address 10.0.0.51:7788;
        volume 0 {
            # डिवाइस का नाम
            device /dev/drbd0;
            # उपरोक्त डिवाइस के लिए उपयोग की जाने वाली डिस्क निर्दिष्ट करें
            disk /dev/sdb1;
            # मेटाडेटा कहां बनाएं
            # किसी भिन्न डिस्क का उपयोग करते समय ब्लॉक डिवाइस का नाम निर्दिष्ट करें
            meta-disk internal;
        }
    }
    on node02.srv.world {
        address 10.0.0.52:7788;
        volume 0 {
            device /dev/drbd0;
            disk /dev/sdb1;
            meta-disk internal;
        }
    }
}

# लोड मॉड्यूल

root@node01:~#
modprobe drbd

root@node01:~#
lsmod | grep drbd

drbd                  458752  0
lru_cache              16384  1 drbd
libcrc32c              12288  3 btrfs,drbd,raid456

# DRBD संसाधन बनाएं

root@node01:~#
drbdadm create-md r0

initializing activity log
initializing bitmap (5120 KB) to all zero
Writing meta data...
New drbd meta data block successfully created.

root@node01:~#
systemctl enable --now drbd

[2] सभी नोड्स पर कॉन्फिगर करने के बाद, एक नोड पर डेटा सिंक करें।
# वर्तमान स्थिति [Secondary/Secondary]

root@node01:~#
cat /proc/drbd

version: 8.4.11 (api:1/proto:86-101)
srcversion: 211FB288A383ED945B83420
 0: cs:Connected ro:Secondary/Secondary ds:Inconsistent/Inconsistent C r-----
    ns:0 nr:0 dw:0 dr:0 al:8 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:167765980

# यूपी DRBD संसाधन

root@node01:~#
drbdadm up r0
# प्राथमिक भूमिका प्राप्त करें और डेटा सिंक करें

root@node01:~#
drbdadm -- --overwrite-data-of-peer primary r0
# डेटा सिंक प्रारंभ होता है

root@node01:~#
cat /proc/drbd

version: 8.4.11 (api:1/proto:86-101)
srcversion: 211FB288A383ED945B83420
 0: cs:SyncSource ro:Primary/Secondary ds:UpToDate/Inconsistent C r-----
    ns:392596 nr:0 dw:0 dr:394740 al:8 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:167373384
        [>....................] sync'ed:  0.3% (163448/163832)M
        finish: 1:53:37 speed: 24,536 (24,536) K/sec

# एक बार सिंक्रोनाइज़ेशन पूरा हो जाने पर, स्थिति इस तरह दिखाई देगी

root@node01:~#
cat /proc/drbd

version: 8.4.11 (api:1/proto:86-101)
srcversion: 211FB288A383ED945B83420
 0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r-----
    ns:167765980 nr:0 dw:0 dr:167768124 al:8 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
[3] ठीक है। उसके बाद, आप DRBD डिवाइस पर एक फ़ाइल सिस्टम बनाकर और इसे प्राइमरी साइड पर माउंट करके इसका उपयोग कर सकते हैं।
root@node01:~#
mkfs.ext4 /dev/drbd0

root@node01:~#
mkdir /drbd_disk

root@node01:~#
mount /dev/drbd0 /drbd_disk

root@node01:~#
df -hT

Filesystem                        Type   Size  Used Avail Use% Mounted on
tmpfs                             tmpfs  392M  1.1M  391M   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv ext4    28G  6.1G   20G  24% /
tmpfs                             tmpfs  2.0G     0  2.0G   0% /dev/shm
tmpfs                             tmpfs  5.0M     0  5.0M   0% /run/lock
/dev/vda2                         ext4   2.0G   95M  1.7G   6% /boot
tmpfs                             tmpfs  392M   12K  392M   1% /run/user/0
/dev/drbd0                        ext4   157G   28K  149G   1% /drbd_disk

# एक परीक्षण फ़ाइल बनाएँ

root@node01:~#
echo 'test file' > /drbd_disk/test.txt

root@node01:~#
ll /drbd_disk

total 28
drwxr-xr-x  3 root root  4096 May  3 06:37 ./
drwxr-xr-x 24 root root  4096 May  3 06:36 ../
drwx------  2 root root 16384 May  3 06:36 lost+found/
-rw-r--r--  1 root root    10 May  3 06:37 test.txt
[4] DRBD डिवाइस को सेकेंडरी होस्ट पर माउंट करने के लिए, इसे निम्नानुसार करें।
# प्राथमिक होस्ट पर
# drbd डिवाइस को अनमाउंट करें और सेकेंडरी सेट करें

root@node01:~#
umount /drbd_disk

root@node01:~#
drbdadm secondary r0
# द्वितीयक होस्ट पर
# प्राथमिक सेट करें और डीआरबीडी डिवाइस माउंट करें

root@node02:~#
drbdadm primary r0

root@node02:~#
mount /dev/drbd0 /drbd_disk

root@node02:~#
df -hT

Filesystem                        Type   Size  Used Avail Use% Mounted on
tmpfs                             tmpfs  392M  1.1M  391M   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv ext4    28G  6.1G   20G  24% /
tmpfs                             tmpfs  2.0G     0  2.0G   0% /dev/shm
tmpfs                             tmpfs  5.0M     0  5.0M   0% /run/lock
/dev/vda2                         ext4   2.0G   95M  1.7G   6% /boot
tmpfs                             tmpfs  392M   12K  392M   1% /run/user/0
/dev/drbd0                        ext4   157G   32K  149G   1% /drbd_disk

root@node02:~#
cat /drbd_disk/test.txt

test file
मिलान सामग्री