مهاجرت مبتنی بر برنامه، مبتنی بر فایل، و مبتنی بر بلوک، همگی محاسن و موارد استفاده خاص خود را دارند. انتخاب راه حل مناسب با درک تفاوت های آنها شروع می شود.
مهاجرت دادهها برای سازمانهای فناوری اطلاعات با هر اندازهای، عملیاتی حیاتی و اغلب چالش برانگیز است. چه سازمان کوچک باشد، چه متوسط یا یک غول Fortune 500، انتقال داده ها از یک سیستم به سیستم دیگر مملو از خطراتی است، از از دست دادن داده یا فساد گرفته تا زمان طولانی از کار افتادگی، و اثرات این خطرات می تواند بسیار پرهزینه باشد. صرف نظر از اندازه شرکت، ایجاد تداوم و قابلیت اطمینان عملکردهای جابجایی داده سازمان یک تعهد حیاتی است و انتخاب رویکرد و راه حل صحیح برای انتقال داده ضروری است.
سه رویکرد اصلی برای مهاجرت به محیطهای تولید شرکت داده وجود دارد: مبتنی بر برنامه (منطقی)، مبتنی بر فایل، و مبتنی بر بلوک (فیزیکی). هر یک از این روش های مهاجرت، محاسن و موارد استفاده خاص خود را دارد. ما در این مقاله هر یک از این سه رویکرد را به صورت جداگانه ارزیابی خواهیم کرد. برای شروع، چند دلیل متداول که چرا سازمان ها در وهله اول به انتقال داده نیاز دارند را مورد بحث قرار می دهیم.
موارد استفاده رایج انتقال داده
مهاجرت به یک مکان جدید (جابجایی داده ها). زمانی که داده ها و برنامه ها باید از یک مکان به مکان دیگر منتقل شوند، مانند هنگام جابجایی یا ادغام مرکز داده، به انتقال داده نیاز است. این مهاجرتها بهویژه در میان سازمانهای بزرگ چندملیتی که دادهها اغلب از مکانی به مکان دیگر منتقل میشوند، محبوب هستند.
عملکرد انتقال و توانایی انجام انتقال داده های زنده به دلیل پهنای باند بالقوه محدود بین منبع و مقصد، در این نوع انتقال از اهمیت ویژه ای برخوردار است.
انتقال به فضای ذخیرهسازی جدید (بهروزرسانی فضای ذخیرهسازی). جایگزین کردن یا افزودن فضای ذخیرهسازی جدید احتمالاً رایجترین مورد استفاده برای انتقال داده است. سازمانها به دلایل زیادی فضای ذخیرهسازی جدیدی به دست میآورند، و هر بهروزرسانی فضای ذخیرهسازی مستلزم انتقال بارهای کاری تولید از فضای ذخیرهسازی قدیمی به ذخیرهسازی جدید است. هزینه، ویژگیها، قابلیت اطمینان و عملکرد از جمله دلایل محبوبی هستند که سازمانها فضای ذخیرهسازی جدیدی را به دست میآورند.
بهروزرسانیهای فضای ذخیرهسازی ممکن است شامل تغییرات ذخیرهسازی فیزیکی و تغییرات پروتکل ذخیرهسازی باشد (از iSCSI به کانال فیبر، کانال فیبر به iSCSI، و پروتکلهای اختصاصی دیگر).
قابلیت راهاندازی شفاف و بدون مختل کردن و انجام انتقال دادهها بدون توقف، برای این نوع مهاجرت برای حذف تأثیرات غیرضروری بر برنامههای تجاری در تولید بسیار مهم است.
مهاجرت به یک پلتفرم جدید (به روز رسانی زیرساخت). تجدید زیرساخت همیشه در سازمان ها اتفاق می افتد، به ویژه زمانی که عملیات از طریق رشد طبیعی یا کسب مقیاس می شود یا زمانی که فناوری جدید در دسترس است. این بهروزرسانیها را میتوان با تمایل به انتقال بارهای کاری برنامه از یک مکان یا حالت میزبان به دیگری، از محیطهای فیزیکی به محیطهای مجازی، به ابر خصوصی یا زیرساختهای ابرهمگرا، به ابر عمومی، بین ارائه دهندگان ابر، یا حتی هنگام خروج از ابر به مرکز داده مدیریت شده.
انتقال دادههای ذخیرهسازی معمولاً تنها بخشی از یک ارتقاء زیرساخت با دامنه وسیعتر است که در مدت طولانیتری انجام میشود. معمولاً انواع مختلفی از برنامهها، سیستمهای عامل، سیستمهای فایل، پلتفرمهای زیرساخت و ارائهدهندگان درگیر هستند.
در نتیجه، داشتن یک راه حل مهاجرت یکپارچه که به صورت بومی با بسیاری از پلتفرمها و فروشندگان کار میکند، برای سازمانهایی که به تحرک دادهها اهمیت میدهند، برای کارایی و مدیریتپذیری حیاتی شده است. استفاده از ابزارها و راهحلهای متعدد برای سناریوهایی که در بالا توضیح داده شد، میتواند پیچیدگی غیرضروری ایجاد کند و خطر خطای انسانی را افزایش دهد، عواملی که میتوانند منجر به افزایش هزینه و زمان خرابی شوند.
تغییر برنامه. گاهی اوقات زمانی که خود محیطهای برنامه یا برنامهها نیاز به تبدیل دارند، انتقال داده مورد نیاز است. اینها ممکن است شامل ارتقاء برنامه، ادغام، توسعه، تبدیل یکپارچه به ریزسرویس ها یا حتی انتقال سرویس ها از یک نوع برنامه به نوع دیگر باشد.
وقتی یک شرکت تصمیم میگیرد برنامههای کاربردی خود را تغییر دهد، معمولاً فراتر از مهاجرت در سطح زیرساخت فناوری اطلاعات است زیرا به عملیاتهای تحول کسبوکار گستردهتری نیاز دارد.
در عجله برای تکمیل یک پروژه، توسعه یک استراتژی برای انتقال داده ها به محیط ذخیره سازی جدید اغلب تا آخرین لحظه انجام می شود. درگیری لحظه آخری اغلب باعث میشود که یک سازمان مراحل را رد کند و بدون انجام اقدامات لازم وارد انتقال داده شود. بدیهی به نظر می رسد، اما برای طراحی و اجرای صحیح انتقال داده، یک سازمان باید دلیل مهاجرت را مشخص کند. هنگامی که فهمیدیم چه دادههایی باید منتقل شوند و چرا، آنها میتوانند بهترین راه را برای نزدیک شدن به مهاجرت کشف کنند.
سه رویکرد اصلی برای انتقال داده ها در سطح برنامه، سطح فایل و سطح بلوک هستند. بیایید هر کدام را با جزئیات بیشتری بررسی کنیم.
انتقال داده در سطح برنامه یا منطقی
انتقال داده های برنامه – که گاهی اوقات انتقال داده های منطقی یا مهاجرت در سطح تراکنش نامیده می شود – یک رویکرد انتقال است که از قابلیت های جابجایی داده که به طور بومی در خود بار کاری برنامه ایجاد شده است، استفاده می کند.
این قابلیتها معمولاً فقط برای تعداد کمی از برنامههای کاربردی در مقیاس سازمانی مانند پایگاههای داده، هایپروایزر مجازیسازی و سرورهای فایل در دسترس هستند و معمولاً برای اهداف حفاظت از دادهها طراحی میشوند.
تکنیک: برخی برنامهها ویژگیهای انتقال داده اختصاصی را ارائه میکنند. این قابلیتها معمولاً به پیکربندی پشتیبانگیری یا ذخیرهسازی ثانویه کمک میکنند. سپس این برنامهها بهطور همزمان یا ناهمزمان اطمینان حاصل میکنند که ذخیرهسازی ثانویه معتبر است و در صورت لزوم، میتوان بدون نسخه اولیه از آن استفاده کرد.
نمونههای برنامه: تکثیر منطقی Postgres SQL، Microsoft SQL Replication، Oracle Goldengate، Storage vMotion (VMware) و سایر ابزارهای تجاری که VMware را با استفاده از APIهای VMware منتقل میکنند.
مزایای انتقال داده در سطح برنامه
رابط کاربر. قابلیتهای انتقال داده بومی معمولاً با نرمافزار کاربردی یکپارچه میشوند و میتوانند با استفاده از رابط کاربری اصلی نرمافزار پیکربندی شوند.
استقرار. با قابلیت جابجایی داده های بومی در نرم افزار، به طور کلی نیازی به نیاز یا نصب اضافی نیست.
سازگاری و پشتیبانی. تحرک داده های بومی فقط برای برنامه خاصی طراحی شده است. نیازی به نگرانی در مورد سازگاری نیست. اگر به مشکل برخوردید، فروشنده معمولاً پشتیبانی آنلاین دارد. مهاجرت در سطح برنامه همچنین ممکن است سایر امکانات تبدیل برنامه را فعال کند که سایر رویکردهای انتقال داده نمی توانند ارائه دهند. یک مثال می تواند انتقال داده ها بین نسخه های اصلی پایگاه داده است که در غیر این صورت سازگار نیستند.
محدودیت های انتقال داده در سطح برنامه
در دسترس بودن محدود. فقط برنامههای بزرگ سازمانی بزرگ مانند پایگاههای داده و سرورهای فایل ممکن است چنین قابلیتهایی را ارائه دهند. کلمه کلیدی در اینجا “می” است. در دسترس بودن به طور قابل توجهی به سن و نوع برنامه ای که می خواهید به آخرین نسخه منتقل کنید بستگی دارد.
تک منظوره. از آنجایی که ویژگیهای جابجایی دادهها بهطور خاص برای هر برنامه کاربردی ساخته شدهاند، هزینههای مربوط به مجوزها، آموزش و سایر هزینههای اداری زمانی که در یک عملیات انتقال بزرگ استفاده میشوند، اضافه میشوند.
کارایی. همگام سازی داده ها در سطح برنامه به صورت منطقی انجام می شود. به عنوان مثال، تکرار پایگاه داده در سطح رکورد پایگاه داده، تراکنش یا بیانیه SQL انجام می شود. در حالی که این روشها دقیق و همهکاره هستند، ممکن است روشهای کارآمدتری برای همگامسازی دادهها از یک سیستم ذخیرهسازی به سیستم دیگر یا از یک پلتفرم به پلتفرم دیگر وجود داشته باشد، بهویژه زمانی که حجم زیادی از داده درگیر باشد.
تأثیر تولید. همگامسازی منطقی بخشی از برنامه است و بنابراین میتواند تنها از پهنای باند موجود بین برنامه و فضای ذخیرهسازی استفاده کند. در نتیجه، توانایی انجام انتقال داده ها در حالی که به طور همزمان حجم کار تولید را حفظ می کند، ممکن است محدود شود.
هزینه مجوز. عملکردهای انتقال داده در سطح برنامه اغلب ویژگیهای درجه سازمانی محسوب میشوند و به مجوز اضافی نیاز دارند. با توجه به ماهیت اختصاصی و تک منظوره نرم افزار، ممکن است هیچ جایگزین مناسب و کم هزینه ای وجود نداشته باشد.
انتقال داده در سطح فایل
انتقال فایل دقیقاً همان چیزی است که به نظر می رسد – انتقال داده در سطح سیستم فایل انجام می شود. این می تواند شامل سیستم های فایل محلی و مبتنی بر شبکه باشد. ابزارهای انتقال فایل معمولاً با انواع سیستم فایل های محبوب و ارائه دهندگان ذخیره سازی فایل یکپارچه می شوند.
تکنیک: ابزارهای انتقال فایل معمولاً یک سیستم فایل (Ext4، NTFS، CIFS، NFS، SMB، و غیره) را اسکن می کنند و فایل ها را به یک فایل سیستم فایل ثانویه کپی می کنند. هنگامی که یک فایل در حال استفاده است، نمی توان آن را کپی کرد و باید در اسکن بعدی منتقل شود.
چند نمونه رایج عبارتند از Rsync (Linux)، Robocopy (Windows)، Rclone (ابر)، و گزینههای تجاری مختلف.
مزایای انتقال داده در سطح فایل
قابلیت همکاری. امروزه اکثر برنامههای کاربردی با استفاده از فایلها به عنوان ذخیرهسازی دائمی ساخته میشوند. انتقال فایل می تواند یک مکانیسم کلی برای مهاجرت برنامه های مختلف در پیکربندی های مختلف باشد. بنابراین ابزار مهاجرت از برنامه جدا است.
از نظر فنی ساده است. میتوان به دادههای فایل با استفاده از همان APIهای تثبیت شده ارائه شده توسط سیستمعاملهایی که اکثر برنامهها از قبل استفاده میکنند، دسترسی داشت. بنابراین، عملیات انتقال فایل معمولاً شامل دانش و تکنیک کمتری است که در صورت عدم اجرای صحیح می تواند خطاهایی را ایجاد کند.
ابزارهای موجود. بسیاری از ابزارهای همگام سازی داده در سطح فایل رایگان یا منبع باز هستند، از جمله ابزارهایی که با سیستم عامل های اصلی توزیع شده اند.
سازگاری. در طول تبدیل برنامه یا پلتفرم، ممکن است مواقعی پیش بیاید که انتقال باید از یک نوع سیستم فایل یا اشتراک فایل به دیگری انجام شود. انتقال فایل به طور طبیعی از این تبدیل ها پشتیبانی می کند زیرا همگام سازی داده ها بر اساس فایل به فایل انجام می شود.
محدودیت های انتقال داده در سطح فایل
سربار اداری. در یک محیط برنامه معمولی، تعداد زیادی فایل و سیستم فایل خواهید یافت. مدیریت مهاجرت همه فایلها و سیستمهای فایل میتواند هزینههای مدیریتی و مدیریتی قابل توجهی را به همراه داشته باشد. به عنوان مثال، اگر سازمان در حال جابجایی کل مرکز داده باشد، زمان و مدیریت مورد نیاز برای انتقال فایل از طریق انتقال فایل میتواند به اندازهای سنگین باشد که انتقال را به میزان قابل توجهی به تأخیر بیاندازد.
کارایی. مانند انتقال در سطح رکورد یا تراکنش برنامه، انتقال حجم زیادی از فایل داده توسط فایل می تواند ناکارآمد باشد، به خصوص در محیط های فعال با نرخ بالای تغییر داده ها. منابع مورد نیاز برای مدیریت چنین مهاجرتی نیز معمولاً بالاتر است.
برنامههایی مانند پایگاههای داده که اغلب دادههای فایل را تغییر میدهند (باز و قفل نگه داشتن فایلها) ممکن است در برخی موارد انتقال فایل را بسیار ناکارآمد یا حتی غیرممکن کنند.
فراداده فایل. فراداده فایل، مانند ACL، می تواند بسیار پیچیده باشد. بسیاری از ابزارهای اساسی پشتیبانی کافی را ارائه نمی کنند. فقدان پشتیبانی درخواستی میتواند هنگام مهاجرت به پلتفرمها مشکلساز باشد.
یکپارچگی دادهها. با انتقال فایل، فقط دادههای فایل همگامسازی میشوند. ساختار داخلی و ابرداده یک سیستم فایل نیست. پشت سر گذاشتن ابرداده مشکلی برای برخی سازمانها است که باید به طور مستقل یکپارچگی دادهها را پس از مهاجرت تأیید کنند. هیچ راه آسانی برای کشف فایل های گم شده یا خراب وجود ندارد.
در مقابل، اگر یک سیستم فایل به طور کامل منتقل شود، از جمله ساختارهای سیستم فایل داخلی و ابرداده، هرگونه خرابی داده یا دادههای از دست رفته احتمالاً سیستم فایل را غیرقابل نصب میکند و با بررسیهای سیستم فایل قابل شناسایی است. این احتمال وجود دارد که فقط داده های فایل خراب شود، اما نه خود سیستم فایل، بسیار بعید است که از نظر ریاضی ناچیز باشد.
انتقال داده در سطح بلوک
انتقال داده در سطح بلوک در سطح حجم ذخیره سازی انجام می شود. مهاجرت در سطح بلوک به شدت نگران داده های واقعی ذخیره شده در حجم ذخیره سازی نیست. بلکه شامل دادههای سیستم فایل از هر نوع، پارتیشنها از هر نوع، ذخیرهسازی بلوک خام و دادههای هر برنامهای هستند.
تکنیک: ابزارهای انتقال در سطح بلوک، یک حجم ذخیرهسازی را با حجم ذخیرهسازی دیگری از ابتدای حجم (بایت ۰) تا انتهای کل حجم (بایت N) بدون پردازش هیچ دادهای همگامسازی میکنند. محتوا. همه دادهها همگامسازی میشوند، که منجر به یک کپی بایت به بایت یکسان از حجم منبع انتقال شده میشود.
مثالها: دستور dd (Linux)، Cirrus Migrate Cloud، Cirrus Migrate On-Premises، و دیگر ابزارهای بازیابی مهاجرت و فاجعه تجاری.
مزایای انتقال داده در سطح بلوک
کارایی اداری. سازمانهایی که مراکز داده خود را جابهجا میکنند یا فضای ذخیرهسازی خود را تازه میکنند، معمولاً مزایای بهرهوری مواد را میبینند. در این سناریوها، هدف ایجاد یک کپی یکسان از حجم های ذخیره سازی در محل جدید یا محصول ذخیره سازی است. انتقال داده به عنوان یک واحد یکسان انجام می شود، صرف نظر از اینکه چه مقدار داده در حال انتقال است، چه تعداد فایل در دستگاه های ذخیره سازی ذخیره شده است، یا چه تعداد از انواع مختلف داده در دستگاه های ذخیره سازی وجود دارد.
عملکرد. دادهها در سطح بلوک همگامسازی میشوند تا با ردیابی تغییرات جزئیتر، بلوک ورودی/خروجی بزرگتر، دسترسی متوالی، و غیره، کپی دادهها را کارآمدتر انجام دهند. انتقال کل حجم ذخیرهسازی به عنوان یک واحد همچنین قابلیت های پیشرفته تری کاهش داده را فعال می کند.
پست های مرتبط
۳ رویکرد اصلی برای انتقال داده را درک کنید
۳ رویکرد اصلی برای انتقال داده را درک کنید
۳ رویکرد اصلی برای انتقال داده را درک کنید