Riak Cloud Storage. الجزء 2. تكوين مكون Riak CS

في هذه المقالة ، سنستمر في تكوين المكونات الفردية لنظام Riak Cloud Storage ، وبالتحديد مكون Riak CS.



صورة


هذه المقالة هي استمرار للترجمات المجانية للدليل الرسمي لنظام Riak CS 2.1.1.

الجزء 1. تكوين Riak KV

الجزء 3. الدعامة والوكيل وموازنة الحمل ، عميل S3

من أجل ضمان التشغيل الصحيح لمكون Riak CS ، من المهم معرفة كيفية الاتصال بـ Riak KV. عادةً ما تعمل عقدة Riak CS على نفس الخادم كعقدة Riak KV المقابلة لها. هذا يعني أن التغييرات ستكون ضرورية فقط إذا تم تكوين Riak باستخدام معلمات غير الافتراضية.



توجد إعدادات Riak CS على عقدة CS في ملفات التكوين riak-cs.conf و Advanced.conf. يوجد كلا الملفين عادةً في الدليل / etc / riak-cs. ملف riak-cs.conf الجديد عبارة عن قائمة بسيطة بها أزواج config = option ، ولكن هناك خيارات لا يمكن تغييرها إلا من خلال ملف Advanced.config. يبدو شيئًا مثل هذا:



ADVANCED.CONFIG



{riak_cs, [
    {parameter1, value},
    {parameter2, value},
    %% and so on...
]},


إذا كنت تقوم بالترقية من إصدار أقدم من 2.0.0 - عند تقديم ملف riak-cs.conf - فلا يزال بإمكانك استخدام ملف app.config الموجود في موقع riak-cs.conf / advanced.config. يحتوي ملف app.config على نفس بناء الجملة لملف Advanced.conf ، لذلك يمكن استخدام أي أمثلة مستخدمة في ملف Advanced.conf مباشرةً في ملف app.config.

يرجى ملاحظة أن ملف app.config القديم يحل محل ملفات التكوين الجديدة. إذا كان app.config موجودًا ، فلن يتم استخدام riak-cs.conf ولا Advanced.config.
ملاحظة: حول app.config القديم

إذا كنت تقوم بالترقية من الإصدارات السابقة من Riak CS إلى Riak CS 2.0 وتخطط لمواصلة استخدام ملف app.config الموروث ، يرجى ملاحظة أن أسماء الخيارات قد تغيرت في بعض ملفات التكوين. أيضًا ، تم تغيير تنسيق IP / Port في الإصدار 2.0 لـ Stanchion و Riak و Riak CS. يمكنك رؤية التغييرات في مستند الترقيات المتدرجة .



للحصول على قائمة شاملة بالخيارات المتاحة وقائمة كاملة من خيارات app.config ، راجع مستند مرجع التكوين الكامل .
تصف الأقسام أدناه خيارات التكوين المهمة لـ Riak CS.



المضيف والميناء.



لتوصيل Riak CS بـ Riak KV ، تأكد من ضبط معلمة المضيف والمنفذ المستخدمة بواسطة Riak KV:



  • riak_host - استبدل 127.0.0.1:8087 بعنوان IP ورقم المنفذ لعقدة Riak KV التي تريد توصيل Riak CS بها.


تحتاج أيضًا إلى تعيين مضيف المستمع لـ Riak CS:



  • المستمع - استبدل 127.0.0.1:8080 بعنوان IP ورقم المنفذ لمضيف Riak CS إذا كنت تنوي استخدامه بشكل غير محلي. تأكد من أن رقم المنفذ لا يتعارض مع منفذ riak_host لمضيف Riak KV ومضيف Riak CS الذي يعمل على نفس الجهاز.


ملاحظة: حول عنوان

IP ، يجب أن يتطابق عنوان IP الذي تدخله هنا مع عنوان IP المحدد لواجهة مخازن بروتوكول Riak KV في ملف riak.conf ، ما لم يكن Riak CS يعمل على شبكة مختلفة تمامًا ، وفي هذه الحالة يكون مطلوبًا ترجمة العناوين.
بعد إجراء بعض التغييرات على riak-cs.conf ، أعد تشغيل عقدة Riak CS إذا كانت قيد التشغيل بالفعل.



معلمات عقدة الدعامة



إذا كنت تستخدم عقدة Riak CS واحدة ، فلن تحتاج إلى تغيير إعدادات Stanchion ، لأنها تعمل على المضيف المحلي (ملاحظة. يتم تثبيت Stanchion في مثيل واحد فقط للمجموعة بأكملها). إذا كان نظام Riak CS يحتوي على عقد متعددة ، فيجب عليك تحديد عنوان IP ومنفذ العقدة Stanchion وما إذا كان يتم استخدام SSL أم لا.

