ربط Storage Server كمحرك أقراص شبكة: Linux وWindows

نُشر في مدة القراءة: 9 دقيقة

هكذا تربطون Storage Server الخاص بكم كأنه قرص صلب محلي: على Linux كمجلد ‎/storage، وعلى Windows كمحرك أقراص شبكة باسم storage. مع الربط الدائم والمساعدة عند ظهور رسائل الخطأ.

يمكنكم ربط Storage Server الخاص بكم بخادمكم كما لو كان قرصاً صلباً محلياً. بعد ذلك يظهر على Linux كمجلد /storage، وعلى Windows كمحرك أقراص شبكة يحمل الاسم storage. وعندها تكتب البرامج والسكربتات وأدوات النسخ الاحتياطي في هذا المسار مباشرةً، دون أن تضطروا إلى نسخ الملفات يدوياً ذهاباً وإياباً.

يعرض هذا الدليل الطريقتين خطوة بخطوة: SMB (المعروف أيضاً باسم CIFS أو Samba) لـ Linux وWindows، وSSHFS بديلاً مشفّراً على Linux. ويتناول كذلك الربط الدائم الذي يبقى بعد إعادة التشغيل، ورسائل الخطأ الأكثر ظهوراً في الواقع العملي. تنطبق أوامر Linux على Debian 12 و13، وUbuntu 22.04 و24.04، وAlmaLinux وRocky Linux 9، أما خطوات Windows فتنطبق على Windows 10 و11، وعلى Windows Server من 2019 حتى 2025.

قبل أن تبدؤوا: بيانات الدخول وإعدادات الوصول

تجدون كل البيانات في منطقة العملاء ضمن Storage Server الخاص بكم، في قسم «تفاصيل الاتصال»: اسم المضيف واسم المستخدم وكلمة المرور. وإذا لم تظهر هناك كلمة مرور، فأنشئوا كلمة جديدة بالزر «إعادة تعيين كلمة المرور». غير أن ذلك يقطع جميع الاتصالات القائمة، وتحتاج الخوادم المربوطة سابقاً بعده إلى كلمة المرور الجديدة.

وفي الصفحة نفسها يفتح الزر «إعدادات الوصول» أزرار التبديل الخاصة بكل طريقة وصول على حدة. ولهذا الدليل تهمّ ثلاثة منها:

  • Samba / CIFS لمحرك أقراص الشبكة على Windows وLinux (المنفذ 445).
  • SSH / SFTP / SCP / rsync لـ SSHFS على Linux (المنفذ 23).
  • الوصول الخارجي يجب أن يكون مفعّلاً، لأن خادمكم يصل إلى خادم التخزين عبر الإنترنت.

عند طلب Storage Server جديد تكون أزرار التبديل الثلاثة مفعّلة مسبقاً. تستخدم الأمثلة في هذا المقال القيم التالية، فاستبدلوها بقيمكم الخاصة:

المعلومةقيمة المثال
اسم المضيفu123456.storage.kernelhost.net
اسم المستخدمu123456
المجلد المشترك (SMB)backup
منفذ SMB445
منفذ SSH وSFTP وrsync23

يحمل المجلد المشترك في كل Storage Server الاسم backup، وبذلك يكون المسار الكامل \\u123456.storage.kernelhost.net\backup على Windows و//u123456.storage.kernelhost.net/backup على Linux.

تحقّقوا أولاً مما إذا كان خادمكم يصل أصلاً إلى خادم التخزين على المنفذ 445. على Linux:

timeout 5 bash -c '</dev/tcp/u123456.storage.kernelhost.net/445' && echo "Port 445 reachable"

وعلى Windows في PowerShell:

Test-NetConnection u123456.storage.kernelhost.net -Port 445

إذا ظهر TcpTestSucceeded : True فالطريق مفتوح. وإذا لم يتم الاتصال، فتحقّقوا من زرّي التبديل «Samba / CIFS» و«الوصول الخارجي»، ومن أي جدار حماية على خادمكم قد يصفّي الاتصالات الصادرة. وإذا كان المنفذ 445 محظوراً بشكل دائم، فاسلكوا على Linux طريق SSHFS الموضح أدناه.

Linux: تركيب خادم التخزين في ‎/storage (SMB)

1. تثبيت cifs-utils

