المدوَّنة العربية
Amazon EBS Volume Clones: ميزة الاستنساخ الفوري لوحدات التخزين Amazon EBS
لطالما كانت أنظمة التخزين التي توفر نسخاً فورية من البيانات ذات قيمة كبيرة للعملاء، حيث تتيح لهم العمل على نسخة مطابقة من البيانات بسرعة وكفاءة.
يسعدني اليوم أن أشارككم أن AWS قد أطلقت هذه الميزة تحت اسم Amazon EBS Volume Clones لخدمة التخزين Amazon EBS.
تتيح هذه الميزة الجديدة إنشاء نسخ فورية من وحدات تخزين EBS الخاصة بك ضمن نفس منطقة التوفر.
يحتاج العديد من العملاء إلى إنشاء نسخ من بياناتهم لدعم أنشطة التطوير والاختبار في بيئات منفصلة. في السابق، كانت هذه العملية تتطلب أخذ لقطة (Snapshot) من وحدة التخزين EBS مخزنة في خدمة Amazon Simple Storage Service (Amazon S3) ثم إنشاء وحدة تخزين جديدة من تلك اللقطة. وعلى الرغم من فعالية هذه الطريقة، إلا أنها كانت تشكل عبئاً تشغيلياً نظراً لتعدد الخطوات والوقت المطلوب لتنفيذها.
باستخدام Amazon EBS Volume Clones، يمكنك الآن إنشاء نسخ من وحدات تخزين EBS الخاصة بك من خلال عملية برمجية واحدة (API Call) أو بنقرة واحدة على زر الاستنساخ، وستكتمل العملية في غضون ثوانٍ معدودة.
زمن الوصول إلى البيانات الموجودة في وحدات التخزين المستنسخة عند طلبها من الخادم لا يتجاوز رقماً أحادي الخانة من الميلي ثانية. وهذا يجعل هذه الميزة مثالية لإعداد بيئات الاختبار بسرعة باستخدام نُسخ من البيانات التشغيلية أو إنشاء نسخ مؤقتة من قواعد البيانات لأغراض التطوير.
كيفية استخدام هذه الميزة
لنقم بإنشاء خادم صغير من Amazon Elastic Compute Cloud (Amazon EC2)، مع وحدة تخزين مرفقة.
بعد ذلك، سنقوم بإنشاء ملف على نظام الملفات باستخدام الأمر التالي:
echo "Hello CopyVolumes" > hello.txt
لبدء عملية الاستنساخ، افتح متصفحاً على وحدة تحكم AWS. ثم انتقل إلى EC2. ثم Volumes الموجودة في قسم Elastic Block Store. بعد ذلك، حدد وحدة التخزين التي ترغب باستنساخها وذلك بالضغط على المربع الذي بجانب اسمها كما هو موضح في الصورة.
يرجى ملاحظة أنه في وقت نشر هذا المقال، يمكن استنساخ وحدات التخزين المشفرة فقط.
في قائمة Actions، اختر Copy Volume.
بعد ذلك، يمكنك تخصيص إعدادات وحدة التخزين الجديدة. حيث يمكن تعديل Volume type و Size و IOPS و Throughput. لبدء عملية الاستنساخ، اختر Copy Volume.
ستدخل وحدة التخزين الجديدة في حالة Creating وتصبح متاحة خلال ثوانٍ. بعد ذلك يمكن إضافتها إلى خادم EC2 والبدء في استخدامها مباشرة.
يتم استنساخ البيانات من وحدة التخزين الأصلية إلى الجديدة في الخلفية. وتظل وحدة التخزين الجديدة في حالة Initializing حتى تكتمل العملية. يمكن متابعة تقدم العملية باستخدام describe-volume-status.
لا تؤثر عملية التهيئة على أداء وحدة التخزين الأصلية، حيث يمكن الاستمرار في استخدامها بشكل طبيعي أثناء عملية الاستنساخ.
على الرغم من أن عملية الاستنساخ تستغرق وقتاً حتى تكتمل، إلا أن وحدة التخزين الجديدة تكون متاحة للاستخدام فوراً دون الحاجة للانتظار حتى اكتمال التهيئة.
خلال مرحلة Initializing، توفر وحدة التخزين الجديدة أداءً يعتمد على القيمة الأدنى من: أداء أساسي يبلغ 3,000 IOPS و125 ميجابايت/ثانية، أو أداء وحدة التخزين الأصلية، أو أداء وحدة التخزين المستنسخة.
بعد اكتمال مرحلة Initializing، تصبح وحدة التخزين المستنسخة مستقلة تماماً عن وحدة التخزين الأصلية وتوفر الأداء الكامل المحدد عند إنشائها.
يمكن أيضاً تنفيذ عملية الاستنساخ باستخدام واجهة سطر أوامر AWS (AWS CLI):
aws ec2 copy-volumes \
--source-volume-id vol-1234567890abcdef0 \
--size 500 \
--volume-type gp3
بعد إنشاء نسخة وحدة التخزين، يمكننا إضافتها إلى خادم EC2 باستخدام الأمر attach-volume كالتالي:
aws ec2 attach-volume \
--volume-id 'vol-09b700e3a23a9b4ad' \
--instance-id 'i-079e6504ad25b029e' \
--device '/dev/sdb'
لإضافة وحدة التخزين الجديدة إلى نظام التشغيل واستعراض الملف الذي أنشأناه، ندخل إلى الخادم ونستخدم الأوامر التالية:
$ sudo lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
nvme0n1
├─nvme0n1p1 xfs / 49e26d9d-0a9d-4667-b93e-a23d1de8eacd 6.2G 22% /
└─nvme0n1p128 vfat FAT16 3105-2F44 8.6M 14% /boot/efinvme1n1 ├─nvme1n1p1 xfs / 49e26d9d-0a9d-4667-b93e-a23d1de8eacd └─nvme1n1p128 vfat FAT16 3105-2F44
$ sudo mount -t xfs /dev/nvme1n1p1 /data
$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs 924M 0 924M 0% /dev/shm
tmpfs 370M 476K 369M 1% /run/dev/nvme0n1p1 8.0G 1.8G 6.2G 22% /
tmpfs 924M 0 924M 0% /tmp/dev/nvme0n1p128 10M 1.4M 8.7M 14% /boot/efi
tmpfs 185M 0 185M 0% /run/user/1000/dev/nvme1n1p1 8.0G 1.8G 6.2G 22% /data
$ cat /data/home/ec2-user/hello.txt
Hello CopyVolumes
نقاط يجب معرفتها
تقوم هذه الميزة الجديدة بإنشاء نسخ داخل نفس منطقة التوافر لوحدة التخزين المراد استنساخها. يمكن إنشاء نسخ من وحدات التخزين المشفرة فقط، ويجب أن يكون حجم النسخة مساوياً أو أكبر من وحدة التخزين الأصلية. تعتبر هذه النسخ من نوع نسخة متسقة ضد العطل (crash-consistent)، مما يعني أنها لن تتضمن التغييرات غير المكتوبة والموجودة في الذاكرة العشوائية.
للحصول على نسخة كاملة تتضمن بيانات التطبيقات التي لم تُكتب بعد، يمكن إيقاف عمليات الإدخال/الإخراج الخاصة بالتطبيق قبل إنشاء النسخة. فمثلاً، في قواعد بيانات PostgreSQL، يمكن استخدام ()pg_start_backup قبل البدء باستنساخ ثم ()pg_stop_backup بعد الانتهاء، وبذلك يتم كتابة التغييرات الموجودة في الذاكرة العشوائية إلى وحدة التخزين وإيقاف عمليات الكتابة الجديدة حتى اكتمال عملية الاستنساخ.
كمثال آخر لإيقاف عمليات الكتابة مؤقتاً على مستوى نظام التشغيل Linux مع نظام الملفات XFS، يمكن استخدام xfs_freeze لتعليق واستئناف الوصول إلى نظام الملفات مؤقتاً والتأكد من كتابة جميع التحديثات المخزنة مؤقتاً على وحدة التخزين.
على الرغم من أن Volume Clones تنشئ نسخاً من وحدة التخزين، إلا أنها ميزة إضافية إلى EBS Snapshots وليست بديلاً عنها لأغراض النسخ الاحتياطي.
تظل لقطات وحدات التخزين EBS Snapshots الحل الأمثل للنسخ الاحتياطي للبيانات والحماية من الفشل على مستوى منطقة التوافر ومستوى وحدة التخزين نفسها. حيث توفر نسخاً احتياطية تستخدم بالتزامن مع خدمة Amazon S3 وتقدم إحدى عشرة تسعة ضد خسارة البيانات (أي عند تخزين 100 مليار ملف، من المتوقع خسارة ملف واحد كل سنة). بالمقارنة، تقدم Volume Clones خمسة تسعات ضد خسارة البيانات لوحدات التخزين من نوع io2 وثلاثة تسعات للأنواع الأخرى، لذلك فإن أفضل استخدام لهذه الميزة الجديدة هو عند الحاجة لنسخة فورية لوحدة التخزين لأغراض الاختبار والتطوير.
تتواجد وحدات التخزين المستنسخة بشكل مستقل عن وحدات التخزين الأصلية، وسيتم احتساب رسوم مستقلة لهذه الوحدات الجديدة حتى يتم حذفها. ولإدارة التكاليف بكفاءة عالية، يمكن تطبيق قواعد حوكمة للتعرف على وإزالة وحدات التخزين المنسوخة غير الضرورية.
التسعير والتوافر
تدعم Volume Clones جميع أنواع وحدات تخزين EBS وتعمل مع وحدات التخزين في نفس حساب AWS ومنطقة التوافر. تتوفر هذه الميزة الجديدة في جميع مناطق AWS، وبعض المناطق المحلية وفي منطقة AWS GovCloud.
بالنسبة للتسعير، يتم احتساب رسوم مرة واحدة لكل جيجابايت من البيانات عند بدء عملية الاستنساخ، بالإضافة إلى رسوم EBS لوحدة التخزين الجديدة.
تعد هذه الميزة الجديدة مفيدة في عدة حالات، منها قواعد البيانات والتكامل المستمر (CI). فعلى سبيل المثال، يمكنك إنشاء نسخة من قاعدة بيانات بسرعة لاختبار الميزات الجديدة أو استكشاف المشكلات وإصلاحها دون التأثير على البيئة التشغيلية وبدون التأثير على المستخدمين أو انتظار النسخ من Amazon S3.
للبدء باستخدام Amazon EBS Volume Clones، قم بزيارة قسم Amazon EBS في وحدة تحكم AWS أو يمكنك قراءة صفحة التعليمات الخاصة بخدمة EBS.


