በሁለት CentOS 7 አገልጋዮች ላይ DRBDን ለማከማቻ ማባዛት ማዋቀር

የጽሁፉ ትርጉም የተዘጋጀው በትምህርቱ መጀመሪያ ዋዜማ ላይ ነው። የሊኑክስ አስተዳዳሪ. ምናባዊነት እና ስብስብ».

DRBD (የተከፋፈለ የተባዛ የማገጃ መሳሪያ) ለሊኑክስ የሚሰራጭ፣ተለዋዋጭ እና ሁለንተናዊ ተደጋጋሚ ማከማቻ መፍትሄ ነው። እንደ ሃርድ ድራይቮች፣ ክፍልፍሎች፣ ሎጂካዊ ጥራዞች፣ ወዘተ ያሉ የማገጃ መሳሪያዎችን ይዘቶች ያንጸባርቃል። በአገልጋዮች መካከል. በሁለት የማከማቻ መሳሪያዎች ላይ የውሂብ ቅጂዎችን ይፈጥራል ስለዚህም ከመካከላቸው አንዱ ካልተሳካ, በሁለተኛው ላይ ያለው መረጃ ጥቅም ላይ ሊውል ይችላል.

የሆነ ነገር ነው ማለት ትችላለህ የአውታረ መረብ RAID ውቅር 1 በተለያዩ አገልጋዮች ላይ የተነደፉ ዲስኮች። ሆኖም ግን ከ RAID (የአውታር RAID እንኳን) በተለየ መልኩ ይሰራል።

መጀመሪያ ላይ፣ DRBD በዋነኝነት ጥቅም ላይ የዋለው በከፍተኛ ተገኝነት (HA) የኮምፒተር ስብስቦች ውስጥ ነው፣ ነገር ግን ከስሪት XNUMX ጀምሮ፣ የደመና ማከማቻ መፍትሄዎችን ለማሰማራት ሊያገለግል ይችላል።

በዚህ ጽሑፍ ውስጥ DRBD በ CentOS ላይ እንዴት እንደሚጭን እናብራራለን እና በሁለት አገልጋዮች ላይ ማከማቻ (ክፍልፋይ) ለመድገም እንዴት እንደሚጠቀሙበት በአጭሩ እናሳያለን። በሊኑክስ ላይ በDRBD ለመጀመር ይህ ምርጥ ጽሑፍ ነው።

የሙከራ አካባቢ

ለዚህ ማዋቀር ሁለት መስቀለኛ መንገዶችን እንጠቀማለን።

  • መስቀለኛ መንገድ 1: 192.168.56.101 - tecmint.tecmint.lan
  • መስቀለኛ መንገድ 2፡ 192.168.56.102 – server1.tecmint.lan

ደረጃ 1፡ የDRBD ፓኬጆችን ይጫኑ

DRBD እንደ ሊኑክስ ከርነል ሞጁል ነው የተተገበረው። ለምናባዊ ብሎክ መሳሪያ ሾፌር ነው፣ ስለዚህ ከስርአቱ I/O ቁልል ግርጌ ላይ ይገኛል።

DRBD ከ ELRepo ወይም EPEL ሊጫን ይችላል። ከታች እንደሚታየው የELRepo ጥቅል ፊርማ ቁልፍን በማስመጣት እና ማከማቻውን በሁለቱም አንጓዎች በማገናኘት እንጀምር።

# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
# rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm

ከዚያ በሁለቱም ኖዶች ላይ የ DRBD kernel ሞጁሉን እና መገልገያዎችን መጫን ያስፈልግዎታል-

# yum install -y kmod-drbd84 drbd84-utils

SELinux የነቃ ከሆነ የDRBD ሂደቶችን ከSELinux ቁጥጥር ነፃ ለማድረግ ፖሊሲዎችን ማዋቀር ያስፈልግዎታል።

# semanage permissive -a drbd_t

በተጨማሪም፣ ስርዓትዎ ፋየርዎል (ፋየርዎል) እያሄደ ከሆነ፣ በሁለቱ ኖዶች መካከል የውሂብ ማመሳሰልን ለመፍቀድ DRBD ወደብ 7789 ማከል ያስፈልግዎታል።

