Xen الجزء الثاني .. ما هي افضل تقسيمه ؟ اساسيات التنصيب ..

الموضوع في 'منتـدي دروس إعـداد الخوادم و حلول مشاكل السيرفرات' بواسطة خالد, بتاريخ ‏17 يوليو 2010.

  1. خالد

    خالد مؤسس المنتدي

    إنضم إلينا في:
    ‏28 أكتوبر 2007
    المشاركات:
    1,421
    الإعجابات المتلقاة:
    2
    نقاط الجائزة:
    38
    الوظيفة:
    o0o0o0o0
    مكان الإقامة:
    Egypt
    الصفحة الرئيسية:
    السلام عليكم ..

    اتمنى ان يكون الجزء الأول كان مفيدا ..

    بسم الله ..

    كالعاده .. ساطيل عليكم :smurf:

    كما ذكرنا اننا بصدد شرح تنصيب Xen على نظام تشغيل Centos وسنقوم بتنصيبه مع لوحة HyperVm المجانيه ..
    وهي قوية جدا وتفي بالغرض بالنسبة للغالبيه ..

    قبل ان تطلب السيرفر حدد حجم الهارديسك الذي تريده ..

    ايضا الهارديسك سيكون غير قابل للتوزيع مرة اخرى ..

    فبمجرد اضافه VPS بحجم 100 جيجا .. يتم حجز هذه المساحه من ال volume group التي قمت بإنشائها مسبقا ..

    ـــــــــــــــــــــــــــــــــ


    التقسيمه المطلوبه والتي يفضلها الأغلب وهي كالتالي ..

    / وهو الجذر الذي يحتوي عليه النظام من 20 جيجا الى 30 جيجا .. والتي سيكون عليها ال template الخاصه بك وملفات ال log والإعدادات والنظام نفسه طبعا ..

    /boot والتي ستحتوي على ال kernel وبرنامج ال boot وهو grub في حالتنا .. وحجمه يمكن ان يكون 100 ميجا فقط .. وللإحتياط نضيعه 200 او 300 ميجا .. ولا داعي لأكثر من ذلك .. ويمكن ان يكون بدون قسم خاص به ويكون ضمن ال / ..

    ال swap وهي ما يعرف بال Virtual memory .. الذاكرة الوهميه .. فهي عبارة عن جزء من الهارديسك .. ويعمل كذاكرة ليساعد الرام في بعض العمليات التي تحتاجها او في حاله امتلاء الرام ..

    لها مميزات وعيوب .. وليس هنا المجال لذكر هذا لاني اكتب مع ناس تعرف في علم الحاسوب .. وبالتالي لا داعي لشرح هذه الأمور ..

    اما لو لم يكن هذا اختصاصك فعليك بالبحث عن كل مصطلح ..

    ــــــــــــــــــــــــ

    لحد هنا السيرفر حينزل عليه النظام ويكون جاهز .. لكن باقي الهارديسك سيكون غير مستخدم ..

    وانا فضلت الا تذكر للداتا سنتر انك تريد قرص LVM لانهم دائما ما يقومو بعمل mount لذلك القرص وبالتالي تحتاج لحذف ال logical volume ومن ثم ازالته من ال /etc/fstab ..

    ــــــــــــــــــــ


    خلينا بس نركز الآن في موضوع ال LVM .. لانه موضوع مهم جدا ..

    اولا كما قلت هو نظام ادارة للأقراص .. ويستخدم في السيرفرات العاديه او الأجهزة .. يعني ليس له علاقه بال Xen نفسه ..

    ماذا نستفيد منه ؟

    مثلا لديك قرصين على السيرفر كل واحد منهم 250 جيجا ..


    يمكن استخدام كل قرص منفصل ..

    لكن ماذا لو كانت حاجتك تقتضي انك تريد هارد 500 جيجا كامل لوجود ملفات كبيرة الحجم ..

    هل نستبدل القرصين بقرص 500 ؟

    بالطبع لا حاجة لذلك ..

    اذا كنت تستخدم ال LVM فعليك اولا ان تضع القرص الأول والثاني وتحدد انهم LVM .. وبالتالي نظام الإدارة الي هو LVM

    حيتم عليه التقسيم بعد هيك ... وحيتعامل مع القرصين كانهم هارد واحد 500 جيجا ..

    ويمكن منه انشاء

    /
    /boot
    swap

    وكلها تكون على القرصين معا ..


    يعني موضوع ال LVM يمكن ان يكون على كل السيرفر بالكامل ..


    طولت عليكم مرة تانية بس كان لازم النقطه هذي توصل ..

    ما هي مكونات نظام ال LVM

    التفاصيل فيه كثيرة ..

    لكننا سنذكر ان المهم لدينا هو volume group وتختصر ب vg وهو الأساس بعد ان تقوم بتغير القرص الى lvm

    فان عليك انشاؤه .. وهو الذي سيحتوي على الأقراص الفرعيه ..

    يعني هو الشجرة الأساسيه في الموضوع .. ومنه بيكون ال logical volume وتختصر ب lv ..


    Volume Group1 >> Logical Volume1
    Volume Group1 >> Logical Volume2
    Volume Group1 >> Logical Volume3
    Volume Group1 >> Logical Volume4

    طبعا Logical Volume1 يمكن ان يكون هو البارتشين الي عليه النظام .. وممكن يكون البارتيشين الخاص بالباك اب .. او غيره ..


    طيب تعال هنا يا حج ..

    ايه علاقه ده كله في الي حنعلمه احنا ؟؟

    انا احكيلك يا ورد ..

    لما تعمل انشاء لكل VPS بنظام LVM

    الي حيصير انو حيروح لل volume group ويلاقي حجمها مثلا 1 تيرا ..

    حيروح يعمل بداخلها New Logical Volume يعني قرص جديد ..

    واحد للنظام ككل ..

    وواحد لل swap .. ويديله نظام ملفات وكل حاجة .. كانه جهاز عادي ..


    يعني صار الإتصال بالهارديسك مع ال VPS مباشر ...


    تمام .. حنعمل الحكاية دي كيف ؟

    اول حاجة احنا قلنا التقسيمه الي فوق .. سواء كنت عليها او ما كنت عليها انتا حتشوف حسب السيرفر ..

    لو كنت ماشي عليها حتروح تعمل قرص جديد وتخلي نوعه lvm وبعدها تعمل volume group وخلاص .. وما تعمل فيها اي حاجة ..

    لو ما كنت عليها حيكون الموضوع حسب التقسيمه الي عندك .. ولو ما فهمت الي فوق وما بتعرف تستخدم ال fdisk ولا تعرف التقسيمه عندك كيف .. يبقى يفضل تشوف حد يفيدك بالموضوع ..

    طيب كيف حنعمل ال volume group ؟

    هذا مثال عملي على سيرفر بنفس التقسيمه الي فوق تقريبا
    كود PHP:
    [root@serv ~]# df -h
    Filesystem            Size  Used Avail Use% Mounted on
    /dev/sda2              30G  2.3G   26G   9% /
    /
    dev/sda1             289M   22M  252M   8% /boot
    tmpfs                 3.9G     0  3.9G   0
    % /dev/shm
    شفنا الوضع الحالي ماشي كيف والأقسام الي معمول الها mount

    حندخل على ال fdisk ونشوف الأقسام الموجوده على النظام كل الهاردات ونوع كل بارتشين

    من خلال الأمر

    fdisk -l



    كود PHP:
    [root@serv ~]# fdisk -l

    Disk /dev/sda1000.2 GB1000203804160 bytes
    255 heads
    63 sectors/track121601 cylinders
    Units 
    cylinders of 16065 512 8225280 bytes

       Device Boot      Start         End      Blocks   Id  System
    /dev/sda1   *           1          38      305203+  83  Linux
    /dev/sda2              39        3954    31455270   83  Linux
    /dev/sda3            3955        4476     4192965   82  Linux swap /  Solaris

    او ممكن ندخل على القرص المهتمين فيه

    fdisk /dev/sda

    ومنها حرف ال p يعني print


    كود PHP:
    [root@serv ~]# fdisk /dev/sda

    The number of cylinders for this disk is set to 121601.
    There is nothing wrong with that
    but this is larger than 1024,
    and 
    could in certain setups cause problems with:
    1software that runs at boot time (e.g., old versions of LILO)
    2booting and partitioning software from other OSs
       
    (e.g., DOS FDISKOS/2 FDISK)

    Command (for help): m
    Command action
       a   toggle a bootable flag
       b   edit bsd disklabel
       c   toggle the dos compatibility flag
       d   delete a partition
       l   
    list known partition types
       m   
    print this menu
       n   add a 
    new partition
       o   create a 
    new empty DOS partition table
       p   
    print the partition table
       q   quit without saving changes
       s   create a 
    new empty Sun disklabel
       t   change a partition
    's system id
       u   change display/entry units
       v   verify the partition table
       w   write table to disk and exit
       x   extra functionality (experts only)

    Command (m for help): p

    Disk /dev/sda: 1000.2 GB, 1000203804160 bytes
    255 heads, 63 sectors/track, 121601 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes

       Device Boot      Start         End      Blocks   Id  System
    /dev/sda1   *           1          38      305203+  83  Linux
    /dev/sda2              39        3954    31455270   83  Linux
    /dev/sda3            3955        4476     4192965   82  Linux swap /  Solaris
    عرضنا من خلال الخيار p الأقسام .. وطبعا زي ما شفتو انو خيار m بيعرض قائمه الخيارات المتاحه


    الآن حنعمل قرص جديد على المساحه الغير مستخدمه .. وحنخليه من نوع LVM

    حرف n لانشاء بارتشين جديد .. ونختار نوعه سواء

    extended
    او
    primary

    حسب القسم الأخير .. لو كان عبارة عن extended فلازم نعمل القرص بتاعنا من ضمنه ..

    والا فيكون primary

    وسيتضح ذلك فعلا خلال التجربه .. فجرب اولا انشاءه ك primary وستظهر لك رسالة توضح ان هذا لا يمكن .. فسوف ترجب الأخرى بعدها .. وستفهم ما قصدته .. وليس معنا هذا انو تخليها كلها تجريب :smoke1:

    قرص جديد
    كود PHP:
    Command (for help): n
    Command action
       e   extended
       p   primary partition 
    (1-4)

    Selected partition 4
    First cylinder 
    (4477-121601, default 4477): 
    Using default value 4477
    Last cylinder 
    or +size or +sizeM or +sizeK (4477-121601, default  121601): 
    Using default value 121601
    اخترناه يكون primary وسيكون رقم 4 واخترنا الأرقام الإفتراضيه لل cylinder

    نقوم بعرض الأقسام الجديده
    كود PHP:
    Command (for help): p

    Disk 
    /dev/sda1000.2 GB1000203804160 bytes
    255 heads
    63 sectors/track121601 cylinders
    Units 
    cylinders of 16065 512 8225280 bytes

       Device Boot      Start         End      Blocks   Id  System
    /dev/sda1   *           1          38      305203+  83  Linux
    /dev/sda2              39        3954    31455270   83  Linux
    /dev/sda3            3955        4476     4192965   82  Linux swap /  Solaris
    /dev/sda4            4477      121601   940806562+  83  Linux
    نغير نوع البارتشين .. حرف t ومن ثم نختار رقم البارتشين .. وبعدها النوع وهو 8e وهو الرمز ل LVM ..

    ويمكن استعراض الأنواع المتوفرة من خلال الضغط على حرف L
    كود PHP:
    Command (for help): t
    Partition number 
    (1-4): 4
    Hex code 
    (type L to list codes): 8e
    Changed system type of partition 4 to 8e 
    (Linux LVM)
    انتهيني .. والآن حان وقت كتابه التغييرات ..


    كود PHP:
    Command (for help): w
    The partition table has been altered
    !

    Calling ioctl() to re-read partition table.

    WARNINGRe-reading the partition table failed with error 16Device or  resource busy.
    The kernel still uses the old table.
    The new table will be used at the next reboot.
    Syncing disks.
    [
    root@serv ~]

    انتهى ذلك .. فعلا .. يمكنك عمل اعاده تشغيل للنظام ..

    يمكن ان يكون ما طبقناه في الأعلى على هارديسك منفصل .. يعني هارديسك ثاني تخليه كله يكون بارتشين واحد فقط وتخليه LVM .. وايضا بتضيفه لنفس ال Volume group مع البارتشين من القرص الأول ..


    الآن يأتي وقت انشاء ال Volume Group على هذا ال Partition ..


    فقط نفذ

    كود PHP:
    vgcreate xenvg /dev/sda4
    vgcreate

    وهو احد الاوامر الخاصه بالتحكم في ال volume group من انشاء وحذف وتوسيع وتصغير واعاده تسميه وعرض وووو

    طبعا vgcreate للإنشاء ..

    xenvg هو اسم ال volume group الي حنعملها .. ويميكن تسميتها بأي اسم vg0 , vgxen براحتكم ..

    وبعدها ياتي مسار الباتشين الي هو اصلا من نوع LVM .. وهو في مثالنا /dev/sda4

    ويمكن ان يكون ايضا ..

    كود PHP:
    /dev/sdb1
    يعني حسب الحاله لديك ..

    طبعا يمكن ايضا ان يكون الأمر كالتالي

    كود PHP:
    vgcreate xenvg /dev/sda4  /dev/sdb1 
    سينشىء ال volume group على الإثنين .. ويمكن اضافه الآخر لاحقا ايضا بإستخدام الامر vgextend


    اهم نقطه في هذا الموضوع انتهت .. وهي مشكلة كبيرة للكثيرين عند بدايه استخدام هذا النظام ..

    بشكل شخصي لم اكن استوعب لماذا لا اقوم بانشاء lv جديد ..

    حيث كان السبب ان النظام يتطلب Volume group مع مساحه Unallocated

    وهذا يعني ان لا تقوم بانشاء lv عليها ..



    ماذا بعد ذلك ؟؟

    فقط تنصيب اللوحة HyperVM وستقوم بنفسها بالكشف عن ال vg واضافتها الى الإعدادات لديها .. وستقوم بإنشاء اول VPS بشكل طبيعي ..

    هل انت متاكد من هذا ؟؟

    واجهت الكثير من المشاكل في عمليه التنصيب بعد هذه الخطوة ..

    نعم صحيح .. وسأجيب على هذا في القسم الأخير بإذن الله من هذه السلسله .. وهي عن تنصيب اللوحة ونواه Xen وحل المشاكل التي ستواجهك خلال الإنشاء لل VPS ..


    اعذروني على اي خطأ واي استفسار بإذن الله انا جاهز .. :santa_1:

    بالتوفيق للجميع ..
    سلام عليكم​

مشاركة هذه الصفحة