يأتي عميل SMB ضمن الحزمة cifs-utils. على Debian وUbuntu:

apt-get update
apt-get install -y cifs-utils

على AlmaLinux وRocky Linux وRHEL:

dnf install -y cifs-utils

2. إنشاء نقطة التركيب وملف بيانات الدخول

أنشئوا المجلد الذي سيظهر فيه خادم التخزين، وملفاً لبيانات الدخول:

mkdir -p /storage
nano /etc/storage-credentials

محتوى الملف:

username=u123456
password=YOUR_PASSWORD

بعد ذلك لا يحق لأحد غير root قراءة الملف:

chmod 600 /etc/storage-credentials

سبب الملف المستقل: بهذه الطريقة لا تُحفظ كلمة المرور في /etc/fstab، الذي يحق لكل مستخدم قراءته، ولا في سجل الأوامر. والرموز الخاصة في كلمة المرور لا تسبب أي مشكلة في هذا الملف، ولا حاجة إلى علامات اقتباس.

3. التركيب يدوياً مرة واحدة واختباره

mount -t cifs //u123456.storage.kernelhost.net/backup /storage -o credentials=/etc/storage-credentials,seal,iocharset=utf8,uid=0,gid=0,file_mode=0660,dir_mode=0770

الخيارات بالتفصيل:

  • seal يشفّر الاتصال باستخدام SMB 3. ولأن البيانات تمر عبر الإنترنت، لا تستغنوا عن هذا الخيار أبداً.
  • iocharset=utf8 يضمن وصول الحروف العربية والأحرف الخاصة في أسماء الملفات بشكل صحيح.
  • uid وgid يحددان المستخدم المحلي الذي تعود إليه ملكية الملفات. فإذا كان خادم الويب مثلاً هو الذي سيكتب، فاستخدموا uid=www-data,gid=www-data.
  • file_mode وdir_mode يحددان الصلاحيات التي يعرضها Linux للملفات والمجلدات. أما على خادم التخزين نفسه فلا تُحفظ صلاحيات Linux، وتسري هذه القيم على خادمكم فقط.

وتتحققون من أن كل شيء يعمل على النحو التالي:

df -h /storage
touch /storage/testfile && ls -l /storage && rm /storage/testfile

يعرض df الآن سعة Storage Server الخاص بكم بدلاً من سعة القرص المحلي.

4. التركيب الدائم عبر ‎/etc/fstab

لكي يعود خادم التخزين تلقائياً بعد كل إعادة تشغيل، أضيفوه إلى /etc/fstab. وقبل ذلك ألغوا تركيب الاختبار:

umount /storage
nano /etc/fstab

أضيفوا هذا السطر في نهاية الملف (في سطر واحد):

//u123456.storage.kernelhost.net/backup  /storage  cifs  credentials=/etc/storage-credentials,seal,iocharset=utf8,uid=0,gid=0,file_mode=0660,dir_mode=0770,_netdev,nofail,x-systemd.automount  0  0

الإضافات الثلاث في نهاية السطر مهمة:

  • _netdev يُعلم النظام بأن الأمر يتعلق بمحرك أقراص شبكة لا يمكن تركيبه إلا بعد جاهزية الشبكة.
  • nofail يمنع توقف خادمكم أثناء الإقلاع إذا تعذر الوصول إلى خادم التخزين في وقت ما.
  • x-systemd.automount لا يركّب خادم التخزين إلا عند أول وصول إلى /storage، ويعيد تركيبه تلقائياً بعد أي انقطاع.

أعيدوا تحميل الإعدادات ونفّذوا التركيب:

systemctl daemon-reload
mount -a
ls /storage

إذا لم يُبلغ mount -a عن أي خطأ، فالسطر صحيح. بعد ذلك يمكنكم تجربة إعادة التشغيل دون مخاطرة، فبفضل nofail يقلع الخادم حتى لو كان هناك خلل ما.

بديل على Linux: SSHFS عبر المنفذ 23

يركّب SSHFS خادم التخزين عبر SSH. ويستحق ذلك العناء إذا كان المنفذ 445 محظوراً لديكم، أو إذا كنتم تفضّلون العمل بمفتاح SSH بدلاً من كلمة المرور. والاتصال مشفّر دائماً. أعدّوا على /storage إما SMB وإما SSHFS، لا الاثنين معاً.