ለመጀመሪያው መስቀለኛ መንገድ እነዚህን ትዕዛዞች ያሂዱ፡-

# firewall-cmd --permanent --add-rich-rule='rule family="ipv4"  source address="192.168.56.102" port port="7789" protocol="tcp" accept'
# firewall-cmd --reload

ከዚያ እነዚህን ትዕዛዞች ለሁለተኛው መስቀለኛ መንገድ ያሂዱ፡

# firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.56.101" port port="7789" protocol="tcp" accept'
# firewall-cmd --reload

ደረጃ 2፡ ዝቅተኛ-ደረጃ ማከማቻ ያዘጋጁ

አሁን በሁለቱም የክላስተር ኖዶች ላይ DRBD ስለተጫነን በግምት ተመሳሳይ መጠን ያላቸውን የማከማቻ ቦታዎችን መስጠት አለብን። ይህ የሃርድ ድራይቭ ክፍልፍል (ወይም ሙሉ አካላዊ ሃርድ ድራይቭ)፣ የሶፍትዌር RAID መሳሪያ፣ LVM ምክንያታዊ መጠን ወይም በስርዓትዎ ላይ የተገኘ ሌላ አይነት የማገጃ መሳሪያ።

ለዚህ ጽሑፍ የ dd ትዕዛዝን በመጠቀም የ 2 ጂቢ የሙከራ ማገጃ መሳሪያ እንፈጥራለን.

# dd if=/dev/zero of=/dev/sdb1 bs=2024k count=1024

ይህ ጥቅም ላይ ያልዋለ ክፍልፍል (/dev/sdb1) በሁለተኛው የማገጃ መሳሪያ (/dev/sdb) ላይ ከሁለቱም አንጓዎች ጋር የተገናኘ እንደሆነ እናስብ።

ደረጃ 3. DRBD በማዋቀር ላይ

DRBD ዋና ውቅር ፋይል - /etc/drbd.conf, እና ተጨማሪ የማዋቀሪያ ፋይሎች በማውጫው ውስጥ ሊገኙ ይችላሉ /etc/drbd.d.

ማከማቻውን ለመድገም አስፈላጊዎቹን ውቅሮች ወደ ፋይሉ ማከል አለብን /etc/drbd.d/global_common.confየ DRBD ውቅር ዓለም አቀፋዊ እና አጠቃላይ ክፍሎችን የያዘ እና በ ውስጥ ምንጮችን መግለፅ አለብን .res ፋይሎች.

በሁለቱም አንጓዎች ላይ የዋናውን ፋይል መጠባበቂያ ቅጂ እንስራ እና አዲሱን ፋይል ለማርትዕ እንከፍት (የመረጡትን የጽሑፍ አርታኢ ይጠቀሙ)።

# mv /etc/drbd.d/global_common.conf /etc/drbd.d/global_common.conf.orig
# vim /etc/drbd.d/global_common.conf 

የሚከተሉትን መስመሮች ወደ ሁለቱም ፋይሎች ያክሉ።

global {
 usage-count  yes;
}
common {
 net {
  protocol C;
 }
}

ፋይሉን ያስቀምጡ እና ከዚያ አርታኢውን ይዝጉ።

የፕሮቶኮል ሲ መስመርን ለአፍታ እንመልከተው፡ DRBD ሶስት የተለያዩ የማባዛት ሁነታዎችን ይደግፋል (ይህም ሶስት ዲግሪ የማባዛት ማመሳሰል) ማለትም፡-

  • ፕሮቶኮል A: ያልተመሳሰለ ማባዛት ፕሮቶኮል; በጣም ብዙ ጊዜ በረጅም ርቀት የማባዛት ሁኔታዎች ውስጥ ጥቅም ላይ ይውላል።
  • ፕሮቶኮል B፡ ከፊል የተመሳሰለ ማባዛት ፕሮቶኮል ወይም የተመሳሰለ ማህደረ ትውስታ ፕሮቶኮል።
  • ፕሮቶኮል C: በአብዛኛው አጭር ርቀት ባላቸው አውታረ መረቦች ውስጥ ለአንጓዎች ያገለግላል; ይህ እስካሁን በ DRBD መቼቶች ውስጥ በብዛት ጥቅም ላይ የሚውለው የማባዛት ፕሮቶኮል ነው።