توجد معلمات Stanchion في ملف تكوين riak-cs.conf لعقدة Riak CS الموجودة في دليل ./etc/riak-cs/conf لكل عقدة Riak CS.



لتعيين المضيف والمنفذ لـ Stanchion ، تأكد من تعيين المعلمة التالية للمضيف والمنفذ الذي يستخدمه Stanchion:



  • stanchion_host - استبدل 127.0.0.1:8085 بعنوان IP ومنفذ مضيف Stanchion.


باستخدام SSL



يتم تعطيل SSL افتراضيًا في Stanchion ، أي تم إيقاف المعلمة stanchion_ssl . إذا تم تكوين Stanchion لاستخدام SSL ، فقم بتغيير القيمة إلى on . يقوم مثال التكوين التالي بتعيين مضيف Stanchion على المضيف المحلي ، المنفذ 8085 (افتراضي) ويسمح باستخدام SSL. RIAK-CS.CONF







stanchion_host = 127.0.0.1:8085
stanchion_ssl = on


متقدم

{riak_cs, [
    %% Other configs
    {stanchion_host, {"127.0.0.1", 8085}},
    {stanchion_ssl, true},
    %% Other configs
]}


ضبط اسم المضيف



يمكنك أيضًا تحديد اسم مضيف Riak CS أكثر ملاءمة لمساعدتك في تحديد المضيف الذي تتم مطالبتك به أثناء استكشاف الأخطاء وإصلاحها. يتم تكوين هذا في ملف التكوين riak-cs.conf أو vm.args ، والموجود أيضًا في /etc/riak-cs.conf. سيتم تعيين اسم عقدة Riak CS هنا riak_cs@127.0.0.1:



RIAK-CS.CONF



nodename = riak_cs@127.0.0.1


VM.ARGS



-name riak_cs@127.0.0.1


قم بتغيير 127.0.0.1 إلى عنوان IP أو اسم المضيف للخادم الذي يقوم بتشغيل Riak CS.



قم بإنشاء حساب مسؤول



المسؤول هو مستخدم خاص مفوض لأداء إجراءات مثل إنشاء المستخدمين أو الحصول على الإحصائيات. لا يختلف حساب المسؤول عن حساب مستخدم آخر. يجب عليك إنشاء حساب مسؤول لاستخدام Riak CS في المستقبل.

ملاحظة: حول إنشاء مستخدم مجهول.



قبل إنشاء حساب مسؤول ، يجب عليك تعيين المعلمة anonymous_user_creation = on في riak-cs.conf (أو ضبط {anonymous_user_creation، true} في advanced.config / app.config). يمكنك تعطيله مرة أخرى عند إنشاء المسؤول.
لإنشاء حساب مسؤول ، استخدم طلب POST HTTP واسم المستخدم الذي تريده لحساب المسؤول. على سبيل المثال مثل:



CURL



curl -H 'Content-Type: application/json' \
  -XPOST http://<host>:<port>/riak-cs/user \
  --data '{"email":"admin@example.com", "name":"admin"}'


يجب أن تبدو استجابة JSON كما يلي:



{
  "display_name" : "admin",
  "email" : "admin@example.com",
  "id" : "8d6f05190095117120d4449484f5d87691aa03801cc4914411ab432e6ee0fd6b",
  "key_id" : "OUCXMB6I3HOZ6D0GWO2D",
  "key_secret" : "a58Mqd3qN-SqCoFIta58Mqd3qN7umE2hnunGag==",
  "name" : "admin_example",
  "status" : "enabled"
}


يمكنك اختياريًا إرسال واستلام XML عن طريق تعيين نوع المحتوى إلى application / xml.



بمجرد إنشاء المسؤول ، يجب عليك تعيين امتيازات المسؤول لكل عقدة Riak CS. يتم تعيين امتيازات المسؤول في ملف التكوين riak-cs.conf الموجود في الدليل / etc / riak-cs. أدخل سطر key_id بين علامات الاقتباس الخاصة بـ admin.key. لصق حقل المعلمة secret_key admin.secret:



RIAK-CS.CONF



admin.key = OUCXMB6I3HOZ6D0GWO2D
admin.secret = a58Mqd3qN-SqCoFIta58Mqd3qN7umE2hnunGag==


متقدم



{riak_cs, [
           %% Admin user credentials
           {admin_key, "OUCXMB6I3HOZ6D0GWO2D"},
           {admin_secret, "a58Mqd3qN-SqCoFIta58Mqd3qN7umE2hnunGag=="},
           %% Other configs
          ]}


تحديد الدلاء