تثبيت SSHFS على Debian وUbuntu:

apt-get install -y sshfs

وعلى AlmaLinux وRocky Linux توجد الحزمة في مستودع EPEL:

dnf install -y epel-release
dnf install -y fuse-sshfs

إنشاء مفتاح مخصص وإضافته إلى خادم التخزين:

ssh-keygen -t ed25519 -f /root/.ssh/storage_ed25519 -N ""
cat /root/.ssh/storage_ed25519.pub | ssh -p 23 u123456@u123456.storage.kernelhost.net install-ssh-key

عند الاتصال الأول تؤكدون بصمة خادم التخزين بكتابة yes، وتُدخلون كلمة المرور مرة واحدة. ويضيف الأمر install-ssh-key المفتاح دون الكتابة فوق المفاتيح الموجودة. ومن الآن فصاعداً يسجّل خادمكم الدخول دون كلمة مرور.

التركيب يدوياً:

mkdir -p /storage
sshfs -p 23 -o IdentityFile=/root/.ssh/storage_ed25519,reconnect,ServerAliveInterval=15,ServerAliveCountMax=3 u123456@u123456.storage.kernelhost.net: /storage

تشير النقطتان (:) بعد اسم المضيف إلى المجلد الجذر لحسابكم على خادم التخزين، أي إلى الملفات نفسها التي ترونها عبر المجلد المشترك في SMB. وللتركيب الدائم يُضاف هذا السطر إلى /etc/fstab:

u123456@u123456.storage.kernelhost.net:  /storage  fuse.sshfs  port=23,IdentityFile=/root/.ssh/storage_ed25519,reconnect,ServerAliveInterval=15,ServerAliveCountMax=3,allow_other,_netdev,nofail,x-systemd.automount  0  0

يسمح allow_other لمستخدمين آخرين غير root بالوصول أيضاً، مثل خادم الويب. ويحافظ reconnect وقيمتا ServerAlive على استقرار الاتصال عندما تتعثر الشبكة للحظات. بعد ذلك نفّذوا، كما في الأعلى، systemctl daemon-reload وmount -a.

Windows: ربط خادم التخزين كمحرك أقراص شبكة باسم «storage»

عبر مستكشف الملفات

  1. افتحوا مستكشف الملفات، واختاروا في جزء التنقّل «هذا الكمبيوتر الشخصي».
  2. اختاروا «تعيين محرك أقراص الشبكة». في Windows 11 يوجد هذا الأمر في القائمة خلف النقاط الثلاث، وفي Windows Server في علامة التبويب «الكمبيوتر».
  3. اختاروا في «محرك الأقراص» الحرف S:، واكتبوا في «المجلد» المسار \\u123456.storage.kernelhost.net\backup.
  4. حدّدوا خانتي الاختيار «إعادة الاتصال عند تسجيل الدخول» و«الاتصال باستخدام بيانات اعتماد مختلفة»، ثم انقروا على «إنهاء».
  5. أدخلوا اسم المستخدم u123456 وكلمة المرور الخاصة بكم، وحدّدوا «تذكر بيانات الاعتماد».
  6. يظهر محرك الأقراص أولاً باسم «backup (\\u123456.storage.kernelhost.net) (S:)». انقروا عليه بزر الماوس الأيمن، واختاروا «إعادة تسمية»، ثم اكتبوا storage.

من الآن فصاعداً يتوفر خادم التخزين في «هذا الكمبيوتر الشخصي» كمحرك الأقراص storage، ويُعاد ربطه تلقائياً عند كل تسجيل دخول.

عبر PowerShell أو موجه الأوامر

والأسرع استخدام أمرين: يحفظ الأول بيانات الدخول في «إدارة بيانات الاعتماد» في Windows ويطلب منكم كلمة المرور أثناء ذلك، ويربط الثاني محرك الأقراص بشكل دائم:

cmdkey /add:u123456.storage.kernelhost.net /user:u123456 /pass
net use S: \\u123456.storage.kernelhost.net\backup /persistent:yes

أما الاسم storage فتمنحونه لمحرك الأقراص في PowerShell:

(New-Object -ComObject Shell.Application).NameSpace('S:').Self.Name = 'storage'

