Common Address Redundancy Protocol буюу CARP нь олон хостуудад нэг IP хаяг хуваалцах боломжийг олгодог. Зарим тохиргоонуудын хувьд үүнийг байнгын бэлэн байдал юм уу эсвэл ачаалал тэгш хуваарилахад ашиглаж болох юм. Энд дурдсан жишээний адилаар хостууд нь бас өөр өөр IP хаягууд ашиглаж болох юм.
CARP-ийн дэмжлэгийг идэвхжүүлэхийн тулд FreeBSD цөмийг Бүлэг 9, FreeBSD цөмийг тохируулах нь бүлэгт заасны дагуу дараах тохируулгатайгаар бүтээсэн байх хэрэгтэй:
device carp
Мөн өөрөөр if_carp.ko
модулийг ачаалах үед
дуудаж болно. Ингэхийн тулд дараах мөрийг /boot/loader.conf
нэмж өгнө:
if_carp_load="YES"
CARP боломж нь одоо хүртээмжтэй болсон байх
ёстой бөгөөд түүнийг хэд хэдэн sysctl
-ийн OID-уудын
тусламжтайгаар тааруулж болно:
OID | Тайлбар |
---|---|
net.inet.carp.allow | Ирж байгаа CARP пакетуудыг хүлээж авах. Анхдагчаар идэвхжсэн байдаг. |
net.inet.carp.preempt | Энэ тохируулга нь хост дээрх бүх CARP интерфэйсүүдийг аль нэг нь зогссон тохиолдолд зогсоодог. Анхдагчаар идэвхжээгүй байдаг. |
net.inet.carp.log | 0 гэсэн утга нь бүртгэлийг идэвхжүүлдэггүй.
1 гэсэн утга нь муу CARP
пакетуудын бүртгэлийг идэвхжүүлдэг. 1 -ээс
их утгууд нь CARP интерфэйсүүдийн хувьд
төлвийн өөрчлөлтүүдийн бүртгэлийг идэвхжүүлдэг. Анхдагч
утга нь 1 байна. |
net.inet.carp.arpbalance | ARP ашиглан дотоод сүлжээний урсгалыг тэнцвэржүүлнэ. Анхдагчаар идэвхжээгүй байдаг. |
net.inet.carp.suppress_preempt | Preemption буюу өөр илүү өндөр давуу эрх бүхий бодлого/урсгалаар
солигдох боломжийг хаасан хориглолтын төлвийг үзүүлэх
зөвхөн уншигдах OID. Хэрэв интерфэйс дээрх
холбоос босоогүй бол илүү өндөр давуу эрх бүхий бодлого/урсгалаар
солигдох боломжийг хааж болно. 0 утга нь
илүү өндөр давуу эрх бүхий бодлого/урсгалаар солигдох боломж
хаагдаагүй гэсэн утгатай. Асуудал бүр энэ OID-ийг
нэгээр ахиулж нэмэгдүүлнэ. |
CARP төхөөрөмжүүдийг ifconfig
тушаалаар үүсгэж болно:
#
ifconfig carp0 create
Жинхэнэ амьдрал дээр эдгээр интерфэйсүүдэд VHID гэгддэг давхардахгүй дугаарууд хэрэгтэй болно. Энэ VHID буюу Виртуал Хостын Үнэмлэх нь сүлжээн дэх хостыг ялгахад хэрэглэгдэх болно.
Дээр дурдсан CARP-ийн нэг хэрэглээ нь серверийн бэлэн байдалд зориулагджээ. Энэ жишээ нь өөр өөр IP хаягуудтай, ижил вэбийн агуулга бүхий гурван хостын хувьд байнгын бэлэн байдалд байх дэмжлэгийг харуулах болно. Эдгээр машинууд нь Тойрон Эргэх DNS тохиргоотойгоор ажиллах болно. Амжилтгүй болсон үед хандах нөөц машин нь хоёр нэмэлт CARP интерфэйстэй байх бөгөөд агуулгын сервер бүрийн IP-ний хувьд ашиглагдана. Хандалт амжилтгүй болоход амжилтгүй болсон машины IP хаягийг нөөц сервер авах ёстой. Энэ нь хэрэглэгчид амжилтгүй болсон нь мэдэгдэхгүй гэсэн үг юм. Нөөц сервер нь ачааллыг авах ёстой бол бусад агуулгын серверүүдтэй ижил агуулга болон үйлчилгээнүүдтэй байх ёстой.
Хоёр машин нь өгөгдсөн хостын нэр болон VHID-үүдээс
бусдаараа адилхан тохируулагдсан байх ёстой. Энэ жишээн дээр
эдгээр машинуудыг hosta.example.org
болон
hostb.example.org
гэж нэрлэсэн байгаа. Эхлээд
CARP-ийн тохиргоонд шаардлагатай мөрүүдийг
rc.conf
файлд нэмэх хэрэгтэй.
hosta.example.org
хостын хувьд
rc.conf
файл доор дурдсан мөрүүдийг агуулсан байх ёстой:
hostname="hosta.example.org" ifconfig_fxp0="inet 192.168.1.3 netmask 255.255.255.0" cloned_interfaces="carp0" ifconfig_carp0="vhid 1 pass testpass 192.168.1.50/24"
hostb.example.org
дээр доор дурдсан мөрүүдийг
rc.conf
файл агуулсан
байх ёстой:
hostname="hostb.example.org" ifconfig_fxp0="inet 192.168.1.4 netmask 255.255.255.0" cloned_interfaces="carp0" ifconfig_carp0="vhid 2 pass testpass 192.168.1.51/24"
Хамгийн чухал нь ifconfig
тушаалд pass
тохируулгаар
заагдсан нууц үгс нь адил байх ёстой. carp
төхөөрөмжүүд нь зөвхөн зөв нууц үг бүхий машинуудаас ирэх зарлалтуудыг сонсох
болно. VHID нь машин бүрийн хувьд өөр өөр байх ёстой.
Гурав дахь provider.example.org
машиныг
аль нэг хост руу хандахад амжилтгүй болоход хандаж болохоор болгож бэлдэх хэрэгтэй.
Энэ машинд хоёр carp
төхөөрөмж хэрэгтэй болох
бөгөөд нэг нэгээрээ хоёр хосттой ажиллах юм. rc.conf
-ийн
зөв тохиргооны мөрүүд доор дурдсантай төсөөтэй байх болно:
hostname="provider.example.org" ifconfig_fxp0="inet 192.168.1.5 netmask 255.255.255.0" cloned_interfaces="carp0 carp1" ifconfig_carp0="vhid 1 advskew 100 pass testpass 192.168.1.50/24" ifconfig_carp1="vhid 2 advskew 100 pass testpass 192.168.1.51/24"
Хоёр carp
төхөөрөмжтэй байх нь
хариу өгөхөө байсан аль нэг машиныг мэдэж IP хаягийг нь
авах боломжийг provider.example.org
хостод олгох болно.
Анхдагч FreeBSD цөм дээр preemption буюу өөр илүү өндөр давуу эрх бүхий бодлого/урсгалаар
солигдох боломж идэвхжсэн байж болох юм.
Хэрэв тийм бол provider.example.org
нь
IP хаягийг анхдагч агуулгын сервер рүү суллахгүй
байж болох юм. Энэ тохиолдолд администратор мастер уруу буцааж
IP-г хүчилж болох юм. Дараах тушаалыг provider.example.org
дээр ажиллуулах шаардлагатай:
#
ifconfig carp0 down && ifconfig carp0 up
Хостод тохирох carp
интерфэйс дээр
үүнийг хийх ёстой.
Энэ хүрэхэд CARP бүрмөсөн идэвхжиж тест хийхэд бэлэн болсон байх ёстой. Сүлжээг дахин эхлүүлэх буюу эсвэл машинуудыг дахин ачаалаад тест хийгээрэй.
Дэлгэрэнгүй мэдээллийг carp(4) гарын авлагын хуудаснаас олж болно.
Энэ болон бусад баримтуудыг ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ хаягаас татаж авч болно.
FreeBSD-ийн талаар
<questions@FreeBSD.org>
хаягтай холбоо барихаасаа өмнө
баримтыг уншина уу.
Энэ бичиг баримттай холбоотой асуулт байвал
<doc@FreeBSD.org>
хаягаар цахим захидал явуулна уу.
Энэ бичиг баримтын орчуулгатай холбоотой асуулт байвал
<admin@mnbsd.org>
хаягаар цахим захидал явуулна уу.