ከፍተኛ: የማባዛት ፕሮቶኮል ምርጫ በሁለት የመሰማራት ሁኔታዎች ላይ ተጽዕኖ ያሳድራል-ደህንነት እና መዘግየት። በአንጻሩ የልቀት መጠን በተመረጠው የማባዛት ፕሮቶኮል ላይ በእጅጉ የተመካ አይደለም።

ደረጃ 4፡ ሃብት አክል

ሪሶርስ የአንድ የተወሰነ የተባዛ የውሂብ ስብስብ ሁሉንም ገጽታዎች የሚያመለክት ጃንጥላ ቃል ነው። በፋይሉ ውስጥ ሀብታችንን እንገልፃለን /etc/drbd.d/test.res.

በሁለቱም አንጓዎች ላይ የሚከተለውን ወደ ፋይሉ ያክሉ (ተለዋዋጮችን በአካባቢዎ ትክክለኛ እሴቶች መተካትዎን ያስታውሱ)።

ለአስተናጋጅ ስሞች ትኩረት ይስጡ, የአውታረ መረብ አስተናጋጅ ስም መጥቀስ ያስፈልገናል, በስም ትዕዛዝ በመጠቀም ሊገኝ ይችላል. -n.

resource test {
        on tecmint.tecmint.lan {
 		device /dev/drbd0;
       		disk /dev/sdb1;
        		meta-disk internal;	
                	address 192.168.56.101:7789;
        }
        on server1.tecmint.lan  {
		device /dev/drbd0;
        		disk /dev/sdb1;
        		meta-disk internal;
                	address 192.168.56.102:7789;
        }
}
}

የት

  • በአስተናጋጅ ስም: የጎጆው ውቅር መግለጫ የሚተገበርበት ክፍል።
  • ሙከራይህ የአዲሱ ሀብት ስም ነው።
  • መሣሪያ /dev/drbd0በDRBD የሚተዳደር አዲስ ምናባዊ የማገጃ መሳሪያ ያሳያል።
  • ዲስክ / dev/sdb1ይህ ለ DRBD መሳሪያ የመጠባበቂያ መሳሪያ የሆነ የማገጃ መሳሪያ ክፍልፍል ነው።
  • ሜታ-ዲስክDRBD ሜታዳታውን የት እንደሚያከማች ይገልጻል። ውስጣዊ ማለት DRBD ሜታዳታውን በምርት ውስጥ ካለው ትክክለኛ መረጃ ጋር በተመሳሳይ አካላዊ ዝቅተኛ ደረጃ መሳሪያ ላይ ያከማቻል ማለት ነው።
  • አድራሻ: የሚዛመደው መስቀለኛ መንገድ የአይፒ አድራሻውን እና የወደብ ቁጥርን ያሳያል።

እንዲሁም መመዘኛዎቹ በሁለቱም አስተናጋጆች ላይ ተመሳሳይ እሴቶች ካሏቸው በቀጥታ በሀብቶች ክፍል ውስጥ መግለጽ እንደሚችሉ ልብ ይበሉ።

ለምሳሌ፣ ከላይ ያለው ውቅር ወደሚከተለው ሊዋቀር ይችላል፡-

resource test {
	device /dev/drbd0;
	disk /dev/sdb1;
        	meta-disk internal;	
        	on tecmint.tecmint.lan {
 		address 192.168.56.101:7789;
        	}
        	on server1.tecmint.lan  {
		address 192.168.56.102:7789;
        		}
}

ደረጃ 5. ሀብቱን ያስጀምሩ እና ያስጀምሩ

