نظرًا لأنني أحب البحث عن خادم VPS رخيص الثمن وأضطر إلى تغيير الخوادم بشكل متكرر، فقد أصبح نقل موقع الويب أمرًا شائعًا. بالنسبة لبيانات مواقع الويب الكبيرة، من الأفضل نقل البيانات مباشرة بين غرف الكمبيوتر. يمكن لأدوات الأوامر الثلاثة شائعة الاستخدام Rsync وSCP وTar أن تساعدنا بسرعة في حل عملية نقل موقع الويب عن بعد لـ VPS ومزامنة البيانات.

ومع ذلك، بفضل التذكير من مدونة Xiao Z، بالإضافة إلى استخدام أدوات الأوامر لتحقيق نقل البيانات، يمكننا أيضًا استخدام تركيب القرص الصلب لحل مشكلة ترحيل البيانات. باستخدام NFS، بروتوكول نظام الملفات الموزع لنظام ملفات الشبكة، يمكننا تحميل أدلة مضيفي VPS المختلفين عن بعد، مما يجعل نسخ الملفات أكثر ملاءمة.

GlusterFS هو جوهر Gluster، وهو حل تخزين قابل للتوسيع، وهو نظام ملفات موزع مفتوح المصدر يتمتع بقابلية توسع أفقية قوية، وقادر على دعم سعة تخزين متعددة وحدات PB ومعالجة آلاف العملاء من خلال التوسع. يُستخدم GlusterFS بشكل عام كحل لتخزين الملفات على مستوى المؤسسة، ولكن يمكننا أيضًا استخدام GlusterFS لمشاركة التخزين بين مضيفي VPS المختلفين.

والأخير هو السامبا. كان الغرض الرئيسي من التطوير الأولي لـ SAMBA هو توصيل المشاركة بين منصتي تشغيل مختلفتين، Windows وUnix Like، وهو سهل التكوين وسهل التشغيل. يمكن أيضًا استخدام التثبيت عن بعد NFS والتخزين المشترك GlusterFS وخوادم Samba المشتركة للتعاون في الملفات ونسخ الخادم وما إلى ذلك. باختصار، قابلية التوسع قوية جدًا.

ثلاث طرق لمشاركة أدلة المجلدات في Linux - تثبيت NFS عن بعد والتخزين المشترك GlusterFS وخادم samba المشترك

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

  1. يعد Nextcloud خيارًا ممتازًا للتخزين السحابي الشخصي: طريقة التثبيت التلقائي بنقرة واحدة وتجربة استخدام القرص السحابي
  2. تقوم Lsyncd بإنشاء Lsyncd الذي يستخدم مرآة المزامنة لتحقيق المزامنة في الوقت الفعلي بين الخوادم المحلية والبعيدة
  3. يقوم Linux VPS بتثبيت Google Drive وDropbox - ويحقق مزامنة بيانات مضيف VPS والنسخ الاحتياطي

1. تركيب NFS عن بعد

البيئة التجريبية، الخادم أ: 172.104.184.98، العميل ب: 107.161.18.176. إذا لم يكن لديك VPS، يمكنك إلقاء نظرة على قائمة مضيف VPS التي استخدمتها: قائمة تصنيف مضيف VPS.

عمليات القيادة ذات الصلة هي كما يلي:


#在两台VPS上安装执行安装
sudo apt-get install -y  nfs-kernel-server
#在A上创建文件夹
mkdir -p /media/wzfou/asus
#在A上编辑并添加授权B读写
vim /etc/exports
/media/wzfou/asus 107.161.18.176(rw,no_root_squash,async)
#在A上重启
sudo systemctl restart nfs-server.service

#在B上创建文件夹
sudo mkdir -p /home/wzfou/share
#在B上将刚刚创建的文件夹挂载到A上共享文件夹
sudo mount -t nfs 172.104.184.98:/media/wzfou/asus /home/wzfou/share

إذا لم يكن هناك مطالبة، فهذا يعني أن التثبيت ناجح.

تم الآن تحميل الملفات المشتركة على A وB ومزامنتها في الوقت الفعلي. يمكنك رؤية المزامنة ثنائية الاتجاه عن طريق تحميل الملفات إلى المجلد المشترك أو حذفها.

2. تخزين GlusterFS المشترك

2.1 مستودع GlusterFS

ديبيان:

sudo apt-get install -y lsb-release
sudo apt-get install -y apt-transport-https

