مقياس Milvus Standalone

Milvus Standalone هو نشر خادم أحادي الجهاز. يتم تعبئة جميع مكونات Milvus Standalone في صورة Docker واحدة، مما يجعل النشر مريحاً. يصف هذا الموضوع كيفية توسيع نطاق مثيل Milvus الذي يعمل في هذا الوضع.

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

عند نشر Milvus Standalone باستخدام Docker أو Docker Compose، يقوم البرنامج النصي للنشر (standalone_embed.sh) أو ملف التكوين (docker-compose.yml) بإنشاء عدة وحدات تخزين وتعيينها إلى دلائل المضيف لضمان استمرار البيانات.

لتوسيع نطاق مثيل Milvus الذي تم نشره بهذه الطريقة، يجب عليك إيقاف وإزالة الحاوية أو مكدس الحاويات الموجود، وإعادة نشر Milvus Standalone مع إعدادات التكوين المحدثة، وإعادة استخدام البيانات المستمرة على المضيف لتشغيل مثيل جديد.

يسرد الجدول التالي تعيين وحدة التخزين بين المضيف والحاويات.

خيار النشر

مسار المضيف

مسار الحاوية

وحدة الإرساء

$(pwd)/volumes/milvus

/var/lib/milvus

$(pwd)/embedEtcd.yaml

/milvus/configs/embedEtcd.yaml

$(pwd)/user.yaml

/milvus/configs/user.yaml

إرساء Docker Compose

${DOCKER_VOLUME_DIRECTORY:-.}/volumes/etcd(ميلفوس-إيتسد)

/etcd

${DOCKER_VOLUME_DIRECTORY:-.}/volumes/minio(ميلفوس-مينيو)

/minio_data

${DOCKER_VOLUME_DIRECTORY:-.}/volumes/milvus(milvus-standalone)

/var/lib/milvus

قبل تشغيل الإجراءات الواردة في هذا الدليل، تأكد من استمرار بياناتك في مسارات المضيف المذكورة أعلاه.

توسيع نطاق المثيلات التي تم نشرها باستخدام Docker

لتوسيع نطاق مثيل Milvus قيد التشغيل حاليًا، يجب إيقاف المثيل وإزالة الحاوية وإعادة نشر المثيل بإعدادات جديدة وبيانات مستمرة.

الإجراء المحدد هو كما يلي:

  1. قم بتشغيل docker stats milvus-standalone لعرض وحدة المعالجة المركزية والذاكرة المخصصة لمثيل Milvus. يجب أن يكون الإخراج مشابهًا لما يلي:

    CONTAINER ID   NAME                CPU %     MEM USAGE / LIMIT     MEM %     NET I/O       BLOCK I/O         PIDS
    917da667f2ff   milvus-standalone   6.10%     171.8MiB / 3.886GiB   4.32%     1.57kB / 0B   1.01GB / 1.79MB   31
    

    في إخراج الأمر، يمكنك العثور على استخدام الموارد الحالي لمثيل Milvus الخاص بك.

  2. قم بإيقاف الحاوية وإزالتها.

    $ docker stop milvus-standalone
    $ docker rm milvus-standalone
    
  3. حدد موقع ملف البرنامج النصي standalone_embed.sh ، وابحث عن الأمر docker run ، وأضف حدود الموارد.

    ...
        sudo docker run -d \
            --name milvus-standalone \
            --security-opt seccomp:unconfined \
            -e ETCD_USE_EMBED=true \
            -e ETCD_DATA_DIR=/var/lib/milvus/etcd \
            -e ETCD_CONFIG_PATH=/milvus/configs/embedEtcd.yaml \
            -e COMMON_STORAGETYPE=local \
            -v $(pwd)/volumes/milvus:/var/lib/milvus \
            -v $(pwd)/embedEtcd.yaml:/milvus/configs/embedEtcd.yaml \
            -v $(pwd)/user.yaml:/milvus/configs/user.yaml \
            -p 19530:19530 \
            -p 9091:9091 \
            -p 2379:2379 \
            --health-cmd="curl -f http://localhost:9091/healthz" \
            --health-interval=30s \
            --health-start-period=90s \
            --health-timeout=20s \
            --health-retries=3 \
            --memory="4g" \          # New memory limit
            --cpus="2.0" \           # New CPU limit
            milvusdb/milvus:v2.5.11 \
            milvus run standalone  1> /dev/null
    
  4. تأكد من وجود البيانات المستمرة في نفس المجلد الموجود في البرنامج النصي standalone_embed.sh ، وقم بتشغيل البرنامج النصي على النحو التالي:

    sudo  bash standalone_embed.sh start
    
  5. قم بتشغيل docker stats milvus-standalone لعرض وحدة المعالجة المركزية والذاكرة المخصصة لمثيل ميلفوس بعد القياس. يجب أن تكون المخرجات مشابهة لما يلي:

    CONTAINER ID   NAME                CPU %     MEM USAGE / LIMIT   MEM %     NET I/O       BLOCK I/O        PIDS
    7aea450f87ce   milvus-standalone   7.52%     210.9MiB / 4GiB     5.15%     1.05kB / 0B   610kB / 8.19kB   29
    

