🚀 جرب Zilliz Cloud، الـ Milvus المدارة بالكامل، مجاناً — تجربة أداء أسرع بـ 10 أضعاف! جرب الآن>>

milvus-logo
LFAI
الصفحة الرئيسية
  • ابدأ الآن

تشغيل Milvus مع دعم وحدة معالجة الرسومات باستخدام Docker Compose

توضح هذه الصفحة كيفية بدء تشغيل مثيل Milvus مع دعم وحدة معالجة الرسومات باستخدام Docker Compose.

المتطلبات الأساسية

إذا واجهت أي مشاكل في سحب الصورة، اتصل بنا على 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 على النحو التالي.

  1. استخدم الأمر التالي لنسخ milvus.yaml من حاوية ميلفوس إلى جهازك المحلي. استبدل <milvus_container_id> بمعرف حاوية ميلفوس الفعلي الخاص بك.

    docker cp <milvus_container_id>:/milvus/configs/milvus.yaml milvus.yaml
    
  2. افتح الملف المنسوخ milvus.yaml باستخدام محرر النصوص المفضل لديك. على سبيل المثال، باستخدام vim:

    vim milvus.yaml
    
  3. قم بتحرير الإعدادات initMemSize و maxMemSize حسب الحاجة واحفظ التغييرات:

    ...
    gpu:
      initMemSize: 0
      maxMemSize: 0
    ...
    
    • initMemSize: الحجم الأولي لتجمع الذاكرة. الافتراضي إلى 1024.
    • maxMemSize: الحجم الأقصى لتجمع الذاكرة. افتراضي إلى 2048.
  4. استخدم الأمر التالي لنسخ الملف milvus.yaml المعدل إلى حاوية Milvus. استبدل <milvus_container_id> بمعرف حاوية Milvus الفعلي الخاص بك.

    docker cp milvus.yaml <milvus_container_id>:/milvus/configs/milvus.yaml
    
  5. أعد تشغيل حاوية Milvus لتطبيق التغييرات:

    docker stop <milvus_container_id>
    docker start <milvus_container_id>
    

الخطوة التالية

بعد تثبيت Milvus في Docker، يمكنك:

جرب Managed Milvus مجاناً

Zilliz Cloud خالي من المتاعب، ويعمل بواسطة Milvus ويعمل بسرعة 10 أضعاف.

ابدأ
التعليقات

هل كانت هذه الصفحة مفيدة؟