راه اندازی DRBD برای تکرار ذخیره سازی در دو سرور CentOS 7

ترجمه مقاله در آستانه شروع دوره آماده شد "مدیر لینوکس. مجازی سازی و خوشه بندی".

DRBD (Distributed Replicated Block Device) یک راه حل ذخیره سازی توزیع شده، انعطاف پذیر و قابل تکرار جهانی برای لینوکس است. محتویات دستگاه های بلوک مانند هارد دیسک ها، پارتیشن ها، حجم های منطقی و غیره را منعکس می کند. بین سرورها کپی‌هایی از داده‌ها را روی دو دستگاه ذخیره‌سازی ایجاد می‌کند تا در صورت خرابی یکی از آنها، داده‌های روی دومی قابل استفاده باشد.

می توان گفت چیزی شبیه به پیکربندی 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 و ابزارهای کمکی را روی هر دو گره با استفاده از:

# 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;
 }
}

فایل را ذخیره کنید و سپس ویرایشگر را ببندید.

بیایید برای لحظه ای به خط پروتکل C نگاه کنیم. DRBD از سه حالت تکرار مختلف (یعنی سه درجه همزمانی تکرار) پشتیبانی می کند:

  • پروتکل A: پروتکل تکرار ناهمزمان. اغلب در سناریوهای تکرار مسافت طولانی استفاده می شود.
  • پروتکل B: پروتکل تکرار نیمه سنکرون یا پروتکل حافظه همزمان.
  • پروتکل C: معمولا برای گره ها در شبکه های با فواصل کوتاه استفاده می شود. این تا حد زیادی رایج ترین پروتکل تکرار مورد استفاده در تنظیمات DRBD است.

این مهم است: انتخاب پروتکل تکرار بر دو عامل استقرار تأثیر می گذارد: امنیت و تأخیر. در مقابل، توان عملیاتی به طور قابل توجهی به پروتکل تکرار انتخابی بستگی ندارد.

مرحله 4: یک منبع اضافه کنید

Resource یک اصطلاح چتر است که به تمام جنبه های یک مجموعه داده تکراری خاص اشاره دارد. ما منبع خود را در فایل تعریف می کنیم /etc/drbd.d/test.res.

موارد زیر را به فایل هر دو گره اضافه کنید (به یاد داشته باشید که متغیرها را با مقادیر واقعی محیط خود جایگزین کنید).

به نام هاست توجه کنید، باید نام میزبان شبکه را مشخص کنیم که با استفاده از دستور uname به دست می آید. -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;
        }
}
}

که در آن:

  • در نام میزبان: قسمت on که دستور پیکربندی تودرتو در آن اعمال می شود.
  • آزمون: این نام منبع جدید است.
  • دستگاه /dev/drbd0: یک دستگاه بلوک مجازی جدید را نشان می دهد که توسط DRBD مدیریت می شود.
  • دیسک /dev/sdb1: این یک پارتیشن دستگاه بلوک است که یک دستگاه پشتیبان برای دستگاه DRBD است.
  • متا دیسک: تعیین می کند که DRBD ابرداده خود را در کجا ذخیره می کند. داخلی به این معنی است که DRBD ابرداده خود را در همان دستگاه فیزیکی سطح پایین ذخیره می کند که داده های واقعی در حال تولید است.
  • نشانی: آدرس IP و شماره پورت گره مربوطه را نشان می دهد.

همچنین توجه داشته باشید که اگر پارامترها در هر دو هاست مقادیر یکسانی داشته باشند، می توانید آنها را مستقیماً در قسمت منابع مشخص کنید.

به عنوان مثال، پیکربندی بالا را می توان به شکل زیر بازسازی کرد:

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 در تعامل است):

  • دربدادم: ابزار مدیریت سطح بالا DRBD.
  • drbdsetup: یک ابزار مدیریت سطح پایین برای اتصال دستگاه‌های DRBD به دستگاه‌های پشتیبان، پیکربندی جفت دستگاه‌های DRBD برای منعکس کردن دستگاه‌های پشتیبان آنها، و برای تأیید پیکربندی دستگاه‌های در حال اجرا DRBD.
  • دربدمتا: ابزار مدیریت ابرداده.

پس از افزودن تمام تنظیمات منبع اولیه، باید منبع را در هر دو گره فراخوانی کنیم.

# drbdadm create-md test