ከDRBD ጋር መስተጋብር ለመፍጠር የሚከተሉትን የአስተዳደር መሳሪያዎች እንጠቀማለን (ከከርነል ሞጁል ጋር የDRBD ሃብቶችን ለማዋቀር እና ለማስተዳደር) ይገናኛሉ፡

  • drbdadmDRBD ከፍተኛ-ደረጃ አስተዳደር መሣሪያ.
  • drbdsetupዝቅተኛ ደረጃ አስተዳደር መሳሪያ የ DRBD መሳሪያዎችን ከመጠባበቂያ መሳሪያቸው ጋር ለማገናኘት ፣የDRBD ጥንዶችን የመጠባበቂያ መሳሪያዎቻቸውን ለማንፀባረቅ እና የ DRBD መሳሪያዎችን ለማስኬድ ውቅር ለማረጋገጥ።
  • Drbdmetaሜታዳታ አስተዳደር መሣሪያ።

ሁሉንም የመነሻ ሀብቶች ውቅረቶች ከጨመርን በኋላ ሀብቱን በሁለቱም አንጓዎች ላይ መጥራት አለብን።

# drbdadm create-md test

በሁለት CentOS 7 አገልጋዮች ላይ DRBDን ለማከማቻ ማባዛት ማዋቀር
የሜታዳታ ማከማቻን በማስጀመር ላይ

በመቀጠል እሱን ማስኬድ አለብን ፣ ይህም ሀብቱን ከመጠባበቂያ መሳሪያው ጋር ያገናኘዋል ፣ ከዚያ የማባዛት መለኪያዎችን ያዘጋጃል እና ሀብቱን ከአቻው ጋር ያገናኘዋል ።

# drbdadm up test

አሁን ትዕዛዙን ካስኬዱ lsblk, የ DRBD መሳሪያ / ጥራዝ drbd0 ከመጠባበቂያ መሳሪያው ጋር የተገናኘ መሆኑን ያስተውላሉ /dev/sdb1:

# lsblk

በሁለት CentOS 7 አገልጋዮች ላይ DRBDን ለማከማቻ ማባዛት ማዋቀር
የማገጃ መሳሪያዎች ዝርዝር

ሀብትን ለማሰናከል፣ አሂድ፡-

# drbdadm down test

የንብረት ሁኔታን ለመፈተሽ የሚከተለውን ትዕዛዝ ያሂዱ (የዲስኮች ሁኔታ በዚህ ጊዜ እንደሚጠበቅ ልብ ይበሉ). የማይጣጣም / የማይጣጣም):

# drbdadm status test
OR
# drbdsetup status test --verbose --statistics 	#for  a more detailed status

በሁለት CentOS 7 አገልጋዮች ላይ DRBDን ለማከማቻ ማባዛት ማዋቀር
በርቷል የንብረት ሁኔታን በመፈተሽ ላይ
ክፉ

ደረጃ 6፡ ዋናውን ሃብት/የመጀመሪያውን መሳሪያ ማመሳሰል ምንጭ ያዘጋጁ

በዚህ ደረጃ፣ DRBD ለመሄድ ዝግጁ ነው። አሁን የትኛው መስቀለኛ መንገድ እንደ መጀመሪያው መሣሪያ ማመሳሰል ምንጭ መጠቀም እንዳለበት መግለፅ አለብን።

የመጀመሪያውን ሙሉ ማመሳሰል ለመጀመር የሚከተለውን ትዕዛዝ በአንድ መስቀለኛ መንገድ ላይ ብቻ ያሂዱ፡

# drbdadm primary --force test
# drbdadm status test

በሁለት CentOS 7 አገልጋዮች ላይ DRBDን ለማከማቻ ማባዛት ማዋቀር
ዋናውን መስቀለኛ መንገድ እንደ መጀመሪያው መሣሪያ በማዘጋጀት ላይ
ማመሳሰል ከተጠናቀቀ በኋላ የሁለቱም አንጻፊዎች ሁኔታ ወቅታዊ መሆን አለበት።

ደረጃ 7፡ የDRBD ቅንብርን መሞከር

በመጨረሻ፣ የተባዛውን ውሂብ ለማከማቸት የ DRBD መሣሪያ እንደ አስፈላጊነቱ ይሠራ እንደሆነ ማረጋገጥ አለብን። ባዶ የዲስክ መጠን የተጠቀምን መሆናችንን አስታውስ፣ ስለዚህ በመሳሪያው ላይ የፋይል ሲስተም ፈጠርን እና የተባዛ ውሂብ ለማከማቸት ልንጠቀምበት እንደምንችል ለማረጋገጥ መጫን አለብን።