يمكنك أيضًا تعيين حد لعدد الحاويات التي أنشأها المستخدم. القيمة الافتراضية هي 100 مجموعة كحد أقصى. يُرجى الانتباه إلى أنه إذا تجاوز المستخدم حد إنشاء الحاوية ، فسيظل متاحًا لعمليات أخرى ، بما في ذلك حذف حاوية. يمكنك تغيير الحد الافتراضي باستخدام المعامل max_buckets_per_user على كل عقدة في ملف Advanced.config - ولن يكون هذا تغييرًا مساويًا في ملف riak-cs.conf. على سبيل المثال ، يحدد التكوين أدناه 1000 كحد أقصى:



ADVANCED.CONFIG



{riak_cs, [
           %% Other configs
           {max_buckets_per_user, 1000},
           %% Other configs
          ]}


إذا كنت ترغب في إزالة القيود المفروضة على إنشاء الحاويات بواسطة مستخدم واحد ، فيمكنك تعيين قيمة المعلمة max_buckets_per_user على "غير محدود".



تجمعات الاتصال



يستخدم Riak CS مجموعتي اتصال صريحين للتواصل مع Riak KV: مجمعات أساسية (أساسية) وثانوية.



يتم استخدام تجمع الاتصال الأساسي لخدمة معظم طلبات API المتعلقة بتحميل أو استرداد الكائنات. تم تحديده في ملف التكوين كـ pool.request.size . حجم التجمع الافتراضي هو 128.



يتم استخدام تجمع الاتصال الثانوي بشكل صارم لطلبات التعداد لمحتويات الحاوية. مطلوب تجمع اتصال منفصل لتحسين الأداء.

يتم تعريف تجمع الاتصال الثانوي في ملف التكوين باسم pool.list.size . حجمه افتراضيًا هو 5. يوجد



أدناه إدخال تكوين connection_poolsالافتراضي الذي يمكن العثور عليه في ملف



app.config : RIAK-CS.CONF



pool.request.size = 128
pool.request.overflow = 0
pool.list.size = 5
pool.list.overflow = 0


متقدم



{riak_cs, [
           %% Other configs
           {connection_pools,
           [
            {request_pool, {128, 0} },
            {bucket_list_pool, {5, 0} }
           ]},
           %% Other configs
]}


يتم تقسيم قيمة كل مجموعة إلى أزواج ، حيث يمثل الرقم الأول الحجم الطبيعي للمجموعة. هذا هو عدد الطلبات المتزامنة من نوع معين والتي يمكن أن تخدمها عقدة Riak CS. الرقم الثاني هو عدد تجاوز التجمع المسموح به. لا يوصى باستخدام أي قيمة بخلاف 0 للتجاوز هنا ، إلا إذا أظهر الاختبار الدقيق أن القيمة المختارة مفيدة للحالة المعينة.



ضبط



نوصي بشدة بتوخي الحذر عند تعيين قيمة المعلمة pb_backlog في Riak KV. عند بدء تشغيل عقدة Riak CS ، ينشئ كل تجمع اتصال اتصالات بـ Riak KV. يمكن أن يؤدي هذا إلى مشكلة قطيع مدوية ، حيث يُعتقد أن الاتصالات في البركة مرتبطة بـ Riak KV ، ولكن في الواقع تم إسقاطها. نظرًا للحد من معدل حزم TCP RST (الذي يتم التحكم فيه بواسطة المعلمة net.inet.icmp.icmplim ) ، قد لا تتلقى بعض الحزم إشعارًا حتى يتم استخدامها لخدمة طلب المستخدم. يتجلى هذا في صورة رسائل {error، disconnected} في ملفات سجل Riak CS وخطأ عاد إلى المستخدم.



اتصال SSL في Riak-CS



RIAK-CS.CONF



ssl.certfile = "./etc/cert.pem"
ssl.keyfile = "./etc/key.pem"


متقدم

{ssl, [
    {certfile, "./etc/cert.pem"},
    {keyfile, "./etc/key.pem"}
   ]},


استبدل النص بين علامتي الاقتباس في المسار إلى مفاتيح تشفير SSL. بشكل افتراضي ، توجد ملفات cert.pem و key.pem في كل عقدة في الدليل / etc. أنت حر في استخدام هذه المفاتيح أو الخاصة بك.



يرجى ملاحظة أنه يجب عليك أيضًا تقديم مرجع مصدق (المرجع المصدق) ، أي شهادة CA. إذا استطعت ، فعليك استخدام ملف التكوين Advanced.config وتحديد موقعه في معلمة cacertfile . بخلاف certfile و keyfile ، لا يتم التعليق على معلمة cacertfile . هذا هو المكان الذي يجب عليك إضافة شهادتك فيه. مثال على هذا التكوين:



ADVANCED.CONFIG



{ssl, [
       {certfile, "./etc/cert.pem"},
       {keyfile, "./etc/key.pem"},
       {cacertfile, "./etc/cacert.pem"}
      ]},
      %% Other configs


يمكنك العثور على إرشادات حول إنشاء شهادة CA على موارد الجهات الخارجية .