أضف المفتاح العام لمستودع GlusterFS.

wget -O - http://download.gluster.org/pub/gluster/glusterfs/LATEST/rsa.pub | sudo apt-key add -
echo deb https://download.gluster.org/pub/gluster/glusterfs/LATEST/Debian/$(lsb_release -sc)/apt $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/gluster.list

أوبونتو 16.04/14.04:

sudo apt-get install -y software-properties-common
sudo add-apt-repository ppa:gluster/glusterfs-3.8

2.2  قم بتثبيت GlusterFS

تحديث ذاكرة التخزين المؤقت للمستودع.

sudo apt-get update

قم بتثبيت حزمة GlusterFS.

sudo apt-get install -y glusterfs-server

بدء تشغيل خدمة خادم glusterfs.

sudo service glusterfs-server start

تأكد من تشغيل خدمة glusterfs.

sudo service glusterfs-server status

يتم تنفيذ الأمر التالي على الخادم لإضافة عقدة العميل (107.161.18.176).

raj@gluster1:~$ sudo gluster peer probe 107.161.18.176
peer probe: success.

تأكيد الحالة.

sudo gluster peer status

قائمة العقد.

sudo gluster pool list

تكوين جدار الحماية. قم بتعطيل جدار الحماية أو أضف عنوان IP الخاص بالعميل إلى النطاق المسموح به.

sudo iptables -I INPUT -p all -s <ip-address> -j ACCEPT

التثبيت الناجح هو كما يلي:

2.3  إنشاء وحدة تخزين مشتركة

نحتاج الآن إلى إنشاء وحدة التخزين المشتركة، أولاً، قم بإجراء العمليات التالية على الخادم:


#创建文件夹
sudo mkdir -p /data/gluster/gvol0
#创建共享卷volume,并分别挂载服务端(139.162.175.85)和客户端(107.161.18.176)
sudo gluster volume create gvol0 replica 2 139.162.175.85:/data/gluster/gvol0 107.161.18.176:/data/gluster/gvol0 force
#启用卷
sudo gluster volume start gvol0
#查看卷
sudo gluster volume info gvol0

انتقل الآن إلى العميل (107.161.18.176) وقم بتثبيت الخادم (139.162.175.85). الأمر كما يلي:


#安装客户端
apt-get install -y glusterfs-client
#创建文件夹
mkdir -p /mnt/glusterfs
#挂载服务端(139.162.175.85)
mount -t glusterfs 139.162.175.85:/gvol0 /mnt/glusterfs

#开机自动挂载
vim  /etc/fstab
139.162.175.85:/gvol0 /mnt/glusterfs glusterfs  defaults,_netdev 0 0

قم بتنفيذ الأمر: df -hP /mnt/glusterfs، يمكنك أن ترى أن التثبيت قد تم بنجاح.

يمكنك أيضًا رؤية ذلك باستخدام الأمر df.

يمكنك الآن تحقيق مساحة تخزين مشتركة بين مضيفي VPS المختلفين، ويمكنك رؤية المزامنة عند إضافة الملفات أو تعديلها.

3. يحقق Samba المشاركة بين Linux وWindows

طريقتا المشاركة المذكورتان أعلاه مناسبتان لنظام Linux، فكيف تتم المشاركة بين Windows وLinux؟ الطريقة الأكثر شيوعًا حاليًا هي من خلال بروتوكول مشاركة ملفات الشبكة عبر الأنظمة الأساسية: SMB/CIFS. يدعم Windows أصلاً SMB/CIFS، ويقوم Linux أيضًا بتنفيذ بروتوكول SMB/CIFS من خلال برنامج مفتوح المصدر Samba.

3.1  قم بتثبيت السامبا

sudo apt-get install samba

3.2  إنشاء دليل مشترك

// 创建的目录即之后能够在Windows主机上直接访问的目录。
// 例如:在用户wzfou的主目录下新建share文件夹为共享目录
mkdir /home/wzfou/smbshare
// 由于Windows下的文件夹需可读可写可执行,需更改权限为777
sudo chmod 777 /home/wzfou/smbshare

3.3  تعديل ملف تكوين سامبا

// 修改 /etc/samba/smb.conf
sudo vim /etc/samba/smb.conf
// 在smb.conf文件最后加上以下内容