مهم: نفّذوا هذه الأوامر في نافذة عادية، لا في نافذة فُتحت بالأمر «تشغيل كمسؤول». فمحركات الأقراص التي تُربط في جلسة بامتيازات مرتفعة لا يراها مستكشف الملفات، رغم أن net use يُبلغ بنجاح العملية.

فحص الاتصال وتشفيره

يعرض PowerShell إصدار SMB الذي تفاوض عليه Windows، وما إذا كان الاتصال موقّعاً أو مشفّراً:

Get-SmbConnection -ServerName u123456.storage.kernelhost.net | Format-List ServerName,ShareName,Dialect,Signed,Encrypted

بدءاً من Windows 11 24H2 وWindows Server 2025 يمكنكم فرض التشفير على جميع اتصالات SMB الصادرة. عندها لا يتصل Windows إلا بالخوادم التي تدعم SMB 3 مع التشفير، وهذا ما يدعمه Storage Server الخاص بكم:

Set-SmbClientConfiguration -RequireEncryption $true -Confirm:$false

يسري هذا الإعداد على جميع اتصالات SMB في الجهاز. فإذا كان خادمكم مرتبطاً بمجلدات مشتركة أخرى أقدم لا تدعم التشفير، فلن تتمكنوا من الوصول إليها بعد ذلك.

للخدمات والمهام المجدولة

لا يسري حرف محرك الأقراص إلا في جلسة تسجيل الدخول الخاصة بالمستخدم الذي ربطه. لذلك لا ترى الخدمات والمهام المجدولة وكثير من برامج النسخ الاحتياطي الحرف S:. استخدموا هناك المسار الكامل \\u123456.storage.kernelhost.net\backup، واحفظوا بيانات الدخول بالأمر cmdkey في حساب المستخدم الذي تعمل المهمة تحته.

الأخطاء الشائعة وأسبابها

الرسالةالسببالحل
mount error(13): Permission deniedاسم المستخدم أو كلمة المرور غير صحيحة، أو أن «Samba / CIFS» معطّلتحقّقوا من ملف بيانات الدخول ومن زر التبديل، وعدّلوا الملف بعد إعادة تعيين كلمة المرور
mount error(115): Operation now in progressتعذر الوصول إلى المنفذ 445، أو أن «الوصول الخارجي» معطّلنفّذوا اختبار المنفذ الموضح أعلاه، وتحقّقوا من زر التبديل، أو استخدموا SSHFS
mount error(112): Host is downلا يتفق العميل وخادم التخزين على إصدار SMB مشتركأضيفوا الخيار vers=3.0 إلى خيارات التركيب
mount error(2): No such file or directoryاسم المجلد المشترك غير صحيحاسم المجلد المشترك دائماً backup
bad option; for several filesystems (e.g. nfs, cifs) you might need a /sbin/mount.<type> helper program.الحزمة cifs-utils غير مثبّتةثبّتوا الحزمة كما هو موضح أعلاه
ينقطع نقل الملفات التي يبلغ حجمها 4 GB فأكثرالتخزين المؤقت في عميل SMBأضيفوا الخيار cache=none إلى خيارات التركيب
System error 53لم يُعثر على مسار الشبكة، والسبب غالباً أن المنفذ 445 محظورنفّذوا Test-NetConnection، وتحقّقوا من أزرار التبديل
System error 67لم يُعثر على اسم الشبكةيجب أن ينتهي المسار بـ \backup
System error 86 أو 1326بيانات الدخول غير صحيحةاحذفوها بالأمر cmdkey /delete:u123456.storage.kernelhost.net ثم أنشئوها من جديد
System error 1219يوجد اتصال قائم ببيانات دخول مختلفةنفّذوا net use \\u123456.storage.kernelhost.net\backup /delete ثم أعيدوا الربط

لقطع الاتصال يكفي على Linux الأمر umount /storage، وعلى Windows الأمر net use S: /delete. أما بيانات الدخول المحفوظة فتحذفونها هناك بالأمر cmdkey /delete:u123456.storage.kernelhost.net.

محرك أقراص شبكة أم أداة نسخ احتياطي؟