የመጀመሪያውን ሙሉ ማመሳሰል በጀመርንበት መስቀለኛ መንገድ ላይ የሚከተለውን ትዕዛዝ በመጠቀም በመሳሪያው ላይ የፋይል ስርዓት መፍጠር አለብን (ይህም ከዋናው ሚና ጋር ግብዓት አለው)

# mkfs -t ext4 /dev/drbd0

በሁለት CentOS 7 አገልጋዮች ላይ DRBDን ለማከማቻ ማባዛት ማዋቀር
በ Drbd ድምጽ ላይ የፋይል ስርዓት መፍጠር

ከዚያ እንደሚታየው ይጫኑት (የተራራውን ነጥብ ተስማሚ ስም መስጠት ይችላሉ)

# mkdir -p /mnt/DRDB_PRI/
# mount /dev/drbd0 /mnt/DRDB_PRI/

አሁን ከላይ ባለው ተራራ ነጥብ ላይ አንዳንድ ፋይሎችን ይቅዱ ወይም ይፍጠሩ እና ረጅም ዝርዝር ያዘጋጁ ls ያዛል:

# cd /mnt/DRDB_PRI/
# ls -l 

በሁለት CentOS 7 አገልጋዮች ላይ DRBDን ለማከማቻ ማባዛት ማዋቀር
የዋናውን Drbd ድምጽ ይዘቶች ይዘርዝሩ

በመቀጠል መሳሪያውን ይንቀሉ (ማፈናጠያው ክፍት አለመሆኑን ያረጋግጡ፣ ስህተቶችን ለማስወገድ ከተነሱ በኋላ ማውጫውን ይቀይሩ) እና የመስቀለኛ ሚናውን ከአንደኛ ደረጃ ወደ ሁለተኛ ደረጃ ይለውጡ።

# umount /mnt/DRDB_PRI/
# cd
# drbdadm secondary test

ሌላውን መስቀለኛ መንገድ (ሁለተኛ ሚና ያለው ግብዓት ያለው) ዋና ያድርጉት፣ ከዚያ አንድ መሳሪያ ከእሱ ጋር አያይዘው እና ረጅም የማፈናጠጫ ነጥቦችን ያውጡ። ማዋቀሩ በትክክል የሚሰራ ከሆነ፣ ሁሉም በድምጽ ላይ የተከማቹ ፋይሎች እዚያ መሆን አለባቸው፡-

# drbdadm primary test
# mkdir -p /mnt/DRDB_SEC/
# mount /dev/drbd0 /mnt/DRDB_SEC/
# cd /mnt/DRDB_SEC/
# ls  -l 

በሁለት CentOS 7 አገልጋዮች ላይ DRBDን ለማከማቻ ማባዛት ማዋቀር
በሁለተኛ ደረጃ መስቀለኛ መንገድ ላይ እየሄደ ያለውን የDRBD ማዋቀር በመፈተሽ ላይ።

ለበለጠ መረጃ የአስተዳደር መሳሪያዎች እገዛ ገፆችን ይመልከቱ፡-

# man drbdadm
# man drbdsetup
# man drbdmeta

እገዛ: የDRBD የተጠቃሚ መመሪያ.

ማጠቃለያ

DRBD እጅግ በጣም ተለዋዋጭ እና ሁለገብ ነው, ይህም በማንኛውም መተግበሪያ ላይ HA ለመጨመር ተስማሚ የሆነ የማከማቻ ማባዛት መፍትሄ ያደርገዋል. በዚህ ጽሑፍ ውስጥ DRBD በ CentOS 7 ላይ እንዴት እንደሚጭን አሳይተናል እና ለማከማቻ ማባዛት እንዴት እንደሚጠቀሙበት በአጭሩ አሳይተናል። ከዚህ በታች ያለውን የግብረመልስ ቅጽ በመጠቀም ሀሳብዎን ከእኛ ጋር ለማካፈል ነፃነት ይሰማዎ።

ስለ ኮርሱ የበለጠ ይረዱ።

ምንጭ: hab.com

አስተያየት ያክሉ