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:~# 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_diskroot@node02:~# cat /drbd_disk/test.txt test file |
| Sponsored Link |
|
|