تثبيت أوبونتو وإدارة برامج تشغيل NVIDIA لخوادم الذكاء الاصطناعي

إذا كنت مسؤولاً عن خادم ذكاء اصطناعي يعتمد عليه الآخرون، فإن السبب الأكثر ترجيحاً لانقطاع الخدمة التالي ليس عطلاً في الأجهزة، أو خللاً في النموذج، أو انقطاعاً في التيار الكهربائي. بل هو... apt-get upgrade أنك أو توزيعتك قمت بتشغيلها في الخلفية، والتي جلبت نواة جديدة، والتي لم يقم مُلحق NVIDIA DKMS بإعادة بنائها بشكل سليم، مما ترك nvidia-smi عودة Failed to initialize NVML: Driver/library version mismatch عند إعادة التشغيل التالية. هذا هو أكثر طلب دعم شائع من كينتينو بعد تشغيل الخادم لمدة شهرين أو ثلاثة أشهر.

تتناول هذه المقالة كيفية منع حدوث ذلك. وتغطي اختيار إصدار Ubuntu LTS المناسب في منتصف عام 2026، وكيفية تثبيت برنامج تشغيل NVIDIA بطريقة منطقية، وكيفية تثبيت برنامج التشغيل ونواة النظام بحيث لا يؤدي التحديث التلقائي إلى إتلاف النظام، وكيفية استعادة النظام في حال حدوث ذلك.

الجمهور هو كل من سيقوم بالكتابة sudo على جهاز يحتوي على 4 أو 8 وحدات معالجة رسومية، من المفترض أن يستمر في العمل لسنوات.

لماذا أوبونتو LTS أصلاً؟

توجد توزيعات لينكس ذات إمكانيات تقنية عالية غير أوبونتو، مثل ديبيان المستقرة، وRHEL، وروكي، وألما لينكس، وأوبن سوزي ليب. جميعها جيدة، وبعضها قد يكون أفضل هندسيًا. مع ذلك، ما زلنا نوصي باستخدام أوبونتو LTS لخوادم الذكاء الاصطناعي، لأربعة أسباب لا علاقة لها بالأناقة.

أجرت شركة NVIDIA اختباراتها على نظام Ubuntu LTS أولاً. apt مستودعات الشحن cuda-keyring حزم مخصصة لـ ubuntu2204, ubuntu2404و(منذ ربيع 2026) ubuntu2604يُسمّي دليل تثبيت برنامج التشغيل نظام Ubuntu LTS حسب رقم الإصدار؛ ويُسمّي التوزيعات الأخرى في الجزء الخلفي من المستند.

