تشغيل Milvus مع دعم وحدة معالجة الرسومات باستخدام Docker Compose
توضح هذه الصفحة كيفية بدء تشغيل مثيل Milvus مع دعم وحدة معالجة الرسومات باستخدام Docker Compose.
المتطلبات الأساسية
- تثبيت Docker.
- تحقق من متطلبات الأجهزة والبرامج قبل التثبيت.
إذا واجهت أي مشاكل في سحب الصورة، اتصل بنا على community@zilliz.com مع تفاصيل عن المشكلة، وسنقدم لك الدعم اللازم.
تثبيت Milvus
لتثبيت Milvus مع دعم GPU باستخدام Docker Compose، اتبع الخطوات التالية.
1. تنزيل ملف YAML وتكوينه
تنزيل milvus-standalone-docker-compose-gpu.yml
واحفظه بصيغة docker-compose.yml يدويًا، أو باستخدام الأمر التالي.
$ wget https://github.com/milvus-io/milvus/releases/download/v2.5.4/milvus-standalone-docker-compose-gpu.yml -O docker-compose.yml
تحتاج إلى إجراء بعض التغييرات على متغيرات البيئة الخاصة بالخدمة المستقلة في ملف YAML على النحو التالي:
- لتعيين جهاز GPU معين لوحدة معالجة الرسومات في ملف Milvus، حدد موقع الحقل
deploy.resources.reservations.devices[0].devices_ids
في تعريف الخدمةstandalone
واستبدل قيمته بمعرف وحدة معالجة الرسومات المطلوبة. يمكنك استخدام الأداةnvidia-smi
، المضمنة مع برامج تشغيل عرض NVIDIA GPU، لتحديد معرف جهاز وحدة معالجة الرسومات. يدعم Milvus أجهزة GPU متعددة لوحدة معالجة الرسومات.
قم بتعيين جهاز GPU واحد إلى Milvus:
...
standalone:
...
deploy:
resources:
reservations:
devices:
- driver: nvidia
capabilities: ["gpu"]
device_ids: ["0"]
...
تعيين أجهزة GPU متعددة لوحدة معالجة الرسومات إلى Milvus:
...
standalone:
...
deploy:
resources:
reservations:
devices:
- driver: nvidia
capabilities: ["gpu"]
device_ids: ['0', '1']
...
2. ابدأ تشغيل Milvus
في الدليل الذي يحتوي على docker-compose.yml، ابدأ تشغيل Milvus عن طريق التشغيل:
$ sudo docker compose up -d
Creating milvus-etcd ... done
Creating milvus-minio ... done
Creating milvus-standalone ... done
إذا فشلت في تشغيل الأمر أعلاه، تحقق مما إذا كان نظامك يحتوي على Docker Compose V1 مثبتًا على نظام Docker Compose V1. إذا كانت هذه هي الحالة، ننصحك بالترحيل إلى Docker Compose V2 نظرًا للملاحظات الواردة في هذه الصفحة.
بعد بدء تشغيل Milvus,
- يتم تشغيل الحاويات المسماة milvus-standalone و milvus-minio و milvus-etcd.
- لا تعرض حاوية milvus-etcd أي منافذ للمضيف وتقوم بتعيين بياناتها إلى وحدات التخزين/etcd في المجلد الحالي.
- تخدم حاوية milvus-minio المنفذين 9090 و9091 محلياً باستخدام بيانات اعتماد المصادقة الافتراضية وتعيّن بياناتها إلى وحدات التخزين/minio في المجلد الحالي.
- تخدم الحاوية المستقلة milvus-standalone المنافذ 19530 محلياً بالإعدادات الافتراضية وتعيّن بياناتها إلى وحدات التخزين/ميلفوس في المجلد الحالي.
يمكنك التحقق مما إذا كانت الحاويات قيد التشغيل باستخدام الأمر التالي:
$ sudo docker compose ps
Name Command State Ports
--------------------------------------------------------------------------------------------------------------------
milvus-etcd etcd -advertise-client-url ... Up 2379/tcp, 2380/tcp
milvus-minio /usr/bin/docker-entrypoint ... Up (healthy) 9000/tcp
milvus-standalone /tini -- milvus run standalone Up 0.0.0.0:19530->19530/tcp, 0.0.0.0:9091->9091/tcp
يمكنك أيضًا الوصول إلى Milvus WebUI على http://127.0.0.1:9091/webui/
لمعرفة المزيد عن مثيل Milvus الخاص بك. للحصول على التفاصيل، راجع Milvus WebUI.
إذا قمت بتعيين أجهزة GPU متعددة إلى Milvus في docker-compose.yml، يمكنك تحديد جهاز GPU المرئي أو المتاح للاستخدام.
اجعل جهاز GPU 0
مرئيًا لـ Milvus:
$ CUDA_VISIBLE_DEVICES=0 ./milvus run standalone
اجعل أجهزة GPU 0
و 1
مرئية لـ Milvus:
$ CUDA_VISIBLE_DEVICES=0,1 ./milvus run standalone
يمكنك إيقاف وحذف هذه الحاوية على النحو التالي.
# Stop Milvus
$ sudo docker compose down
# Delete service data
$ sudo rm -rf volumes
تكوين تجمع الذاكرة
بعد تشغيل Milvus، يمكنك تخصيص تجمع الذاكرة عن طريق تعديل الإعدادات initMemSize
و maxMemSize
في الملف milvus.yaml
.
يقع الملف milvus.yaml
في الدليل /milvus/configs/
داخل حاوية ميلفوس.
لضبط تجمع الذاكرة، قم بتعديل الإعدادات initMemSize
و maxMemSize
في الملف milvus.yaml
على النحو التالي.
استخدم الأمر التالي لنسخ
milvus.yaml
من حاوية ميلفوس إلى جهازك المحلي. استبدل<milvus_container_id>
بمعرف حاوية ميلفوس الفعلي الخاص بك.docker cp <milvus_container_id>:/milvus/configs/milvus.yaml milvus.yaml
افتح الملف المنسوخ
milvus.yaml
باستخدام محرر النصوص المفضل لديك. على سبيل المثال، باستخدام vim:vim milvus.yaml
قم بتحرير الإعدادات
initMemSize
وmaxMemSize
حسب الحاجة واحفظ التغييرات:... gpu: initMemSize: 0 maxMemSize: 0 ...
initMemSize
: الحجم الأولي لتجمع الذاكرة. الافتراضي إلى 1024.maxMemSize
: الحجم الأقصى لتجمع الذاكرة. افتراضي إلى 2048.
استخدم الأمر التالي لنسخ الملف
milvus.yaml
المعدل إلى حاوية Milvus. استبدل<milvus_container_id>
بمعرف حاوية Milvus الفعلي الخاص بك.docker cp milvus.yaml <milvus_container_id>:/milvus/configs/milvus.yaml
أعد تشغيل حاوية Milvus لتطبيق التغييرات:
docker stop <milvus_container_id> docker start <milvus_container_id>
الخطوة التالية
بعد تثبيت Milvus في Docker، يمكنك:
تحقق من Quickstart لمعرفة ما يمكن أن يفعله ميلفوس.
تحقق من واجهة Milvus WebUI لمعرفة المزيد عن مثيل Milvus.
تعرف على العمليات الأساسية لـ Milvus:
نشر مجموعة ميلفوس الخاصة بك على السحابة:
استكشف واجهة Milvus WebUI، وهي واجهة ويب سهلة الاستخدام لمراقبة وإدارة Milvus.
استكشف Milvus Backup، وهي أداة مفتوحة المصدر للنسخ الاحتياطية لبيانات Milvus.
استكشف Birdwatcher، وهي أداة مفتوحة المصدر لتصحيح أخطاء ميلفوس وتحديثات التكوين الديناميكية.
استكشف Attu، وهي أداة مفتوحة المصدر لواجهة المستخدم الرسومية لإدارة Milvus بسهولة.