اطلاعیه

بستن
هنوز اطلاعیه ای در دست نیست.

آموزش پارتیشن بندی LVM یا Logical Volum Managment در لینوکس

بستن
X
 
  • فیلتر کردن
  • زمان
  • نمایش
Clear All
پست های جدید

    آموزش پارتیشن بندی LVM یا Logical Volum Managment در لینوکس

    در این آموزش قصد دارم به صورت خلاصه آموزش پارتیشن بندی هارد در لینوکس را با استفاده از lvm یا Logical Volum Managment آموزش بدم. البته شما میتوانید جهت مشاهده آموزش کامل پارتیشن بندی lvm در لینوکس (در 6 بخش مجزا) به این آموزش مراجعه کنید.

    آموزش پارتیشن بندی هارد با LVM (بخش اول)


    فرض کنید یک ماشین لینوکس روی ویرچوال نصب کردیم حالا از قسمت تنظیمات ویرچوال باکس دو عدد هارد دیگه بهش اختصاص میدیم.

    بعد از بالا اومدن لینوکس ، به منظور پارتیشن بندی هاردهای جدید به روش LVM :
    - اول باید هارد را به pv تقسیم کرد:pv --> phisical volume
    - که بعد از ساختن این pv ها آنها را باهم گروه کنیم: VG --> Volume Group
    - و سپس در این vg ها میتوان LV درست کرد یعنی بعد از ساخت vg آنرا به lv تبدیل میکنیم . LV --> Logical Volume
    که LV در واقع همان چیزی است که ما بعدا آنرا مانت میکنیم.

    ابتدا دو هارد زیر را به ترتیب پارتیشن بندی میکنیم.(تنها یک پارتیشن در هر کدام ایجاد میکنیم)
    کد PHP:
    dev /sdb/
    dev /sdc
    پارتیشنها را به روش زیر ایجاد میکنیم:
    کد PHP:

    root
    @linux-zone:~# fdisk /dev/sdb

    The number of cylinders for this disk is set to 10443.
    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): <-- n
    Command action
       e   extended
       p   primary partition (1-4)
    <-- p
    Partition number (1-4): <-- 1
    First cylinder (1-10443, default 1): <-- <ENTER>
    Using default value 1
    Last cylinder or +size or +sizeM or +sizeK (1-10443, default 10443): <-- +25000M

    Command (m for help): <-- t
    Selected partition 1
    Hex code (type L to list codes): <-- L

     0  Empty           1e  Hidden W95 FAT1 80  Old Minix       be  Solaris boot
     1  FAT12           24  NEC DOS         81  Minix / old Lin bf  Solaris
     2  XENIX root      39  Plan 9          82  Linux swap / So c1  DRDOS/sec (FAT-
     3  XENIX usr       3c  PartitionMagic  83  Linux           c4  DRDOS/sec (FAT-
     4  FAT16 <32M      40  Venix 80286     84  OS/2 hidden C:  c6  DRDOS/sec (FAT-
     5  Extended        41  PPC PReP Boot   85  Linux extended  c7  Syrinx
     6  FAT16           42  SFS             86  NTFS volume set da  Non-FS data
     7  HPFS/NTFS       4d  QNX4.x          87  NTFS volume set db  CP/M / CTOS / .
     8  AIX             4e  QNX4.x 2nd part 88  Linux plaintext de  Dell Utility
     9  AIX bootable    4f  QNX4.x 3rd part 8e  Linux LVM       df  BootIt
     a  OS/2 Boot Manag 50  OnTrack DM      93  Amoeba          e1  DOS access
     b  W95 FAT32       51  OnTrack DM6 Aux 94  Amoeba BBT      e3  DOS R/O
     c  W95 FAT32 (LBA) 52  CP/M            9f  BSD/OS          e4  SpeedStor
     e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a0  IBM Thinkpad hi eb  BeOS fs
     f  W95 Ext'
    (LBA54  OnTrackDM6      a5  FreeBSD         ee  EFI GPT
    10  OPUS            55  EZ
    -Drive        a6  OpenBSD         ef  EFI (FAT-12/16/
    11  Hidden FAT12    56  Golden Bow      a7  NeXTSTEP        f0  Linux/PA-RISC b
    12  Compaq diagnost 5c  Priam Edisk     a8  Darwin UFS      f1  SpeedStor
    14  Hidden FAT16 
    <3 61  SpeedStor       a9  NetBSD          f4  SpeedStor
    16  Hidden FAT16    63  GNU HURD 
    or Sys ab  Darwin boot     f2  DOS secondary
    17  Hidden HPFS
    /NTF 64  Novell Netware  b7  BSDI fs         fd  Linux raid auto
    18  AST SmartSleep  65  Novell Netware  b8  BSDI swap       fe  LANstep
    1b  Hidden W95 FAT3 70  DiskSecure Mult bb  Boot Wizard hid ff  BBT
    1c  Hidden W95 FAT3 75  PC
    /IX
    Hex code 
    (type L to list codes): <-- 8e
    Changed system type of partition 1 to 8e 
    (Linux LVM)

    Command (for help): <-- w
    The partition table has been altered
    !

    Calling ioctl() to re-read partition table.
    Syncing disks.
    root@linux-zone:~ 
    و به همین صورت هم هارد دیگر را نیز پارتیشن بندی میکنیم.

    نکته : نوع این پارتیشن(Hex Code) باید linux LVM باشد(8e) که در مراحل پارتیشن بندی انتخاب میشود.

    بعد از پارتیشن بندی هر دو هارد:
    - پارتیشن dev /sdb1/ را یک pv میکنیم
    - و پارتیشن dev /sdc1/ را هم یک pv دیگر میکنیم

    خوبی این مکانیزم این است که اگر یک هارد جدید اضافه کردیم میتوانیم به راحتی پارتیشن اصلی مان را extend کنیم (سایز آنرا افزایش دهیم).

    ابتدا باید lvm را نصب کنیم:
    کد PHP:
    apt-get install lvm2 
    با دستور زیر pv میسازیم:
    کد PHP:
    pvcreate /dev/sdb1
    pvcreate 
    /dev/sdc1 
    و سپس ایجاد vg :
    کد PHP:
    vgcreate filesrv /dev/sdb1 /dev/sdc1 
    نکته: filesrv در حقیقت یک نام برای این گروه است که شما میتوانید هر نام دیگری که میخواهید استفاده کنید که باید این نام منحصربفرد باشد.

    برای اطمینان از ایجاد صحیح lv، vg، pv می توانید از دستورات زیر استفاده کنید:
    کد PHP:
    pvdisplay ---> دستوری که تمام اطلاعات پی وی ها را در ال وی ام به ما نمایش میدهد
    vgdisplay 
    ---> دستوری که تمام اطلاعات وی جی ها را در ال وی ام به ما نمایش میدهد
    lvdisplay 
    ---> دستوری که لیست ال وی ها را نمایش میدهد 
    و برای ساخت LV یا همان پارتیشن ها :
    کد PHP:

    lvcreate 
    --name backup --size 3G filesrv
    lvcreate 
    --nane music --size 2G filesrv
    lvcreate 
    --name apps --size 2G filesrv 
    در اینجا سه پارتیشن با نام های زیر میسازیم:
    backup , music , apps


    بعد از مراحل بالا باید پارتیشن ها را فرمت کنیم. قبل از آن باید با استفاده از دستورات زیر پارتیشن های lvm ی را بررسی کنیم و نام هر کدام را برای فرمت کردن پیدا کنیم که مثلا پارتیشن apps همان dev/dm-0/ می باشد :
    کد PHP:
    ls -/dev/dm*
    ls -/dev/filesrv/
    ls -/dev/mapper/filesrv-* 
    و اکنون برای فرمت پارتیشن:
    کد PHP:
    mkfs.ext2 /dev/dm-0
    mkfs
    .ext2 /dev/dm-1
    mkfs
    .ext2 /dev/dm-

    در پایان کافیست پارتیشن ها رو مانت کنید.




    با آرزوی موفقیت روز افزون
    فایل های پیوست شده
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 12-19-2020, 07:44 PM.
    Instagram : https://www.instagram.com/iranlinuxforum

    Voip Trainer - Asterisk - Elastix - Agi Programming- NewRock

    Voip Expert :ASTERISK-ELASTIX-NewRock Certified-With Experience of Working With
    Sangoma-Digium-Openvox-Synway-Atcom-Quintum Tenor-Polycom-Yealink-Rtx-Snom
    Cisco Collaboration - CME-CUCM-CUPs-CUC-WEBEX
    LPI ( Fundamental - LPI1 and LPI2 ) - Monitoring: ZABBIX-VOIPMONITOR-NAGIOS - CCNA

    Linkedin Profile : https://www.linkedin.com/in/masuma-vahid-26b17b66/

    #2
    تغییر سایز پارتیشن lvm

    دقت کنید قبل از تغییر سایز پارتیشن باید آنرا unmount کنید.(نباید مانت باشد)

    در آموزش بالا ما از دو هارد (که جمعا ۲۰ گیگ فضا داشتند) یک گروه کل lvm ساختیم به نام filesrv که 20 گیگ حجم دارد:
    - ۳گیگ برای پارتیشن backup
    - ۲گیگ پارتیشن موزیک
    - ۲گیگ پارتیشن apps

    پس در حال حاضر ۱۳ گیگ فضای آزاد داریم.فرض کنید میخواهیم فضای پارتیشن backup را 5گیگ افزایش دهیم:

    --- افزایش فضای یک پارتیشن lvm :
    کد PHP:
    lvextend -L+5G /dev/mapper/filesrv-backup 

    با دستور بالا ۵گیگ از فضای آزاد کسر و به پارتیشن backup اضافه میشود و فضای آن به ۸گیک تغییر میکند.


    اگر بخواهیم کل فضای آزاد رو به پارتیشن اضافه کنیم (تا ته فضای آزاد):
    کد PHP:
    resize2fs /dev/mapper/filesrv-backup 
    با دستور بالا ما تمام فضای آزاد رو به پارتیشن backup اضافه کردیم و سایز آن به 16 گیگ تغییر یافت.


    فرض کنید میخواهیم به پارتیشن music هم ۲گیگ اضافه کنیم
    خوب طبیعتا باید از پارتیشن backup دو گیگ کم کنیم و به music اضافه کنیم:

    --- کم کردن فضای یک پارتیشن lvm :
    کد PHP:
    lvreduce -L2G /dev/filesrv/backup 



    در حال حاضر این ۲گیگ جز فضای آزاد هست و می توانیم آنرا به music اضافه میکنیم :
    کد PHP:
    lvextend -L+۲G /dev/mapper/filesrv-music 

    حالا فرض کنید نیاز دارید که ۱گیگ به پارتیشن apps اضافه کنید ولی نمیتوانیم از پارتیشن دیگه کم کنیم. اینجا نیاز داریم که مثلا یکی از پارتیشن های لینوکسی مان رو مثلا sda2 را به فضای اصلی lvm و در حقیقت به vg مان اضافه کنیم:

    --- افزودن فضای به Volume Group
    کد PHP:
    vgextend filesrv /dev/sda2 


    نکته -- دقت کنید نوع پارتیشن sda2 باید Linux LVM باشد.(8e)

    برای تغییر سیستم پارتیشن همانند زیر عمل کنید:
    کد PHP:
    root@linux-zone:~# fdisk /dev/sda2

    The number of cylinders for this disk is set to 10443.
    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): <-- t
    Selected partition 1
    Hex code (type L to list codes): <-- L

     0  Empty           1e  Hidden W95 FAT1 80  Old Minix       be  Solaris boot
     1  FAT12           24  NEC DOS         81  Minix / old Lin bf  Solaris
     2  XENIX root      39  Plan 9          82  Linux swap / So c1  DRDOS/sec (FAT-
     3  XENIX usr       3c  PartitionMagic  83  Linux           c4  DRDOS/sec (FAT-
     4  FAT16 <32M      40  Venix 80286     84  OS/2 hidden C:  c6  DRDOS/sec (FAT-
     5  Extended        41  PPC PReP Boot   85  Linux extended  c7  Syrinx
     6  FAT16           42  SFS             86  NTFS volume set da  Non-FS data
     7  HPFS/NTFS       4d  QNX4.x          87  NTFS volume set db  CP/M / CTOS / .
     8  AIX             4e  QNX4.x 2nd part 88  Linux plaintext de  Dell Utility
     9  AIX bootable    4f  QNX4.x 3rd part 8e  Linux LVM       df  BootIt
     a  OS/2 Boot Manag 50  OnTrack DM      93  Amoeba          e1  DOS access
     b  W95 FAT32       51  OnTrack DM6 Aux 94  Amoeba BBT      e3  DOS R/O
     c  W95 FAT32 (LBA) 52  CP/M            9f  BSD/OS          e4  SpeedStor
     e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a0  IBM Thinkpad hi eb  BeOS fs
     f  W95 Ext'
    (LBA54  OnTrackDM6      a5  FreeBSD         ee  EFI GPT
    10  OPUS            55  EZ
    -Drive        a6  OpenBSD         ef  EFI (FAT-12/16/
    11  Hidden FAT12    56  Golden Bow      a7  NeXTSTEP        f0  Linux/PA-RISC b
    12  Compaq diagnost 5c  Priam Edisk     a8  Darwin UFS      f1  SpeedStor
    14  Hidden FAT16 
    <3 61  SpeedStor       a9  NetBSD          f4  SpeedStor
    16  Hidden FAT16    63  GNU HURD 
    or Sys ab  Darwin boot     f2  DOS secondary
    17  Hidden HPFS
    /NTF 64  Novell Netware  b7  BSDI fs         fd  Linux raid auto
    18  AST SmartSleep  65  Novell Netware  b8  BSDI swap       fe  LANstep
    1b  Hidden W95 FAT3 70  DiskSecure Mult bb  Boot Wizard hid ff  BBT
    1c  Hidden W95 FAT3 75  PC
    /IX
    Hex code 
    (type L to list codes): <-- 8e
    Changed system type of partition 1 to 8e 
    (Linux LVM)

    Command (for help): <-- w
    The partition table has been altered
    !

    Calling ioctl() to re-read partition table.
    Syncing disks.
    root@linux-zone:~ 
    فرض کنید فضای این پارتیشن sda2 حدود 5گیگ باشد که با زدن دستور vgextend این ۵گیگ فضا به فضای کل lvm مان اضافه شده و میتوانیم ۱گیگ آنرا به پارتیشن apps بدهیم:
    کد PHP:
    lvextend -L+۲G /dev/mapper/filesrv-apps 

    سایت مرجع :
    کد:
    http://linuxconfig.org/linux-lvm-logical-volume-manager
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 11-01-2021, 02:16 PM.
    Instagram : https://www.instagram.com/iranlinuxforum

    Voip Trainer - Asterisk - Elastix - Agi Programming- NewRock

    Voip Expert :ASTERISK-ELASTIX-NewRock Certified-With Experience of Working With
    Sangoma-Digium-Openvox-Synway-Atcom-Quintum Tenor-Polycom-Yealink-Rtx-Snom
    Cisco Collaboration - CME-CUCM-CUPs-CUC-WEBEX
    LPI ( Fundamental - LPI1 and LPI2 ) - Monitoring: ZABBIX-VOIPMONITOR-NAGIOS - CCNA

    Linkedin Profile : https://www.linkedin.com/in/masuma-vahid-26b17b66/

    کامنت


      #3
      حذف یک پارتیشن Lvm

      و در نهایت اگر بخواهیم یک پارتیشن lvmی را حذف کنید باید از دستور زیر استفاده نمایید:
      کد PHP:
      lvremove /dev/mapper/filesrv-apps 

      دقت کنید که با حذف این پارتیشن ، فضای آن به فضای آزاد lvm اضافه میشود.
      آخرین ویرایش توسط masome vahid; در تاریخ/ساعت 01-15-2017, 01:13 PM.
      Instagram : https://www.instagram.com/iranlinuxforum

      Voip Trainer - Asterisk - Elastix - Agi Programming- NewRock

      Voip Expert :ASTERISK-ELASTIX-NewRock Certified-With Experience of Working With
      Sangoma-Digium-Openvox-Synway-Atcom-Quintum Tenor-Polycom-Yealink-Rtx-Snom
      Cisco Collaboration - CME-CUCM-CUPs-CUC-WEBEX
      LPI ( Fundamental - LPI1 and LPI2 ) - Monitoring: ZABBIX-VOIPMONITOR-NAGIOS - CCNA

      Linkedin Profile : https://www.linkedin.com/in/masuma-vahid-26b17b66/

      کامنت

      درباره انجمن منطقه لینوکسی ها

      انجمن منطقه لینوکسی ها با هدف ارتقاء سطح علمی کاربران در سطح جهانی و همچنین کمک به بالا بردن سطح علمی عمومی در زمینه های تخصصی فوق پایه گذاری شده است. انجمن منطقه لینوکسی ها از طریق کارشناسان و متخصصان پاسخگوی سوالات گوناگون کاربران مبتدی یا پیشرفته میباشد تا حد امکان تلاش شده که محیطی متنوع و کاربر پسند و به دور از هرگونه حاشیه جهت فعالیت کاربران در این انجمن ایجاد شود. لذا ما به صورت مستمر برای پیشرفت کمی و کیفی محتوی و اطلاعات انجمنمان میکوشیم که این برای ما ارزشمند و حائز اهمیت است. کلیه حقوق،اطلاعات و مقالات در این انجمن متعلق به سایت منطقه لینوکسی ها میباشد، و هرگونه نسخه برداری بدون ذکر منبع مورد پیگرد قانونی خواهد شد.

      شبکه های اجتماعی
      در حال انجام ...
      X