راه اندازی DRBD برای تکرار ذخیره سازی در دو سرور CentOS 7
راه اندازی فروشگاه فراداده

سپس باید آن را اجرا کنیم، که منبع را به دستگاه پشتیبان آن متصل می کند، سپس پارامترهای تکرار را تنظیم می کند و منبع را به همتای خود متصل می کند:

# drbdadm up test

حالا اگر دستور را اجرا کنید lsblk، متوجه خواهید شد که دستگاه DRBD/حجم drbd0 با دستگاه پشتیبان مرتبط است /dev/sdb1:

# lsblk

راه اندازی DRBD برای تکرار ذخیره سازی در دو سرور CentOS 7
لیست دستگاه های بلوک

برای غیرفعال کردن یک منبع، اجرا کنید:

# drbdadm down test

برای بررسی وضعیت یک منبع، دستور زیر را اجرا کنید (توجه داشته باشید که وضعیت دیسک ها در این مرحله مورد انتظار است. ناسازگار/ناسازگار):

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

راه اندازی DRBD برای تکرار ذخیره سازی در دو سرور CentOS 7
بررسی وضعیت یک منبع روشن است
بد

مرحله 6: منبع اولیه/منبع همگام سازی دستگاه اولیه را تنظیم کنید

در این مرحله، DRBD آماده حرکت است. حال باید مشخص کنیم که کدام گره باید به عنوان منبع همگام سازی اولیه دستگاه استفاده شود.

دستور زیر را فقط روی یک گره اجرا کنید تا همگام سازی کامل اولیه آغاز شود:

# drbdadm primary --force test
# drbdadm status test

راه اندازی DRBD برای تکرار ذخیره سازی در دو سرور CentOS 7
تنظیم گره اولیه به عنوان دستگاه اولیه
هنگامی که همگام سازی کامل شد، وضعیت هر دو درایو باید UpToDate باشد.

مرحله 7: تست تنظیمات DRBD

در نهایت، باید بررسی کنیم که آیا دستگاه DRBD در صورت نیاز برای ذخیره داده های تکراری کار می کند یا خیر. به یاد داشته باشید که ما از یک حجم دیسک خالی استفاده کردیم، بنابراین باید یک سیستم فایل روی دستگاه ایجاد کنیم و آن را نصب کنیم تا بررسی کنیم که آیا می توانیم از آن برای ذخیره داده های تکراری استفاده کنیم یا خیر.

ما باید با استفاده از دستور زیر در گره ای که در آن همگام سازی کامل اولیه (که منبعی با نقش اصلی دارد) یک فایل سیستم روی دستگاه ایجاد کنیم:

# mkfs -t ext4 /dev/drbd0

راه اندازی DRBD برای تکرار ذخیره سازی در دو سرور CentOS 7
ایجاد یک فایل سیستم بر روی حجم Drbd

سپس آن را همانطور که نشان داده شده است سوار کنید (می توانید نام مناسبی برای نقطه نصب بگذارید):

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

حالا چند فایل را در نقطه نصب بالا کپی یا ایجاد کنید و یک لیست طولانی با آنها ایجاد کنید دستورات ls:

# cd /mnt/DRDB_PRI/
# ls -l 

راه اندازی DRBD برای تکرار ذخیره سازی در دو سرور CentOS 7
محتویات جلد اصلی 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 

راه اندازی DRBD برای تکرار ذخیره سازی در دو سرور CentOS 7
بررسی تنظیم DRBD در حال اجرا بر روی گره ثانویه.

برای اطلاعات بیشتر، به صفحات راهنمای ابزارهای مدیریتی مراجعه کنید:

# man drbdadm
# man drbdsetup
# man drbdmeta

راهنما: راهنمای کاربر DRBD.

خلاصه

DRBD بسیار انعطاف پذیر و همه کاره است و آن را به یک راه حل تکرار ذخیره سازی مناسب برای افزودن HA به تقریباً هر برنامه ای تبدیل می کند. در این مقاله نحوه نصب DRBD بر روی CentOS 7 را نشان دادیم و به طور خلاصه نحوه استفاده از آن را برای تکرار ذخیره سازی نشان دادیم. با استفاده از فرم بازخورد زیر، نظرات خود را با ما در میان بگذارید.

درباره دوره بیشتر بدانید.

منبع: www.habr.com

اضافه کردن نظر