در قسمت اول گفتیم که Storage Replica تکنولوژی است که همسانسازی Volumeهای بین سرورها یا کلاسترها برای Disaster Recovery را فراهم میکند و در ادامه در خصوص انواع Storage Replica و دلایل استفاده از آن توضیح دادیم. در این قسمت به بررسی موارد باقیمانده درباره این تکنولوژی میپردازیم.
ملزومات پیاده سازی Storage Replica
- نیاز به راه اندازی سرویس دامنه Active Directory میباشد.
- Storage Spaces میتواند بر روی SAS JBODها، Storage Spaces Direct و VHDX اشتراکی،Fiber channel SAN و iSCSI Target و نیز Local SAS/SCSI/SATA Storage پیادهسازی شود. برای همسانسازی درایوهای Log، استفاده از SSD یا سریعتر از آن توصیه میگردد. بنابه توصیهی مایکروسافت، Log Storage باید سریعتر از Storage دادهها باشد. Volumeهای Log هرگز نباید برای بارهای کاری دیگری مورد استفاده قرار گیرند.
- حداقل یک ارتباط Ethernet/TCP روی هر سرور برای همسانسازی همزمان توصیه میشود، همچنین استفاده از RDMA پیشنهاد میشود.
- حداقل دو گیگابایت RAM و دو هسته به ازای هر سرور مورد نیاز است.
- برای همسانسازی همزمان بین سرورها، به یک شبکه با پهنای باند کافی جهت دربرگرفتن بار کاری عملیات Write مربوط به IO و میانگین میزان تاخیر رفت و برگشت 5ms یا کمتر پیشنهاد میشود. مایکروسافت برای همسانسازی غیر همزمان، میزان تاخیری توصیه نکرده است.
- نسخهی سیستم عامل پیشنهادی مایکروسافت، استاندارد و یا دیتاسنتر میباشد. Storage Replica در نسخهی استاندارد محدودیتهایی دارد که شامل موارد ذیل میباشد:
- کاربر باید از Windows Server 2019 یا نسخهی جدیدتر استفاده نماید.
- برخلاف نسخهی دیتاسنتر که تعداد نامحدودی Volume را همسانسازی میکند، Storage Replica تنها یک Volume را همسانسازی میکند.
- Volumeها باید حداکثر 2 ترابایت حجم داشته باشند.
تاریخچه
این بخش شامل پیاده سازی سطح بالا، همسانسازی همزمان (Synchronous Replication) ، همسانسازی غیرهمزمان (Asynchronous Replication) و رفتارهای کلیدی میباشد.
پیاده سازی سطح بالا
Disaster Recovery یا DR به یک برنامهی پیشگیرانه برای بازیابی سایت در هنگام بروز سوانح احتمالی میباشد که باعث میشود تحت چنین شرایطی، کسبوکار به فعالیت خود ادامه دهد. DR دادهها بدین معنی میباشد که از اطلاعات موجود چندین کپی تولید و در مکان فیزیکی جداگانه نگهداری شود، برای مثال Stretch Cluster که در آن نیمی از Nodeها در یک سایت و نیمی دیگر در سایتی دیگر میباشد. Disaster Preparedness یا DP نیز به یک برنامهی پیشامد برای انتقال بارهای کاری به مکانی متفاوت پیش از بروز سانحه، مانند توفان، اشاره دارد.
توافقنامههای سطح سرویسدهی (SLA)، میزان دسترسپذیری برنامههای کاربردی کسب و کارها و تحمل آنها در برابر Downtime و از دست رفتن دادهها را حین قطعیهای برنامهریزیشده و برنامهریزینشده، تعریف میکند. اهداف زمان بازیابی (RTO) تعریف میکند که کسبوکار چه مدت میتواند غیر قابل دسترس بودن کامل دادهها را تحمل کند. اهداف نقطه بازیابی (RPO) نیز تعریف میکند که کسبوکار تا چه میزان داده را میتواند از دست دهد.
کاربرد vSAN در Disaster Recovery
ویدیوهای بیشتر درباره Disaster Recovery
Synchronous Replication
همسانسازی همزمان تضمین میکند که برنامهی کاربردی، دادهها را پیش از اتمام IO فورا به دو مکان Write شود. این نوع Replication برای دادههای مهم عملیاتی مناسب میباشد. از طرف دیگر این نوع همسان سازی به منابع مناسب در حوزه شبکه و Storage نیاز دارد. همچنین این احتمال وجود دارد بدلیل همسان سازی همزمان عملکرد برنامههای کاربردی کاهش یابد.
زمانی که یک برنامهی کاربردی برروی Storage اصلی دادهای مینویسد، Storage اصلی تا زمانی که داده بر روی سایر Storageهای موجود در سایتهای Remote کپی نشود و تاییدیه از آنها دریافت نشود، Write شدن داده بر روی Storage اصلی را تایید نخواهد کرد. این امر همزمانسازی دائم سایت Remote را با سایت منبع تضمین میکند که در اثر آن، IOهای Storage گسترش مییابند. در صورت عدم موفقیت سایت منبع، برنامههای کاربردی این امکان را دارند که به سایت Remote، Failover نموده و عملیات خود را بدون از دست رفتن داده، ادامه دهند.
حالت RPO Synchronous بدون اتلاف داده
نمودار:
مراحل:
- برنامهی کاربردی دادهها را مینویسد.
- Log Data در سایت منبع نوشته میشود و همچنین Date با سایت Remote همسانسازی میگردد.
- Log Data در سایت Remote نوشته میشود.
- تاییدیه Write از سایت Remote دریافت میشود.
- Write برنامهی کاربردی تایید میگردد.
Asynchronous Replication
در مقابل، همسانسازی غیر همزمان بدین معناست که وقتی برنامهی کاربردی دادهها را مینویسد، آن دادهها بدون ضمانت تایید فوری با سایت Remote همسانسازی میگردند. این حالت، امکان پاسخ سریعتر به برنامهی کاربردی میسر میشود. همچنین این نوع Replication به عنوان یک راهکار DR برای سایتهایی با فاصله جغرافیایی زیاد، پیشنهاد میگردد.
هنگامی که برنامهی کاربردی دادهها را مینویسد، موتور Replication نوشته را دریافت نموده و بلافاصله به برنامهی کاربردی تاییدیه را ارسال میکند. سپس دادههای گرفتهشده به سایت Remote همسانسازی میگردد. Remote Node کپی دادهها را پردازش نموده و با سرعت پایین به کپی منبع تاییدیه را ارسال میکند. از آنجایی که اجرای Replication دیگر تاثیری در عملکرد IOی برنامهی کاربردی ندارد، پاسخگویی سریع و فاصلهی از سایت Remote از اهمیت کمتری برخوردارند. باید توجه داشت که اگر دادههای منبع از دست رفته باشند و کپی دادهها از بافر منبع به سایتهای Remote منتقل نشوند، احتمال از دست دادن اطلاعات وجود دارد.
بیشتر بخوانید: (Storage Replica (SR در ویندوز سرور ۲۰۱۶
همسانسازی غیر همزمان، RPOیی بیش از صفر دارد و کمتر برای راهکارهای HAیی نظیر کلاسترهای Failover مناسب است چراکه برای انجام عملیات بصورت مداوم و با افزونگی و بدون اتلاف داده طراحی شده است.
حالت RPOی غیر همزمان با اتلاف دادهی تقریبا صفر
نمودار:
مراحل:
- برنامهی کاربردی دادهها را مینویسد.
- Data Log نوشته میشوند.
- عملیات Write برنامهی کاربردی تایید میشود.
- Date با سایت Remote همسانسازی میشود.
- Data Log در سایت Remote نوشته میشود.
- از سوی سایت Remote تایید میگردد.
رفتارها و نقاط ارزیابی
- میزان پهنای باند و تاخیر شبکه و سرعت Storage: چند محدودیت فیزیکی حول Synchronous Replication وجود دارد. از آنجایی که Storage Replica با استفاده از Logها و با نیاز به رفت و برگشتهای شبکه، یک مکانیزم فیلترینگ IO را اجرا میکند، همسانسازی همزمان شاید Writeهای برنامهی کاربردی را کندتر کند. با استفاده از شبکههای دارای تاخیر کم و پهنای باند زیاد و همچنین سیستمهای فرعی (Subsystems) دیسک با توان عملیاتی بالا برای Logها، میتوان Load اضافه در کارایی را به حداقل رساند.
- Volume مقصد وقتی در Windows Server 2016 همسانسازی میگردد، غیر قابل دسترس است. زمانی که Replication پیکربندی میگردد، Volume مقصد Dismount میگردد، که موجب میشود برای هرگونه عملیات Read یا Write غیر قابل دسترس باشد. نویسهی (Letter) درایور آن ممکن است در واسطهای کاربری معمول مانند File Explorer قابل دیدن باشد، اما یک برنامهی کاربردی نمیتواند به Volume دسترسی داشته باشد. فناوریهای همسانسازی سطح Block امکان اجازهی دسترسی به فایل سیستم Mountشدهی سیستم مقصد در یک Volume نمیدهند. همچنین از فایل سیستمهای NTFS و ReFS کاربرانی که دادهها را بصورت Block مینویسند، پشتیبانی نمیکند.
دستور Test-Failover در Windows Server، نسخهی 1709 به پاورشل اضافه شد و همچنین در Windows Server 2019 نیز موجود میباشد. این دستور درحال حاضر از Mount نمودن موقت Read-Write Snapshot مربوط به Volume مقصد برای پشتیبانگیری، آزمایش و سایر موارد، پشتیبانی مینماید.
اجرای Asynchronous Replication توسط مایکروسافت، نسبت به بسیاری دیگر متفاوت است. غالبا اجرای صنعتی Replication غیر همزمان متکی بر همسانسازی مبتنی بر Snapshot است، که در آن انتقالات دورهای Differential به Node دیگر منتقل شده و ادغام میگردند. همسانسازی غیر همزمان Storage Replica همانند همسانسازی همزمان کار میکند، با این تفاوت که نیاز به تایید همزمان و پیاپی از مقصد را حذف میکند. این بدین معناست که وقتی Storage Replica به طور مداوم Replicate میکند، از RPOی کمتری برخوردار است. اما در این حالت به جای استفاده از Snapshot برای حفظ ثبات در فایلهای برنامهی کاربردی، باید از پایداری برنامهی کاربردی داخلی اطمینان حاصل شود. Storage Replica مقاومت در برابر خرابی (Crash Consistency) را در همهی حالات همسانسازی تضمین میکند.
- بسیاری از مشتریان از DFS Replication به عنوان یک راهکار Disaster Recovery استفاده میکنند حتی اگر برای آن حالت، مناسب نباشد. باید در نظر داشت DFS Replication نمیتواند Open Fileها را همسانسازی کند و برای به حداقل رساندن مصرف پهنای باند، به بهای کاهش قابلیت عملکرد، طراحی شده است که به حجمهای بزرگ recovery point ختم میگردد. Storage Replica ممکن است این امکان را فراهم آورد که DFS Replication را از برخی از این نوع وظایف Disaster Recovery کنار بگذاریم.
- Storage Replica یک راهکار پشتیبانگیری نیست. برخی محیطهای IT سیستمهای Replication را به خاطر قابلیتهای عدم اتلاف داده در مقایسه با پشتیبانگیریهای روزانه، به عنوان راهکارهای پشتیبانگیری پیادهسازی مینمایند. Storage Replica تمام تغییرات را، صرف نظر از نوع آنها، به تمام Blockهای داده بر Volume همسانسازی میکند. اگر کاربری تمام دادهها را از یک Volume حذف کند، Storage Replica عملیات حذف را سریعا به Volume دیگر همسانسازی میکند و به صورت بیبازگشت، دادهها را از هردو سرور حذف میکند. نباید از Storage Replica به عنوان جایگزینی برای یک راهکار پشتیبانگیری لحظهای استفاده نمود.
- Storage Replica مانند Hyper-V Replica یا Microsoft SQL AlwaysOn Availability Groups نیست، بلکه یک موتور Storage-Agnostic با هدفی کلی است. اصولا نمیتواند رفتار خود را به خوبی Replicate سطح برنامهی کاربردی سازگار نماید. این ممکن است به شکافهای خصوصیاتی خاصی منتهی گردد که کاربر را تشویق به پیادهسازی و یا حفظ فناوریهای همسانسازی برنامهی کاربردی خاصی کند.
اصطلاحات کاربردی Storage Replica
در این راهنما معمولا از اصطلاحات ذیل استفاده میشود:
- Source به Volume یک کامپیوتر گفته میشود که Local Writeها را میسر میسازد و به صورت Outbound همسانسازی میکند. به عنوان «اولیه» نیز شناخته میشود.
- Destination نیز Volume یک کامپیوتر است که اجازهی Local Write نمیدهد و به صورت Inbound همسانسازی میکند. به عنوان «ثانویه» نیز شناخته میشود.
- Replication Partnership، رابطهی Replication بین یک منبع و کامپیوتر مقصد برای یک یا چند Volume میباشد و از یک Log واحد استفاده مینماید.
- Replication Group، سازمان Volumeها و پیکربندی همسانسازی آنها تحت یک مشارکت میباشد و بر مبنای هر سرور میباشد. گروه ممکن است حاوی یک یا چند Volume باشد.