المقدمة
الـ Linux Administration بيختص بإدارة وتشغيل نظام التشغيل Linux. النظام ده يعتبر من أكتر الأنظمة قوة ومرونة وكمان مفتوح المصدر، يعني أي حد يقدر يطوره ويعدل فيه.
في شغل الـ Linux Admin، بتكون مسئول عن تشغيل السيرفرات وحمايتها، إدارة المستخدمين والصلاحيات بتاعتهم، وكمان متابعة الأداء بتاع النظام وتحديثه بانتظام. بتتعامل مع حاجات زي إعداد الشبكات، إدارة قواعد البيانات، تشغيل التطبيقات، وأتمتة العمليات باستخدام السكربتات.
وفي السلسلة دي هشارك معاكوا بعض الملحوظات والـ Notes المرتبطة بالـ Linux Administration.
Logical Volume Management (LVM)
بيبقي عندك 2disk او 2partitions بتعملهم volume group عشان اقدر استخدم ال LVM
| PV=Physical Volume |
|---|
| VG=Volume Group |
| LV=Logical Volume |
| PE=Physical Extent=4MB |
عشان اتعامل مع ال LVM لازم ال Disks يتحول الي pv

وعشان اتعامل مع ال 2pv كانهم حاجه واحده بحولهم ل VG

فلو PV1=50G وال PV2=50G فال VG=PV1+PV2=100G
بعد كدا التعامل هيكون مع ال LV
[root@mostafa ~] pvcreate /dev/sda /dev/sdb /dev/sdcكدا بعمل ال PV لعدد 3 disks
[root@mostafa ~] pvsكدا بعرض ال pv ال عندي
[root@mostafa ~] pvdisplay /dev/sdaبشوف معلومات ال PV الخاص ب disk معين
[root@mostafa ~] vgcreate data /dev/sdb /dev/sdcبcreate ال VG ب 2disk
[root@mostafa ~] vgsبعرض معلومات ال VG ال عندي
[root@mostafa ~] pvdisplay dataبعرض معلومات عن ال VG ال اسمها data
[root@mostafa ~] lvcreate -l 1000 -n lv0 dataكدا بعمل create لل LV
هنا بعمل lv ال size بتاعه هيكون 1000m
الـ -n هيكون اسمها أي ؟ وانا هنا سميته lv0
وهعمله من ال VG ال اسمها data
[root@mostafa ~] lvsبعرض ال lv ال عندي
[root@mostafa ~] lvdisplayهنا بيجبلي list فيها معلومات اكتر عن ال lv
[root@mostafa ~] mkfs.xfs /dev/data/lv0هنا بعمل format لل lv ال اسمه lv0 من ال vg ال اسمها data
[root@mostafa ~] lvextend -L +5G /dev/data/lv0هنا بزود مساحه ال lv ال اسمه lv0 ال في vg ال اسمها data بمقدار 5G ولازم بعدها تعمل update لل file system
[root@mostafa ~] xfs_growfs /lv0-data/هنا بعمل update لل file system الي داخل المسار دا /lv0-data
لو عندك LV مثلا مساحته 50G وحصله مشكله ومحتاج الداتا ال عليه ؟ كل ال هتعمله هتوفر زيهم 50G يكونوا free وبعدها اعمل الامر دا pvmove /dev/sdc كدا هطلع ال sdc ال هو حصل مثلا فيه المشكله هخرجه من ال VG وبعدين ابدا ادخل ال disk الجديد مكانه
[root@mostafa ~] lvextend -L -3G /dev/data/lv0كدا بحذف 3G من ال lv ال اسمه lv0 ال ف vg ال اسمها data وبرضو لازم تعمل update file system
[root@mostafa ~] vgextend data dev/sdaكدا بنقل ال VG ال اسمها data الي /dev/sda ودا مثلا ال disk الجديد ال هستخدمه مكان ال disk ال حصله مشكله
[root@mostafa ~] pvmove /dev/sdcكدا بعمل move لل disk ال اسمه sdc
[root@mostafa ~] vgreduce data /dev/sdcبحذف ال disk ال اسمه sdc من ال VG ال اسمها data
[root@mostafa ~] pvremove /dev/sdcكدا بحذف ال disk ال اسمه sdc من ال PV
Stratis Storage
هي عبارة عن pool بيتم انشاءها بتتكون disk او اكتر ومن خلالها بعمل create لل file system وياخد الحجم بتاعه بشكل تلقائي من ال pool

يعني اكتر من ال pool الواحده اكتر من file system
[root@mostafa ~] dnf install stratis-cli stratisd
بعمل install لل stratis وبعملها enable
[root@mostafa ~] stratis pool create pool1 /dev/sdd /dev/sdeبعمل pool جديده اسمها pool1 مكونه من 2disks
[root@mostafa ~] stratis pool add-data pool1 /dev/sdcبقوله ضيف ال disk ال اسمه sdc الي ال pool ال اسمها pool1
[root@mostafa ~] stratis blockdev listبعمل list بال block device ال بيتكون منها ال pool بمعني اني ال disds دي ال موجودة في ال pool
[root@mostafa ~] stratis filesystem create pool1 fs1كدا بنشأ file system اسمه fs1 من ال pool ال اسمها pool1
[root@mostafa ~] stratis filesystem listبعرض list بال fs ال عندي
[root@mostafa ~] mkdir /mountpooltest
[root@mostafa ~] mount /dev/ stratis/pool1/fs1/mountpooltestبعمل mount لل fs دا ف ال dir اسمه mountpooltest
[root@test mountpooltest] du -hs *الامر دا بيعرضلي ال file بالحجم بتاعها

x-system.requires=stratisd.serviceلازم اعملها ف ال fstab عشان ال pool تشتغل معايا لو عملت reboot للجهاز
[root@mostafa ~] stratis filesystem snapshot pool1 fs1 snapshot1باخذ snapshot

الإفادة من ال stratis هو موضوع ال Thin Provisioning
Discussion