محرك الأقراص المربوط مثالي عندما يُراد أن تكتب البرامج مباشرةً في مجلد، مثلاً للملفات المرفوعة أو ملفات التصدير أو الأرشيف. أما للنسخ الاحتياطية المنتظمة فغالباً ما تكون أدوات مثل rsync أو BorgBackup أو restic عبر SSH على المنفذ 23 الخيار الأمتن: فهي لا تنقل إلا التغييرات، وتستأنف عمليات النقل المنقطعة، وتشفّر البيانات عند الرغبة على خادمكم قبل أن تغادره. ويشرح مقالنا حول استراتيجية النسخ الاحتياطي للخوادم كيف تبنون ذلك، ويساعدكم دليل إعداد مهمة cron في وضع الجدول الزمني.

نصيحة: إذا فعّلتم في «إعدادات الوصول» زر التبديل «مجلد لقطات ZFS»، تظهر اللقطات (Snapshots) الخاصة بـ Storage Server لديكم كمجلد للقراءة فقط هو .zfs/snapshot. وعندها تستعيدون الملفات المفردة بمجرد نسخها، دون الحاجة إلى استعادة لقطة كاملة.

الأمان باختصار

  • على Linux ركّبوا دائماً مع seal أو استخدموا SSHFS، لكي تُنقل البيانات مشفّرة.
  • ملف بيانات الدخول /etc/storage-credentials يملكه root وصلاحياته 600.
  • عطّلوا في «إعدادات الوصول» كل ما لا تحتاجونه. وإذا كنتم تستخدمون SSHFS فقط، فيمكن أن يبقى «Samba / CIFS» معطّلاً.
  • استخدموا لـ SSHFS مفتاحاً مخصصاً لخادم التخزين وحده، كما هو موضح أعلاه. أما كيف تؤمّنون SSH عموماً، فيشرحه مقال تأمين SSH وإعداد تسجيل الدخول بالمفتاح.

الأسئلة الشائعة

ما اسم المجلد المشترك في Storage Server؟
يحمل المجلد المشترك عبر SMB في كل Storage Server الاسم backup. والمسار على Windows: \\u123456.storage.kernelhost.net\backup، وعلى Linux: //u123456.storage.kernelhost.net/backup. وبدلاً من u123456 تضعون اسم المستخدم الخاص بكم الظاهر في «تفاصيل الاتصال» في منطقة العملاء.
ما المنافذ التي يحتاجها Storage Server؟
المنفذ 445 لمحرك أقراص الشبكة عبر SMB، والمنفذ 23 لكل من SSH وSFTP وSCP وrsync وBorgBackup وSSHFS. إضافة إلى ذلك يجب تفعيل «الوصول الخارجي» في «إعدادات الوصول»، لكي يصل خادمكم إلى خادم التخزين عبر الإنترنت.
هل الاتصال بخادم التخزين مشفّر؟
SSHFS مشفّر دائماً. أما مع SMB فيتولى خيار التركيب seal على Linux التشفير عبر SMB 3. وعلى Windows يبيّن Get-SmbConnection ما إذا كان الاتصال مشفّراً، وبدءاً من Windows 11 24H2 وWindows Server 2025 يمكن فرض التشفير بالأمر Set-SmbClientConfiguration -RequireEncryption.
لماذا يختفي محرك الأقراص بعد إعادة التشغيل؟
على Linux يكون السبب غالباً غياب السطر في ‎/etc/fstab أو غياب الخيار ‎_netdev، الذي يجعل النظام ينتظر الشبكة. وعلى Windows يجب تفعيل الخيار «إعادة الاتصال عند تسجيل الدخول» عند الربط، ويجب أن تكون بيانات الدخول محفوظة، مثلاً عبر cmdkey.
لماذا لا يظهر محرك الأقراص في مستكشف الملفات رغم نجاح net use؟
على الأرجح نفّذتم الأوامر في نافذة بصلاحيات المسؤول. فمحركات الأقراص المربوطة في جلسة بامتيازات مرتفعة لا تظهر في مستكشف الملفات العادي. أعيدوا ربط محرك الأقراص في نافذة PowerShell أو موجه أوامر عادية.
هل يمكن ربط خادم التخزين بعدة خوادم في الوقت نفسه؟
نعم، يمكن لعدة خوادم الوصول إلى خادم التخزين نفسه في آن واحد. أنشئوا لكل خادم مجلداً خاصاً به، حتى لا يكتب نظامان في الملفات نفسها في الوقت ذاته.

Storage Server محرك أقراص شبكة SMB CIFS SSHFS Linux Windows Server النسخ الاحتياطي