الوكيل مقابل الاتصال المباشر



يمكن لشركة Riak CS التواصل مع عملاء S3 بإحدى طريقتين:



  1. تكوين الوكيل - عندما يتصل عميل S3 بـ Riak CS كما لو كان من Amazon S3 ، أي مع عناوين URL النموذجية لـ Amazon.
  2. اتصال مباشر - يتطلب تكوين عميل S3 المتصل بـ Riak CS على أنه "خدمة متوافقة مع S3" ، أي أن نقطة اتصال Riak CS تتنكر في شكل Amazon S3. ومن أمثلة هذه الخدمات Transmit و s3cmd و DragonDisk.


الوكيل



لإعداد تكوين الوكيل ، قم بتكوين عميل الوكيل الخاص بك كنقطة في عنوان مجموعة Riak CS. ثم قم بإعداد عميلك باستخدام بيانات اعتماد Riak CS.



عندما يتلقى Riak CS طلبًا وكيلاً ، فإنه يخدم الطلب نفسه ويستجيب للعميل كما لو كان الطلب قد انتقل إلى S3.



على جانب الملقم، و root_host المعلمة يجب أن تكون في ملف رياك-cs.conf s3.amazonaws.com لكافة طلبات العميل لعناوين المواقع دلو سيستهدف s3.amazonaws.com. هذا هو الافتراضي.

هام : تتمثل إحدى مشكلات تكوينات الوكيل في أن العديد من عملاء واجهة المستخدم الرسومية لا يسمحون إلا بتكوين وكيل واحد لجميع الاتصالات. بالنسبة للعملاء الذين يحاولون الاتصال بكل من S3 و Riak CS ، قد يكون هذا مشكلة.

اتصال مباشر



يتم تكوين اتصال مباشر من خلال المعامل cs_root_host في قسم riak-cs من ملف app.config. يجب تعيين القيمة على FQDN لنقطة إدخال Riak CS الخاصة بك ، حيث ستستهدف جميع عناوين URL الخاصة بالحاوية نقطة إدخال FQDN.



ستحتاج أيضًا إلى سجلات DNS ذات أحرف البدل لأي فرع تابع لنقطة الإدخال لحلها مع نقطة النهاية نفسها. مثال:



CONFIG



data.riakcs.net
*.data.riakcs.net


إعدادات جامع القمامة



صورة


تتوفر الإعدادات التالية لتهيئة أداة تجميع البيانات المهملة في Riak CS. لمزيد من المعلومات ، راجع قسم جمع القمامة .



  • gc.leeway_period — (leeway_seconds advanced.config app.config) — , , , , . 24h(24 )
  • gc.interval (gc_interval advanced.config app.config) — , . 15m (15 ). , . , gc_interval infinity.
  • gc.retry_interval (gc_retry_interval advanced.config app.config) — , , pending_delete . - , , - . 6h (6 ).
  • gc.max_workers (gc.max_workers advanced.config app.config) — , . 2.
  • active_delete_threshold (active_delete_threshold في advanced.config أو app.config) - كتل الكائن التي هي أقل من عتبة يتم حذف بشكل متزامن ويتم وضع علامة يتظاهر على النحو scheduled_delete . الافتراضي هو 0.


هناك بعض الإعدادات الإضافية التي لا يمكن ضبطها إلا في ملفات التكوين Advanced.config أو app.config. لا يتوفر أي من الإعدادات التالية من خلال ملف التكوين riak-cs.conf



  • epoch_start — , . , + leeway_seconds. 0 . , , , . . Erlang. , 10, <<«10»>>.
  • initial_gc_delaygc_interval Riak CS. : GC ; GC. , initial_gc_delay.
  • max_scheduled_delete_manifests — ( ), scheduled_delete . , , . , , , leeway_seconds. , , . .
  • gc_batch_size - تمثل هذه المعلمة الحجم المستخدم لترقيم نتائج استعلام فهرس ثانوي. الافتراضي هو 1000.


التكوين القديم

في الوقت الحالي ، لا يزال Riak CS 2.0 يدعم تعيين معلمة pg_paginated_indexes ، ويوصى بشدة بعدم استخدام هذه الإعدادات. ستتم إزالة الإعدادات في الإصدار الرئيسي التالي.

إعدادات Riak CS الأخرى



للحصول على قائمة كاملة بمعلمات Riak CS القابلة للتكوين ، يمكنك الرجوع إلى مستند مرجع التكوين .



الروابط



Riak Cloud Storage. الجزء 1. تكوين Riak KV

Riak Cloud Storage. الجزء 2. تكوين مكون Riak CS

Riak Cloud Storage. الجزء 3. الدعامة والوكيل وموازنة الحمل ، الدليل الأصلي لعميل S3



.



All Articles