توسيع نطاق المثيلات التي تم نشرها باستخدام Docker Compose

لتوسيع نطاق مثيل Milvus قيد التشغيل حاليًا، يجب إيقاف المثيل وإزالة مكدس الحاوية وإعادة نشر المثيل بإعدادات جديدة وبيانات مستمرة.

الإجراء المحدد هو كما يلي:

  1. قم بتشغيل docker stats milvus-standalone لعرض وحدة المعالجة المركزية والذاكرة المخصصة لمثيل Milvus. يجب أن يكون الإخراج مشابهًا لما يلي:

    CONTAINER ID   NAME                CPU %     MEM USAGE / LIMIT     MEM %     NET I/O       BLOCK I/O         PIDS
    917da667f2ff   milvus-standalone   6.10%     171.8MiB / 3.886GiB   4.32%     1.57kB / 0B   1.01GB / 1.79MB   31
    

    في إخراج الأمر، يمكنك العثور على استخدام الموارد الحالي لمثيل Milvus الخاص بك.

  2. قم بإيقاف وإزالة مكدس الحاوية.

    $ docker compose down
    
  3. حدد موقع ملف التكوين docker-compose.yml ، وابحث عن القسم المستقل، وأضف حدود الموارد.

    ...
      standalone:
        container_name: milvus-standalone
        image: milvusdb/milvus:v2.5.8
        command: ["milvus", "run", "standalone"]
        deploy:
          resources:
            limits:
              cpus: "2"   # new cpu limits
              memory: 4G  # new memory limits
        security_opt:
        - seccomp:unconfined
        environment:
          ETCD_ENDPOINTS: etcd:2379
          MINIO_ADDRESS: minio:9000
        volumes:
          - ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/milvus:/var/lib/milvus
        healthcheck:
          test: ["CMD", "curl", "-f", "http://localhost:9091/healthz"]
          interval: 30s
          start_period: 90s
          timeout: 20s
          retries: 3
        ports:
          - "19530:19530"
          - "9091:9091"
        depends_on:
          - "etcd"
          - "minio"
    
  4. تأكد من توفر البيانات المستمرة، وقم بتشغيل docker compose على النحو التالي:

    docker compose up -d
    
  5. قم بتشغيل docker stats milvus-standalone لعرض وحدة المعالجة المركزية والذاكرة المخصصة لمثيل ميلفوس بعد القياس. يجب أن تكون المخرجات مشابهة لما يلي:

    CONTAINER ID   NAME                CPU %     MEM USAGE / LIMIT   MEM %     NET I/O       BLOCK I/O        PIDS
    7aea450f87ce   milvus-standalone   7.52%     210.9MiB / 4GiB     5.15%     1.05kB / 0B   610kB / 8.19kB   29
    

جرب Managed Milvus مجاناً

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

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

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