[مشاركة]
المسار = /home/wzfou/smbshare
عام = نعم
قابل للكتابة = نعم
مستخدمون صالحون = wzfou
إنشاء قناع = 0644
فرض وضع الإنشاء = 0644
قناع الدليل = 0755
فرض وضع الدليل = 0755
متاح = نعم

وصف smb.conf هو كما يلي:

(1) تشير [المشاركة] إلى الاسم المستعار للمجلد المشترك، وسيتم استخدام هذا الاسم المستعار مباشرة لاحقًا.

(2) إعدادات فرض إنشاء الوضع ووضع الدليل ناتجة عن اختلاف الأذونات الافتراضية للملفات والمجلدات في نظامي التشغيل Windows وLinux، حيث تكون الملفات المنشأة حديثًا في نظام التشغيل Windows قابلة للتنفيذ. يجب تعيين أذونات الملف بشكل إلزامي.

(3) يتم تعيين المستخدمين الصالحين على اسم مستخدم Linux الحالي الخاص بك، على سبيل المثال، اسمي هو wzfou، لأنه عند فتح مجلد مشترك لأول مرة، تحتاج إلى التحقق من الأذونات.

3.4  قم بتعيين كلمة مرور تسجيل الدخول

// 新建/etc/samba/smbpasswd文件
sudo touch /etc/samba/smbpasswd
// 根据3.3设置的valid users,设置用户密码
// wzfou 替换为你在3.3中设置的用户名
sudo smbpasswd -a wzfou
//输入两次密码后,会提示 Added user wzfou. 表示设置成功
// 若用户名非当前登录系统的用户名,可能会提示Failed

3.5  بدء تشغيل خادم السامبا

sudo /etc/init.d/samba restart

3.6  اختبار ما إذا كانت المشاركة ناجحة أم لا

sudo apt-get install smbclient 
smbclient -L //xx.xx.xx.xx/share
//还记得吗?share为3.3中设置的共享文件夹的别名
//如果共享成功,将要求输入之前设置的密码


3.7 استخدام السامبا على نظامي التشغيل Windows وLinux

مستكشف Windows->خريطة محرك الشبكة. تنسيق الإدخال هو: اسم تكوين عنوان IP، ثم أدخل كلمة مرور الحساب ويكون الاتصال ناجحًا.

إذا كنت تستخدم نظام التشغيل Windows 7 وقد لا تتمكن من الاتصال بـ Samba، فيمكنك اتباع الطرق التالية لحل المشكلة:

1. قم بتعديل سياسة الأمان المحلية: قم بتشغيل secpol.msc لفتح نموذج "سياسة الأمان المحلية"، وانقر فوق "السياسة المحلية" - "خيارات الأمان"، وقم بتعديل قيمة "أمان الشبكة: مستوى مصادقة LAN Manager" إلى "إرسال" LM وNTLM - استخدم أمان جلسة NTLMv2 في حالة التفاوض، فقط موافق على طول الطريق.

2. تعديل السجل: قم بتعديل قيمة LmCompatibilityLevel ضمن HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsa إلى 1.

بالنسبة لنظام التشغيل Linux، يمكنك الوصول إليه من خلال العنوان smb://<samba-server-IP-address>/share في Thunar.

4. ملخص

من بين طرق مجلدات Linux المشتركة، تعد طريقة التثبيت عن بعد NFS هي الأكثر ملاءمة، ومناسبة بشكل خاص لترحيل بيانات موقع الويب بين خوادم مضيفة VPS المختلفة. بمجرد نجاح التثبيت عن بعد، يمكننا أن نكون مناسبين مثل نسخ البيانات محليًا، وهذا أفضل من ثلاث أدوات أوامر: Rsync، وSCP، وTar - تعمل بسرعة على حل نقل موقع ويب VPS عن بعد ومزامنة البيانات، وهي أكثر ملاءمة.

تعد طريقة GlusterFS لإنشاء وحدات تخزين مشتركة مناسبة بشكل خاص لخوادم المجموعة. يمكن أيضًا تطبيق نظام ملفات المجموعة GlusterFS على وحدة تخزين Docker الموزعة على مستوى المؤسسة. يدرك Samba مشاركة الملفات بين Linux وWindows، وقد شاركنا سابقًا البرنامج التعليمي لتثبيت Raspberry Pi NextCloud - مشاركة الشبكة المحلية السحابية الخاصة المنزلية، في الواقع، يمكننا أيضًا استخدام samba لمشاركة Raspberry Pi مع الأجهزة الأخرى.

اترك رد