در این نوشته تلاش می شود تا نحوه کاهش فضای دیسک LVM بیان شود.

بعضی وقت ها ممکن که با مشکل پر شدن فضای پارتیشن روی دیسک LVM مواجه شویم، و تصمیم داشته باشیم تا فضایی را به گروه آن با کاهش فضای برخی دیسک های دیگر با استفاده از دستور lvreduce انجام دهیم

هشدار

قبل از انجام کاهش فضا دیسک LVM موارد زیر را حتما مد نظر قرار بدید. انجام این کار امکان بروز پیامدهای برگشت ناپذیر دارد.

۱- این نوشته فقط برای دیسک ها و پارتیشن هایی که با LVM پیاده سازی شده اند قابل انجام می باشد.

۲- هنگام کاهش فضای دیسک، اگر دقت کافی و لازم را نداشته باشیم، احتمال از دست رفتن بخشی یا کل اطلاعات ذخیره شده روی دیسک وجود دارد.

فرضیات مقاله

برای انجام این نوشته فرض بر این است که قصد داریم تا فضای پارتیشن /home را ۲گیگ کاهش بدیم

[root@cloud ~]# df -h /home/
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_cloud-LogVol00        12G   9.2G  1.9G  84%  /home

گام ها

برای انجام این مهم به ترتیب کارهای زیر باید انجام شوند:

گام۱: unmount پارتیشن

ابتدا باید فایل سیستم را unmount تا در حین انجام کوچک سازی با مشکل خواندن/نوشتن دیسک مواجه نشویم:

[root@cloud ~]# umount /home/

گام ۲: بررسی اشکالات پارتیشن

با اجرا دستور e2fsck می توان اشکالات احتمالی دیسک را بررسی و بعضا رفع نمود. با استفاده از گزینه -f این دستور را اجبار به بررسی و رفع اشکالات می کنیم.

[root@cloud ~]# e2fsck -f /dev/mapper/vg_cloud-LogVol00
e2fsck 1.41.12 (17-May-2010)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/mapper/vg_cloud-LogVol00: 12/770640 files (0.0% non-contiguous), 2446686/3084288 blocks

گام ۳: کاهش اندازه پارتیشن

در این نوشته گفتیم که فضا دیسک از ۱۲ گیگ باید به ۱۰گیگ کاهش پیدا کنه، به عبارت دیگری باید ۲گیگ کاسته شود:

[root@cloud ~]# resize2fs /dev/mapper/vg_cloud-LogVol00 10G
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/mapper/vg_cloud-LogVol00 to 2621440 (4k) blocks.
The filesystem on /dev/mapper/vg_cloud-LogVol00 is now 2621440 blocks long.

گام ۴: کاهش فضا دیسک LVM

حالا نوبت اجرای دستور lvreduce هست:

[root@cloud ~]# lvreduce -r -L 10G /dev/mapper/vg_cloud-LogVol00
WARNING: Reducing active logical volume to 10.00 GiB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce LogVol00? [y/n]: y
Reducing logical volume LogVol00 to 10.00 GiB
Logical volume LogVol00 successfully resized

در این دستور با گزینه -r عملا یکبار دیگه دستور resize2fs را اجرا می کنیم، همچنین با گزینه -L میزان فضای جدید را تعیین می کنیم

گام ۵: mount مجدد پارتیشن ها

در پایان پارتیشن /home مجدد mount کرده و آن را چک می کنیم.

[root@cloud ~]# mount /home/
[root@cloud ~]# df -h /home/
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_cloud-LogVol00     9.9G  9.2G  208M  98% /home

اکنون باید به فضای خالی گروه ۲گیگ اضافه شده و قابل اضافه شدن به دیگر دیسک ها می باشد.

منابع

برچسب ها: lvm linux partition disk