يفترض نظام الحاويات استخدام أوبونتو. كل صورة من صور NGC (nvcr.io/nvidia/pytorch, nvcr.io/nvidia/tritonserverتم بناء TensorRT-LLM على أساس Ubuntu LTS. لا يشترط أن تتطابق توزيعة النظام المضيف مع الحاوية، ولكن عندما تتطابق، تتوافق افتراضات النواة ومساحة المستخدم بسلاسة.

تفترض معظم أدوات الذكاء الاصطناعي الخارجية استخدام نظام أوبونتو في ملفات README الخاصة بها. تمت كتابة واختبار جميع ملفات vLLM وllama.cpp وSGLang وتعليمات بناء FlashAttention وأمثلة Hugging Face Accelerate على نظام أوبونتو أولاً. يعمل نظام RHEL، ولكن ستكون أنت من يبلغ عن المشاكل عند حدوثها.

أكبر مجموعة من الأشخاص الذين واجهوا مشكلتك من قبل موجودة على نظام أوبونتو. عندما nvidia-smi عند ظهور نتائج غير منطقية في الساعة 02:00 صباحًا، ستكون أول ثلاث نتائج على موقع Stack Overflow خاصة بنظام Ubuntu. وهذا الأمر مهم أكثر مما ينبغي.

يُعدّ كلٌّ من دبيان وRHEL خيارين جيدين لخادم الذكاء الاصطناعي. فهما يوفران بيئات اختبار أصغر، ودورات تحقق من NVIDIA أبطأ، ومجتمع دعم أصغر في حال حدوث أي مشكلة. إذا كان لديك سبب تنظيمي قوي لاستخدام أحدهما - مثل FedRAMP المعزول عن الشبكة، أو رخصة موقع RHEL موجودة، أو فريق إدارة أنظمة يستخدم دبيان - فاستخدمه. وإلا، فاستخدم أوبونتو LTS كخيار افتراضي.

22.04 مقابل 24.04 مقابل 26.04 في مايو 2026

ثلاثة إصدارات من نظام الدعم طويل الأمد (LTS) مدعومة حاليًا. المصفوفة الصادقة:

الإفراج عن اسم الرمز تاريخ الطرح في الأسواق ينتهي الدعم القياسي الوضع الافتراضي للنواة دعم مستودعات NVIDIA توصية مجاناً
22.04 LTS جامي قنديل البحر 2022-04 2027-04 5.15 / HWE 6.8 طويل الأسطول الحالي فقط؛ لا تقم بنشر أسطول جديد
24.04 LTS نومبات النبيلة 2024-04 2029-04 6.8 / HWE 6.11 طويل الوضع الافتراضي للإصدارات الجديدة
26.04 LTS الراكون الحازم 2026-04 2031-04 6.14 كامل (R595 افتراضي) انتظر حتى 26.04.1 أبريل 2026 (أغسطس) للإنتاج

بعض الأشياء التي تستحق أن تُستخرج من تلك الطاولة.

لا يزال الإصدار 22.04 الأكثر استخدامًا عالميًا، وهو الإصدار الذي يمتلك نظام التحقق من NVIDIA تاريخًا طويلًا من الخبرة عليه. إذا كان لديك نظام تشغيل يعمل بالإصدار 22.04، فلا داعي للتحديث بشكل عاجل. فهو مدعوم بالكامل حتى أبريل 2027 بالتحديثات القياسية، كما يمدد Ubuntu Pro دعم الأمان حتى عام 2032 إذا احتجت إليه. ولكن إذا كنت بصدد إنشاء خادم جديد في منتصف عام 2026، فأنت بذلك تختار نظام التشغيل الخاص بك للأربع أو الخمس سنوات القادمة. لم يتبقَّ للإصدار 22.04 سوى عام واحد من الدعم القياسي. لذا، لا تبدأ من هذا الإصدار.

يُعد الإصدار 24.04 هو الأمثل لأعمال الذكاء الاصطناعي الإنتاجية في عام 2026. فقد شهد عامين من إصلاح الأخطاء ومراجعات نواة النظام لتحسين الأداء، كما أن كل فرع من فروع برامج تشغيل NVIDIA بدءًا من الإصدار R535 فصاعدًا يحتوي على حزم عالية الجودة للإنتاج في NVIDIA. ubuntu2404 في المستودع، تُدرج جميع صور NGC الإصدار 24.04 كقاعدة مدعومة، ويستمر الدعم القياسي حتى أبريل 2029. هذا ما نستخدمه في إصدارات Kentino الجديدة اليوم.

الإصدار 26.04 حديث الإصدار. يأتي مزودًا ببرنامج التشغيل R595 كبرنامج تشغيل افتراضي في مستودع أوبونتو الرسمي، ويتضمن CUDA في المستودعات الرئيسية لأول مرة، ويحتوي على تحسينات جيدة في Wayland/NVIDIA تُعدّ مهمة لأجهزة سطح المكتب، ولكنها غير مهمة لخوادم الاستدلال بدون واجهة رسومية. يكمن الخطر بالنسبة لخادم الذكاء الاصطناعي في التوقيت: خلال الأشهر الثلاثة أو الأربعة الأولى بعد إطلاقه .0 إصدار LTS، ubuntu-drivers تتغير التوصيات وسلوك وحدة DKMS، ويستغرق مستودع NVIDIA الخاص بضع دورات للتحقق الكامل من كل فرع من فروع برنامج التشغيل مقابل النواة الجديدة. النمط المتبع في إصدارات LTS السابقة (20.04، 22.04، 24.04) هو أن الإصدار الفرعي الأول — 26.04.1 في أغسطس 2026، يصبح نشر التطبيقات في بيئة الإنتاج أمراً منطقياً. إن كان بإمكانك الانتظار، فانتظر. وإن لم يكن ذلك ممكناً، فقم بإجراء اختبار تجريبي لمدة أسبوعين قبل إضافة أي بيانات مهمة.

مسارات تثبيت برنامج التشغيل

توجد ثلاث طرق لتثبيت برنامج تشغيل NVIDIA على نظام Ubuntu. ليست جميعها بنفس الجودة.

ubuntu-drivers install يُعدّ هذا المسار الأسهل. تُوفّر Canonical أداةً تُحلّل مكونات جهازك، وتختار فرع تعريفات تعتبره مُوصى به، وتُثبّت الحزمة المُطابقة من أرشيف Ubuntu. كما تُعالج هذه الأداة توقيع Secure Boot نيابةً عنك (باستخدام مفتاح Canonical)، وتدعم نواة HWE، وتعمل بشكلٍ جيد على أجهزة سطح المكتب المزودة بوحدة معالجة رسومات واحدة. أما على خوادم الذكاء الاصطناعي، فهو المسار الأكثر هشاشة: إذ قد يتغير الفرع المُوصى به بين إصدارات Ubuntu. ubuntu-drivers-common الحزمة، الإصدار الذي تحصل عليه apt update يعتمد ذلك على ما توفره أوبونتو هذا الأسبوع، ولا يمكنك التحكم بدقة في إصدار برنامج التشغيل الموجود على القرص. استخدمه للكمبيوتر المحمول، ولا تستخدمه للخادم.

apt من مستودع CUDA الخاص بشركة NVIDIA هذا هو المسار اليدوي الذي يمكن التحكم فيه. يمكنك إضافة NVIDIA cuda-keyring الحزمة التي تُهيئ الوضع الصحيح apt قم بتحديد إصدار أوبونتو الخاص بك، ثم قم بتثبيت الحزم التي تريدها بالضبط — cuda-drivers-580, nvidia-driver-580, nvidia-dkms-580لا مفاجآت. تتحكم NVIDIA في التغليف، وأنت تتحكم في الإصدار. هذا هو الإصدار الافتراضي من Kentino.

استخدم .run المثبت من developer.nvidia.com يكتب الملفات إلى /usr/localيدير إعادة بناء وحدات النواة الخاصة به، ولا يتكامل مع apt على الإطلاق. إنه الجواب الصحيح في حالتين محدودتين: الأجهزة الجديدة تمامًا حيث لم يتم تضمين فرع برنامج التشغيل الذي تحتاجه بعد. apt ليس لديك مستودع بعد، أو محطة عمل تقوم فيها بتطوير أو تصحيح برنامج التشغيل بشكل فعال. وإلا، فهذا ليس الحل الصحيح. سيتعارض مع DKMS، ولن يتم التعرف عليه بواسطة apt-mark holdوسيتعطل بهدوء عند تحديث النواة التالي لأن مسار إعادة البناء أصبح يدوياً الآن.

وبشكل ملموس، على خادم 24.04 مع تثبيت جديد، يكون تسلسل Kentino الافتراضي كما يلي:

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt update

# Install the driver branch you actually want, by number.
sudo apt install -y cuda-drivers-580 nvidia-dkms-580
sudo reboot

بعد إعادة التشغيل، nvidia-smi يجب أن يُظهر برنامج التشغيل الإصدار 580.x وأقصى إصدار من CUDA يدعمه (CUDA 13 للإصدار R580). هذا هو التثبيت الكامل. لاحظ ما هو غير موجود: لا شيء cuda حزمة التعريف، لا cuda-toolkit-13-0 (مطلوب فقط إذا قمت بتجميع كود CUDA على المضيف - انظر L02)، لا ubuntu-driversلقد اخترت الإصدار، وقمت بتثبيت الإصدار، وأنت تعرف ما هو موجود على القرص.

الفروع الرئيسية التي تهم في عام 2026

تقوم شركة NVIDIA بتوزيع برامج تشغيلها لنظام Linux على فروع ذات فترات دعم محددة. اعتبارًا من منتصف عام 2026:

الفرع النوع دعم كودا الحالة يسخدم من اجل
RX450 LTSB (الدعم طويل الأمد) كودا 12.2 نهاية العمر الافتراضي أواخر عام 2026 الهجرة فقط
RX450 الإنتــاج كودا 12.4 نهاية العمر لا تستخدم في عمليات البناء الجديدة
RX450 LTSB كودا 12.8 مدعوم حتى عام 2027 التركيز المحافظ، ما قبل بلاكويل
RX450 فرع الإنتاج CUDA 13.x حالياًّ الوضع الافتراضي لإصدارات كينتينو الجديدة
RX450 فرع الميزات الجديدة CUDA 13.x حالياًّ سطح المكتب / الإصدار الافتراضي 26.04؛ بعض الأجهزة الجديدة

يُعدّ R580 الخيار الأمثل في عام 2026. فهو يدعم جميع وحدات معالجة الرسومات في سلسلة Kentino (5090، 4090، RTX Pro 6000 Blackwell بنسختيها، L40، L4) بما في ذلك معمارية Blackwell. sm_120 يتمتع هذا الإصدار بقدرة حسابية عالية، ويدعم CUDA 13 بشكل أصلي، وهو ما تستهدفه جميع إصدارات vLLM وPyTorch 2.10/2.11 وTensorRT-LLM الحديثة. يُعد R570 الخيار الأمثل لنظام LTSB إذا كنت تمتلك مجموعة من معالجات Ada (4090 / L40 / L4) لا تحتاج إلى أحدث الميزات وترغب في تأجيل عملية الانتقال إلى فرع تعريفات جديد لمدة عام آخر. أما R595 فهو الإصدار الافتراضي لنظام Ubuntu 26.04، وهو الخيار الأمثل لأحدث الأجهزة؛ بينما يُعد R580 خيارًا أكثر تحفظًا على الخوادم التي تعمل فقط بمعالجات Kentino الحالية، مع توفيره نفس الميزات.

رقصة الإصدارات الثلاثية للسائق / CUDA / PyTorch

يجب أن تصطف ثلاث نسخ مستقلة. وهي موضوعة فوق بعضها البعض على النحو التالي:

PyTorch wheel (e.g. torch==2.11.0+cu130)
        │  ships its own CUDA runtime, cuDNN, NCCL inside the wheel
        ▼
CUDA runtime version (here: 13.0)
        │  the driver must support this CUDA version or newer
        ▼
NVIDIA driver branch (here: R580 → supports CUDA 13.x)

القاعدة هي أن برنامج التشغيل يدعم إصدارًا أقصى من وقت تشغيل CUDA. أي إصدار أقدم من هذا الحد الأقصى، على نفس الإصدار الرئيسي، سيعمل. لذا، فإن R580 (الحد الأقصى لـ CUDA هو 13.x) يشغل ملفات PyTorch المبنية على 13.0 و13.1 و13.2؛ ولا يشغل الملفات المبنية على CUDA 14.0 (الافتراضي) إلا بعد ترقية فرع برنامج التشغيل. لا يمكن لبرامج التشغيل القديمة تشغيل CUDA الأحدث - هناك توافق أمامي لبعض بطاقات مراكز البيانات، ولكنه غير مستقر وليس الطريقة المثلى للعمل.

خريطة عملية لما تعمل عليه خوادم كينتينو اليوم:

فرع السائق ماكس كودا عجلات بايتورش صورة vLLM يشحن CUDA الأصلي في حاوية
R570 (LTSB) 12.8 torch==2.6.x+cu128 vLLM 0.7 / 0.8 12.8
RX450 13.x torch==2.10/2.11+cu130 vLLM 0.20+ افتراضي 13.0 / 13.1
RX450 13.x نفس الشيء بالنسبة لـ R580 نفس الشيء بالنسبة لـ R580 نفسه

مهمتك هي إصلاح برنامج التشغيل، ودع باقي البرامج تعمل تلقائيًا. لستَ بحاجة لتثبيت CUDA على المضيف إطلاقًا إذا كنتَ تُشغّل كل شيء من حاويات (ويُفضّل القيام بذلك - انظر L02يحتاج المضيف إلى برنامج التشغيل ومجموعة أدوات الحاويات. هذا كل شيء.

التثبيت - الأمر الأكثر قيمة في هذه المقالة

بمجرد دخول السائق و nvidia-smi إذا كنت سعيدًا، فقم بتثبيته. التثبيت يعني إخبار الآخرين. apt عدم ترقية أو تخفيض أو إزالة حزم برمجية محددة، حتى لو كان هناك تبعية أو تحديث أمني قد يؤثر عليها. الأمر هو apt-mark hold.

# Pin the driver branch.
sudo apt-mark hold \
  cuda-drivers \
  cuda-drivers-580 \
  nvidia-driver-580 \
  nvidia-driver-580-server \
  nvidia-dkms-580 \
  libnvidia-compute-580 \
  libnvidia-compute-580-server

# Pin the running kernel and its headers — DKMS needs both to rebuild,
# and a kernel jump that DKMS does not handle is exactly how you lose the GPU.
RUNNING=$(uname -r)
sudo apt-mark hold "linux-image-${RUNNING}" "linux-headers-${RUNNING}"

# If you are on the Ubuntu HWE kernel meta-package, hold that too:
sudo apt-mark hold linux-generic-hwe-24.04 linux-image-generic-hwe-24.04 linux-headers-generic-hwe-24.04

# Verify.
apt-mark showhold

هذا يعني حل ما يقارب نصف حالات "توقف خادم الذكاء الاصطناعي الخاص بي عن العمل". عندما apt update && apt upgrade سواءً تم تشغيلها يدويًا، أو من خلال أداة إدارة التكوين، أو ضمن التحديثات التلقائية، فلن يتم نقل الحزم المحتجزة. ستظهر لك هذه الحزم ضمن قائمة "الحزم المحتجزة" في مخرجات التحديث، ويمكنك مراجعتها وإلغاء احتجازها خلال فترة الصيانة عندما تكون مستعدًا.

بعض الفخاخ. الناس ينصبونها nvidia-driver-580 وانسَ الأمر cuda-drivers-580، وهي الحزمة الوصفية الفعلية في مستودع CUDA. إذا cuda-drivers-580 إذا كانت هناك تبعية متعدية تتطلب إصدارًا أحدث، فسيتم سحب إصدار جديد. nvidia-dkms-580 إذا فقدت رمز التعريف (PIN) بسبب ذلك، فاذكر كليهما. يحتفظ المستخدمون بصورة النواة ولكن ليس ملفات الرأس، ومع ذلك يتم تحديث النواة بسبب حزمة تعريفية، ويفشل DKMS في العثور على ملفات الرأس عند محاولة إعادة البناء. nvidia-smi يعمل حتى إعادة التشغيل، ثم يتوقف. احرص دائمًا على إبقاء الصورة والرؤوس معًا.

المشاكل المحتملة في النواة وDKMS

نظام DKMS (دعم وحدات النواة الديناميكية) هو النظام الذي يعيد بناء وحدات النواة الخارجية كلما تغيرت النواة. nvidia-dkms-XXX تقوم الحزمة بتسجيل برنامج التشغيل كوحدة DKMS بحيث، من الناحية النظرية، يؤدي تحديث النواة الذي يديره apt إلى إعادة بناء الوحدة بشكل نظيف وإعادة التشغيل إلى نظام يعمل.

في الواقع العملي، تفشل عمليات إعادة بناء DKMS بثلاث طرق تتكرر:

لم يتم تثبيت ملفات رأس النواة للنواة الجديدة - وهذا شائع عند تثبيت حزمة النواة ولكن تم استبعاد حزمة ملفات الرأس بواسطة خيار في إعدادات apt أو تحديد مخصص. عند تشغيل النواة الجديدة، يكون مُلحق NVIDIA مفقودًا. nvidia-smi يُرجع "فشل NVIDIA-SMI لأنه لم يتمكن من الاتصال ببرنامج تشغيل NVIDIA".

النواة الجديدة حديثة جدًا بالنسبة لفرع برنامج التشغيل. لا يتم بناء R570 بشكل سليم مع أحدث نواة 6.14، بينما يتم ذلك مع R580. إذا سمحتَ لتحديث HWE بنقلك إلى نواة لم يتم اختبار فرع برنامج التشغيل عليها، فسيُنتج DKMS خطأ في البناء. /var/lib/dkms/nvidia/.../make.log ثم تقوم بإعادة التشغيل إلى نظام يعمل ولكنه بدون وحدة معالجة الرسومات.

تم تفعيل خاصية التمهيد الآمن، والوحدة المُعاد بناؤها غير موقّعة. من Canonical ubuntu-driversتأتي الحزم المثبتة مسبقًا مع خاصية التوقيع من Canonical. أما حزم CUDA-repo من NVIDIA فلا تتضمن هذه الخاصية؛ إذ تتطلب منك تسجيل مفتاح مالك الجهاز (MOK) وتوقيع الوحدات المُعاد بناؤها عند كل تغيير في نواة النظام. يمكن لـ DKMS إجراء التوقيع تلقائيًا مع الإعدادات المناسبة لكل وحدة، ولكن يجب إعداده قبل إعادة البناء الأولى، وليس بعد فشل النظام في الإقلاع. إذا لم تكن بحاجة إلى خاصية التمهيد الآمن - وهي على الأرجح ليست ضرورية على خادم استدلال بدون شاشة في رف مغلق - فقم بتعطيلها في البرامج الثابتة قبل تثبيت برنامج التشغيل، وتجنب هذه المشكلة برمتها.

تثبيت النواة يتجنب كل هذه المشاكل الثلاث. لا تتغير النواة إلا بتدخلك، وتبقى ملفات الرأس متطابقة، ويستمر تحميل الوحدة المُعاد بناؤها. عندما ترغب في استخدام نواة جديدة - سواءً لثغرة أمنية أو لميزة حقيقية - فإنك تفعل ذلك عن قصد، مع الاحتفاظ بنسخة احتياطية، لتكون جاهزًا للتراجع.

كودا المعدنية المجردة — عندما (نادراً) لا تزال صحيحة

L02 يُجادل هذا بأن استخدام CUDA مباشرةً على الأجهزة ليس الخيار الأمثل في الوقت الحالي: فالحاويات تُخفي عملية تحديث إصدار CUDA، وتفصل النظام المضيف عن عبء العمل، ولا تُؤثر على الأداء بشكل ملحوظ. وهذا صحيح في حوالي 95% من عمليات التثبيت.

الاستثناءات محدودة. تحليل أداء وحدة معالجة الرسومات على مستوى النواة باستخدام Nsight Systems / Nsight Compute، حيث تخفي طبقة الحاويات استدعاءات النظام المهمة. العمل على برامج التشغيل - تشغيل برامج التشغيل التجريبية من NVIDIA، وتصحيح الأخطاء التي تشمل وحدة النواة نفسها. بيئات معزولة تمامًا عن الشبكة حيث يكون سحب صور OCI والوثوق بها أصعب من صيانة نسخة احتياطية ثابتة من apt. عدد قليل من مواقع الحوسبة عالية الأداء التي بُنيت جميع أنشطتها حول هذا الموضوع. module load و MPI المعدني الخام، وليسوا مهتمين بالتغيير.

أما بالنسبة للآخرين: قم بتثبيت برنامج التشغيل مباشرةً على الجهاز، واترك النظام المضيف خالياً من CUDA، وقم بتشغيل CUDA داخل حاويات. nvidia-container-toolkit (مغطى في L02) يربط بينهما بسلاسة.

التحديثات غير المراقبة - ما يجب السماح به وما يجب حظره

أوبونتو unattended-upgrades الحزمة جيدة ويجب عليك تركها مُفعّلة. إن تجاهل التحديثات الأمنية تمامًا على خادم متصل بالشبكة أسوأ من خطر فشل الترقية التلقائية. النمط الصحيح هو: التحديثات الأمنية نعم، وحزم نواة النظام وحزم NVIDIA لا.

تعديل /etc/apt/apt.conf.d/50unattended-upgrades وأضف إلى قائمة الحظر:

Unattended-Upgrade::Package-Blacklist {
    "linux-image-";
    "linux-headers-";
    "linux-generic";
    "linux-modules-";
    "nvidia-";
    "libnvidia-";
    "cuda";
    "cuda-";
    "libcudnn";
};

apt-mark hold يمنع هذا بالفعل ترقية هذه الحزم. القائمة السوداء بمثابة إجراء احترازي إضافي - فهي توضح النية صراحةً، وتمنع... unattended-upgrades حتى أنها لم تسجل أي محاولة، وتنجو من الإهمال. apt-mark unhold من مسؤول إداري مبتدئ. قم بتشغيل كليهما.

أكد ذلك من خلال المتابعة /var/log/unattended-upgrades/unattended-upgrades.log بعد التشغيل التالي، سترى حزم الأمان تمر، وسيتم تخطي الحزم المحتجزة/المدرجة في القائمة السوداء بشكل صريح.

دليل استعادة النظام بعد تحديث التوزيعة وعدم عمل أي شيء

ركض أحدهم apt full-upgrade (أو أداة إدارة التكوين الخاصة بك) وعند إعادة التشغيل التالية، تختفي وحدات معالجة الرسومات. ترتيب العمليات:

  1. قم بتشغيل النظام. إذا لم يتم تشغيل النظام، فاضغط باستمرار على مفتاح Shift/Esc عند موجه GRUB واختر النواة السابقة من قائمة الإقلاع. ثم قم بالتأكيد. nvidia-smi يعمل تحت النواة القديمة. إذا كان الأمر كذلك، فالمشكلة تكمن في النواة الجديدة؛ قم بتثبيت النواة القديمة (apt-mark hold linux-image-<old>) واستمر.
  2. إذا تم تشغيل النظام ولكن nvidia-smi يُشير هذا إلى عدم تطابق NVML، فأنت تُشغّل مساحة مستخدم جديدة مقابل وحدة نمطية قديمة مُحمّلة. أعد تشغيل الجهاز. يُحلّ هذا المشكلة في أغلب الأحيان.
  3. If nvidia-smi يقول إن السائق غير محمل، تحقق /var/lib/dkms/nvidia/<version>/build/make.log و dmesg | grep -i nvidiaأكثر الأعطال شيوعًا: ملفات رأس النواة المفقودة (apt install linux-headers-$(uname -r) then dkms autoinstall); نواة نظام حديثة جدًا بالنسبة لبرنامج التشغيل (قم بتخفيض إصدار النواة أو ترقية فرع برنامج التشغيل عمدًا)؛ رفض التمهيد الآمن للوحدة غير الموقعة (mokutil --sb-stateثم قم إما بتعطيل SB أو قم بتسجيل MOK).
  4. إذا تم تحديث حزم برامج التشغيل نفسها إلى حالة لا تريدها - على سبيل المثال، سحبت الحزمة الرئيسية R585 فوق R580 المثبتة لديك لأن شخصًا ما أزال التثبيت - قم بالتنظيف وإعادة التثبيت: sudo apt purge '*nvidia*' '*cuda*' && sudo apt autoremoveثم أعد تثبيت البرنامج من مستودع CUDA بالإصدار الذي تريده بالفعل، ثم أعد تطبيق القيود.
  5. إذا كان لديك نسخة احتياطية - ويجب أن يكون لديك واحدة، انظر أدناه - فاستعدها. هذا يوفر عليك عشرين دقيقة للعودة إلى حالة سليمة معروفة بدلاً من أربع ساعات من تصحيح الأخطاء.

قم بأخذ لقطة شاشة قبل إجراء أي تعديل على برنامج التشغيل أو نواة النظام.

بغض النظر عن تصميم وحدة التخزين لديك، خذ لقطة قبل أي عملية تشغيل أو تغيير في نواة النظام. مستخدمو نظام الملفات ZFS (/ (على نظام ملفات ZFS أو مجموعة بيانات منفصلة) احصل على هذا مجانًا مع zfs snapshot rpool@pre-driver-upgrade-2026-05-15يمكن لمستخدمي LVM الذين لديهم مجموعات تخزين رقيقة lvcreate --snapshotمستخدمو نظام الملفات ext4 الذين لا يستخدمون LVM يضطرون للاعتماد على النسخ الاحتياطية الكاملة؛ وهذا أحد الأسباب التي دفعتنا إلى تغطية تخطيط نظام الملفات في L04.

الانضباط الذي يُؤتي ثماره: لا تُجري أي تعديلات على برنامج التشغيل، أو حزم CUDA، أو نواة النظام دون أخذ لقطة خلال الدقائق الخمس الماضية. تكلفة اللقطة ثوانٍ معدودة. أما تكلفة عدم وجودها عند حدوث خلل في التحديث فهي نصف يوم من التوقف عن العمل، وضياع وقت ثمين.

مسار ترقية LTS

تتم ترقيات أوبونتو من إصدار LTS إلى إصدار LTS آخر كل عامين؛ بالنسبة لخوادم الذكاء الاصطناعي، نوصي بتخطي ترقية واحدة من كل اثنتين. المسار هو:

22.04  ──(skip 23.x interim, skip 24.04 if production-stable)──▶  26.04
24.04  ──(skip 25.x interim, skip 26.04 if production-stable)──▶  28.04

السبب: تكلفة ترقية خادم الذكاء الاصطناعي إلى إصدار LTS مرتفعة (إعادة التحقق من صحة برامج التشغيل، وإعادة اختبار صورة الحاوية، وغالبًا إعادة تشغيل معايير التكامل)، وفائدة الانتقال من خطوة إلى أخرى ضئيلة، وأدوات ترقية Ubuntu من إصدار LTS إلى إصدار LTS تدعم هذا الخيار بشكل كامل. خطط للترقية، وحدد موعدًا للصيانة، وأنشئ لقطة، ثم نفّذها. do-release-upgradeقم بإجراء اختبار تجريبي لمدة أسبوع، ثم أعد أحمال العمل إلى وضعها السابق. يدعم النظام الترقية المباشرة من الإصدار 22.04 إلى 26.04، وهو ما سيلجأ إليه معظم عملاء كينتينو في أواخر عام 2026 أو في عام 2027.

ما يجب تجنبه: التحديثات المباشرة أثناء دورة التطوير، والتحديث بدون أخذ لقطة، والتحديث ثم التحديث الكامل لمجموعة برامج NVIDIA في نفس الوقت. غيّر شيئًا واحدًا في كل مرة.

قائمة التحقق من تركيب التصلب

لتثبيت نظام Ubuntu 24.04 LTS جديد على خادم ذكاء اصطناعي مبني بواسطة Kentino:

  1. قم بتثبيت نظام التشغيل. اختر نظام الملفات ext4 لـ /، انظر L04 بالنسبة لطبقات البيانات.
  2. قم بتعطيل خاصية التمهيد الآمن في البرامج الثابتة إلا إذا كان لديك سبب محدد لإبقائها قيد التشغيل.
  3. أضف NVIDIA CUDA apt المستودع عبر cuda-keyring.
  4. تثبيت cuda-drivers-580 و nvidia-dkms-580 فقط — لا cuda حزمة التعريف، لا cuda-toolkit على المضيف.
  5. أعد تشغيل الجهاز. تحقق من البيانات nvidia-smi.
  6. apt-mark hold حزم برامج التشغيل، ونواة النظام قيد التشغيل، وملفات رأس النواة. أعد التحقق باستخدام apt-mark showhold.
  7. تعديل /etc/apt/apt.conf.d/50unattended-upgrades لإضافة إلى القائمة السوداء linux-, nvidia-, libnvidia-, cuda, cuda-, libcudnn.
  8. تثبيت nvidia-container-toolkit (انظر L02) وتشغيل docker run --rm --gpus all اختبار الدخان.
  9. التقط صورة للجذر المسمى post-install-baseline.
  10. وثّق إصدار برنامج التشغيل، وإصدار النواة، وإصدار CUDA في دليل تشغيل الخادم. يجب على الشخص التالي الذي سيفحص هذا الخادم بعد ثمانية عشر شهرًا أن يعرف ما كان مقصودًا.

باختصار، كل توصية في هذه المقالة هي: تثبيت برنامج التشغيل، تثبيت نواة النظام، حظر التحديثات التلقائية، أخذ لقطة قبل إجراء أي تغيير، وتغيير عنصر واحد في كل مرة. لو تم اتباع هذه القواعد الخمس، لما وُجدت حوالي 80% من طلبات الدعم الفني المتعلقة بتعطل خادم الذكاء الاصطناعي.

L02 يغطي باقي المكدس فوق هذا المحرك - CUDA و cuDNN ومجموعة أدوات الحاويات وصور NGC. L04 يغطي هذا القسم تخطيط التخزين الذي يجب عليك وضع لقطات الشاشة ومجموعات البيانات عليه. L05 يغطي نظام المراقبة (DCGM، Prometheus) بحيث عندما يحدث انحراف ما، ستكتشف ذلك قبل أن يكتشفه المستخدمون.


هذا جزء من ويكي كينتينو، وهي سلسلة مرجعية حول الحوسبة الذكية، والروبوتات، والأنظمة التي تربط بينهما. نرحب بالتعليقات والتصويبات على info@kentino.com.