بررسی پارامتر size در فایل تنظیمات drbd
بررسی پارامتر size در فایل تنظیمات drbd
از ابزار DRBD برای Sync نمودن یک یا چند دیسک بین چند سیستم (سرور) استفاده می شود. جهت اعمال محدودیت در عملکرد آن میتوان از فایل تنظیمات DRBD استفاده نمود.
فهرست مندرجات
۳- برخی از عواملی که باعث غیر یکسان شدن حجم استوریج ها میشود عبارتند از
مقدمه
ابزار DRBD محدودیت استفاده ازسایز یک دیسک را از طریق پارامتر Size موجود در فایل تنظیمات خود اعمال می نماید.تا از این طریق سایزهای متفاوت دیسک سیستمها را با هم یکسان نماید.در این مستند سعی شده است تا بر روی این پارامتر تمرکز ودلایل استفاده از آن بیان شود.
DRBD
1 معرفی DRBD
ابزار DRBD یا Distributed Replicated Block Device یکی از ابزارهای مورد استفاده در سیستم عامل های بر پایه لینوکس است که از آن برای Sync کردن دائمی یا موقتی یک یا چند دیسک بین چند سیستم(سرور) استفاده می شود. DRBD مشابه RAID1 عمل میکند با این تفاوت که از بستر شبکه بهره گرفته شده است. یعنی در هر زمان داده ها بر روی دو (یا چند) دیسک واقعی نوشته میشود و در صورت از دست دادن یکی از دیسکها میتوان از دیسک دیگر استفاده و به اطلاعات دسترسی پیدا نمود.کاربر اصلی DRBD در سیستمهای کلاسترینگ می باشد.
تصویر 1: عملکرد ابزارDRBD
بوسیله DRBD میتوان هارددیسک سیستم های موجود در یک کلاستر را برای مواردی همچون:
-
استفاده در مجموعه کلاسترینگ
-
استفاده برنامههای خاص مانند Sql
-
ساخت پارتیشن های مجازی
-
راه اندازی پشتیبان گیری آنلاین بین سرورها را به کار برد.
-
در این مستند از آن جهت راه اندازی پشتیبان گیری استفاده شده است.
زمانی که قصد استفاده از ابزار DRBD را داشته باشیم ابتدا بایستی فایل تنظیمات مربوط به آن را مطابق با تنظیمات شبکه و نام استوریج ها ویرایش نماییم و سپس ازسرویس DRBD برای بهره گیری از امکانات آن استفاده می شود.
2 پارامتر های فایل drbd.conf
سرویس drbd اطلاعات مورد نیاز خودرا از فایل تنظیمات drbd.conf (به طور پیشفرض در مسیر
/etc/drbd.d/ میباشد) دریافت می کند .در این فایل، چندین پارامتر جهت ایجاد محدودیت و استفاده بهتراز ابزار وجود دارد.که در اینجا به برخی از این پارامتر ها اشاره می شود:
جدول 1: پارامتر های فایل منبع drbd
ردیف | پارامتر | توضیحات |
1 | Hostname | مشخصات سیستمهای یک کلاستر جهت همگام سازی (سینک) |
2 | rate | حداکثر نرخ انتقال اطلاعات در برقراری سینک |
3 | resource | نام مستعار استوریج(منبع) |
4 | protocol | Protocol مورد استفاده برای انتقال اطلاعات |
5 | Startup | حداکثر مدت زمان انتظار سیستم جهت ارتباط استوریج ها |
6 | Disk | تنظیمات مربوط به دیسک ها و خطاهای I/o |
7 | Syncer | محدودیت پهنای باند شبکه در عملیات سینک |
در بین پارامترهای موجود در فایل drbd.conf ،پارامتر Disk دارای زیر پارامتری به نام Size است.که با استفاده از این پارامتر میتوانیم حداکثر سایزی که قرار است از یک دیسک به یک استوریج(منبع) اختصاص داده شود را محدود نماییم.
نکته: ابزار DRBD به تعداد بیتهای یک دیسک نیزحساس میباشد به این شکل که بایستی بین دو دیسک استفاده شده در یک استوریج(منبع)که هر کدام از آنها در سیستمی می باشد، قانون زیر رعایت شده باشد:
-
تعداد بیتهای دیسک انتخاب شده در سیستم اصلی(primary) بایستی از تعداد بیتهای دیسک سیستم پشتیبان(secondery) کمتر یا یکسان باشد.زمانی که دو سیستم به عنوان primary در نظر گرفته می شود بایستی حتماً تعداد بیتهای هر دو دیسک انتخاب شده یکسان باشند.
کاربرد این پارامتر زمانی پررنگ میشود که دو دیسک مورد استفاده ما، دارای سایزی غیریکسان باشند.
پارامتر Size وظیفه محدود کردن سایز دیسک ها در Sync را بر عهده دارد و از این طریق ابزار DRBD را در استفاده کردن از تمام سایز یک دیسک محروم می کند.
در صورتی که مقدار این پارامتر را در هر دو سیستم ازکلاستر برابر قرار دهیم، اختلاف سایز بین دیسک ها را از بین می بریم و ابزار DRBD بدون هیچ خطایی شروع به کار می کند.
در صورتی که بدون استفاده کردن از این پارامتر قصد استفاده از ابزار DRBD را داشته باشیم و حجم دیسک ها مطابق شرایط توضیح داده شده نباشد ابزار DRBD نمیتواند عملیاتی شود و با خطای غیریکسان بودن سایز دیسک ها مواجه می شود.
3 برخی از عواملی که باعث غیر یکسان شدن حجم استوریج ها میشود عبارتند از:
-
نوع کنترلر RAID مورد استفاده در هر سیستم
-
نوع RAID انتخاب شده برای دیسک ها
-
نوع هارددیسک های استفاده شده در هر سیستم
در زیر نمونهای از تنظیمات فایل drbd همراه با مشخصات سرور ها ارائه می شود.
resource "pvm" {
protocol C;
handlers {
pri-on-incon-degr "echo o > /proc/sysrq-trigger ; halt -f";
pri-lost-after-sb "echo o > /proc/sysrq-trigger ; halt -f";
local-io-error "echo o > /proc/sysrq-trigger ; halt -f";
outdate-peer "/usr/lib/heartbeat/drbd-peer-outdater -t 5";
}
startup {
wfc-timeout 20;
}
disk {
on-io-error detach;
size 3000G;
محدودیت حجم3000 گیگابایتی برای این استوریج(منبع) از یک دیسک ۳۵۰۰ گیگابایتی
}
net {
ko-count 4;
cram-hmac-alg "sha1";
shared-secret "jecCOMirrorSystemWithPDCO&KVM";
after-sb-0pri disconnect;
after-sb-1pri disconnect;
after-sb-2pri disconnect;
rr-conflict disconnect;
}
syncer {
rate 100M;
al-extents 257;
}
on PVM2 {
device /dev/drbd0;
disk /dev/sdb;
address 10.10.10.2:7788;
flexible-meta-disk internal;
}
on PVM1 {
device /dev/drbd0;
disk /dev/sdb;
address 10.10.10.1:7788;
meta-disk internal;
}
}
مشخصات دیسک sdb استفاده شده در هر دو سرور به صورت زیر می باشد:
Disk /dev/sdb: 3500.5 GB, 3000466628608 bytes
255 heads, 63 sectors/track, 364785 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
همان طور که مشاهده میشود حجم دیسک 3500.5 گیگابایت است که از طریق فایل تنظیمات DRBDآن را به3000 گیگابایت محدود نموده ایم.
نتیجه نهایی بعد از محدود نمودن سایز دیسک ها در DRBD به صورت زیر می باشد.
m:res cs ro ds p mounted fstype
0 :pvm Connected Primary/Secondary UpToDate/UpToDate C /pvm gfs2
که هیچ گونه مشکلی از لحاظ سایز در برقراری سینک به وجود نمی آید.
نکته:
زمانی که یک استوریج را فرمت کنیم مقداری از حجم استوریج جهت نگهداری جدول فایل سیستم استفاده میشود که این مقدار حجم را از سایز محدود شده استوریج دریافت میکند.
در ادامه مشخص شده است که حجم استوریج mount شده برابر است با 2800 گیگابایت در صورتی که در تنظیمات DRBD حجم استوریج را 3000 گیگابایت در نظر گرفته ایم ولی بعد از فرمت کردن استوریج،حجم آن به 2800گیگابایت تغییر کرده است.
Filesystem Size Used Avail Use% Mounted on
/dev/drbd0 2.8T 1.2T 1.7T 42% /pvm