در پست زیر نحوه ایجاد disk storage انعطاف پذیر با استفاده از LVM توضیح داده شده است. اینجا ما قصد داریم چگونگی افزایش volume group و همچنین افزایش و کاهش یک logical volume را توضیح خواهیم داد. در LVM یا Logical Volume Management میتوانیم فضای پارتیشن ها را افزایش یا کاهش دهیم. به همین دلیل فایل سیستم انعطاف پذیر نامیده میشود.
پیش نیاز :
ساخت Disk Storage با استفاده از LVM که در پست شماره یک توضیح داده شده است.
بخش اول : آموزش کامل پارتیشن بندی لینوکس با LVM
چه زمانی ما نیاز داریم که فضای پارتیشن را کم کنیم؟
امکان دارد ما نیاز داشته باشیم که پارتیشن مجزایی برای هر استفاده دیگری ایجاد کنیم و یا حتی نیاز به افزایش اندازه یک پارتیشن با فضای کم داشته باشیم. در چنین مواردی میتوانیم پارتیشن با فضای زیاد را کاهش دهیم و به آسانی به پارتیشن فضای کم اضافه کنیم. این امر تنها با مراحل آسان زیر صورت میپذیرد.
تجهیزات – تنظیمات سرور من :
سیستم عامل CentOS 6.5 با نصب LVM
IP Address سرور : 192.168.0.200
چگونگی افزایش volume group و کاهش logical volume
افزایش logical volume :
در حال حاضر ما یک PV و یک عدد VG و 2 عدد LV داریم. آنها را یک به یک با استفاده از دستورات زیر لیست میکنیم :
فضای آزادی در physical volume و volume group موجود نمیباشد. در نتیجه در حال حاضر ما نمیتوانیم سایز LVM را افزایش دهیم و برای افزایش ما نیاز داریم که یک physical volume یا PV اضافه کنیم و سپس ما میتوانیم volume group را با افزایش VG زیاد کنیم و فضای کافی برای افزایش Logical Volume به دست خواهیم اورد. در نتیجه اول قصد داریم یک physical volume اضافه کنیم.
برای اضافه کردن یک PV جدید باید از دستور fdisk برای ایجاد پارتیشن LVM استفاده کنیم :
توضیحات دستورات بالا :
- انتخاب n برای ایجاد پارتیشن جدید
- انتخاب p برای ایجاد یک primery partition
- انتخاب تعداد پارتیشن هایی که ما میخواهیم ایجاد کنیم.
- فشار دادن 2 بار enter برای استفاده از فضای کامل دیسک
- نیاز داریم که type پارتیشن ایجاد شده جدید را تغییر دهیم که برای این منظور t را تایپ میکنیم.
- کدام پارتیشن را باید تغییر دهیم شماره پارتیشنی که ایجاد کردیم را انتخاب میکنیم که در اینجا 1 میباشد.
- در اینجا باید type پارتیشن را تغییر دهیم. ما نیاز داریم lvm ایجاد کنیم در نتیجه باید type code lvm را استفاده کنیم که 8e میباشد. اگر type code را نمیدانید L را فشار دهید تا تمام type codeها لیست شود.
- پارتیشنی که ما ساختیم را برای تایید print میکند. (اینجا ما این آپشن را استفاده نمیکنیم)
- در اینجا ما میتوانیم ID با عنوان 8e LINUX LVM را مشاهد کنیم.
- w را برای ذخیره کردن تغییرات و خارج شدن از fdisk وارد میکنیم.
بعد از تکیمل آن سیستم را restart میکنیم.
با استفاده از دستور fdisk پارتیشنی که ساختیم را لیست و چک میکنیم :
سپس با دستور زیر pv یا physical volume جدید ایجاد میکنیم :
بررسی pv با استفاده از دستور زیر صورت میگیرد :
افزایش volume group :
با دستور زیر این pv را به vg_linuxzone اضافه میکنیم تا سایز یک volume group را زیاد کنیم و بتوانیم فضای بیشتری به منظور افزایش LV مان به دست بیاوریم :
با دستور زیر سایز یک volume group در حال استفاده را بررسی میکنیم :
با استفاده از دستور pvscan میتوانیم ببینیم که کدام pv برای ایجاد volume group های منظم استفاده میشود :
در اینجا میتوانیم ببینیم کدام volume group ها تحت کدامین physical volume ها هستند.
ما تنها یک pv اضافه کردیم که کاملا آزاد است با استفاده از دستور زیر سایز هر logical volume را تنها قبل از افزایش آن میتوان بررسی و مشاهده کرد :
- lv_swap برای swap تعریف شده است.
- lv_root هم برای / (root) تعریف شده است.
- در حال حاضر 4.01 GB فضا برای / (root) داریم.
- در حال حاضر مقدار 1026 برای PE (physical Extend) موجود داریم.
اکنون قصد داریم که فضای پارتیشن root (/) یا lv_root را افزایش دهیم. بعد از افزایش میتوانیم پارتیشن با سایز جدید را مشاهده کنیم.
برای به دست آوردن سایز physical extend موجود دستور vgdisplay را اجرا میکنیم :
در اینجا مقدار PE آزاد برابر است با 5119، در نتیجه ما میتوانیم Logical volume خود را افزایش و تا 20 گیگ بایت افزایش دهیم :
استفاده از بعلاوه (+) فضای بیشتری را اضافه میکند، بعد از افزایش ما نیاز داریم که فایل سیستم را تغییر سایز دهیم :
- کامند برای افزایش logical volume با استفاده از physical extends استفاده شده است.
- ما میتوانیم ببینیم که از 4.51 GB به 24 GB افزایش یافته است.
- فایل سیستم را تغییر سایز میدهیم اگر mounte شده باشد و در حال حاضر مورد استفاده قرار گرفته باشد.
- برای افزایش logical volume نیاز به unmounted کردن فایل سیستم نیست.
با دستور lvdisplay اندازه تغییر یافته logical volume را خواهید دید :
- lv_root برای / (root) تعریف شده.
- بعد از افزایش فضا از 4.51 GB به 24 GB افزایش یافته.
- extende موجود قبل از افزایش 1026 بود که به آن 5119 اضافه کردیم که کلا 6145 شد.
اکنون اگر ما vg را چک کنیم pe آزاد موجود صفر (0) خواهد بود :
نتایج افزایش را با استفاده از دستورات زیر خواهید دید :
- physical volume جدید اضافه شده. (sdb1)
- volume group با نام vg_linuxzone از 4.51 GB به 24.50 GB افزایش یافت.
- logical volume با نام lv_root از 4.51 GB به 24.50 GB افزایش یافت.
اکنون میتوانیم پروسه افزایش volume group و logical volume را کامل کنیم. بخش جالبی از مدیریت logical volume را دنبال میکنیم.
کاهش logical volume :
اینجا قصد داریم نحوه کاهش فضای logical volume را بررسی کنیم. اکثرا میگویند این کار خطرناک و ممکن است زمانی که lvm را کاهش میدهیم، با بروز یک فاجعه روبه رو شویم.
- کاهش lvm از هر بخشی از lvm جالب تر است قبل از شروع خوب است که از اطلاعات بک آپ بگیریم تا بعد از آن عزای از دست رفتن اطلاعات مان را نگیریم.
- برای کاهش یک logical volume نیاز هست که 6 مرحله را با دقت انجام دهیم.
- برای افزایش یک volume نیاز نیست که آن را unmount کنیم اما برای کاهش آن حتما باید قبل از عملیات فایل سیستم را unmount کنیم.
6 مرحله مورد نظر به شرح زیر میباشد :
- unmount فایل سیستم برای کم کردن
- چک کردن فایل سیستم بعد از unmount
- کاهش فایل سیستم
- کاهش سایز logical volume
- دوباره چک کردن فایل سیستم برای هر گونه error
- mount کردن فایل سیستم
برای نمایش بهتر من volume group و logical volume مجزا ایجاد کردم. اینجا میخواهم logical volume با نام downloads را کاهش سایز دهیم. سایز آن 20GB است ما میخواهیم آن را بدون از دست دادن اطلاعات کم کنیم تا فقط 12GB از آن بماند. یعنی ما میخواهیم 8GB از 20GB را کم کنیم. در حال حاضر 4 GB اطلاعات در volume موجود است :
ما نیاز داریم تنها 8GB کم کنیم و بعد از آن تنها 12GB باقی خواهد ماند :
در اینجا میتوانیم اطلاعات فایل سیستم را مشاهده کنید :
- سایز volume برابر است با 20GB
- بالغ بر 4.4GB از آن استفاده شد.
- 15GB فضای آزاد موجود است.
ابتدا آن را unmout میکنیم :
سپس فایل سیستم را چک میکنیم تا error نداشته باشد :
توجه : دقت کنید که حتما چک فایل سیستم را در طول این 5 مرحله انجام دهید زیرا در صورت وجود error در فایل سیستم تان با مشکل روبه رو خواهید شد.
سپس کم کردن file system را با دستور زیر انجام دهید :
مرحله بعد کاهش فایل سیستم میباشد :
در این مرحله logical volume را با استفاده از سایز GB کاهش میدهیم :
برای کاهش logical volume با استفاده از سایز PE ما باید سایز PE پیش فرض و سایز کل PE از یک volume group را بدانیم تا محاسبه کوچکی روی سایز صحیحی که میخواهیم کاهش دهیم داشته باشیم :
اینجا ما نیاز داریم که محاسبات کمی برای به دست آوردن سایز PE از 10GB را با استفاده از دستور bc انجام دهیم :
کلید های CRTL+D را برای خروج از محیط bc فشار دهید.
کاهش سایز با استفاده از PE :
در این مرحله فایل سیستم را تغییر سایز میدهیم و اگر هر error باشد بدین معناست که فایل سیستم مان به هم ریخته است :
در این مرحله فایل سیستم را به mount point قبلی آن mount میکنیم :
اینجا سایز پارتیشن و فایل ها را چک میکنیم، ما میتوانیم نتیجه نهایی را مشاهده کنیم همانطور که میبینید logical volume به 10 GB کاهش یافته است :
در این مقاله دیدیم که چگونه volume group و logical group را افزایش دهیم همچنین logical volume را کاهش دهیم. سعی میکنیم مطالب بیشتری در مورد مبحث LVM در انجمن قرار بدیم. با ما در ارتباط بمانید ....
موفق باشید
محمد هابیلی
پیش نیاز :
ساخت Disk Storage با استفاده از LVM که در پست شماره یک توضیح داده شده است.
بخش اول : آموزش کامل پارتیشن بندی لینوکس با LVM
چه زمانی ما نیاز داریم که فضای پارتیشن را کم کنیم؟
امکان دارد ما نیاز داشته باشیم که پارتیشن مجزایی برای هر استفاده دیگری ایجاد کنیم و یا حتی نیاز به افزایش اندازه یک پارتیشن با فضای کم داشته باشیم. در چنین مواردی میتوانیم پارتیشن با فضای زیاد را کاهش دهیم و به آسانی به پارتیشن فضای کم اضافه کنیم. این امر تنها با مراحل آسان زیر صورت میپذیرد.
تجهیزات – تنظیمات سرور من :
سیستم عامل CentOS 6.5 با نصب LVM
IP Address سرور : 192.168.0.200
چگونگی افزایش volume group و کاهش logical volume
افزایش logical volume :
در حال حاضر ما یک PV و یک عدد VG و 2 عدد LV داریم. آنها را یک به یک با استفاده از دستورات زیر لیست میکنیم :
کد PHP:
# pvs # vgs # lvs
کد PHP:
[root@linux-zone ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 vg_linuxzone lvm2 a-- 4.51g 0
[root@linux-zone ~]#
[root@linux-zone ~]#
[root@linux-zone ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg_linuxzone 1 2 0 wz--n- 4.51g 0
[root@linux-zone ~]#
[root@linux-zone ~]#
[root@linux-zone ~]# lvs
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
lv_root vg_linuxzone -wi-ao---- 4.01g
lv_swap vg_linuxzone -wi-ao---- 512.00m
برای اضافه کردن یک PV جدید باید از دستور fdisk برای ایجاد پارتیشن LVM استفاده کنیم :
کد PHP:
# fdisk -cu /dev/sdb
کد PHP:
[root@linux-zone ~]# fdisk -cu /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x20fbba6d.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First sector (2048-41943039, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039):
Using default value 41943039
Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 8e
Changed system type of partition 1 to 8e (Linux LVM)
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
- انتخاب n برای ایجاد پارتیشن جدید
- انتخاب p برای ایجاد یک primery partition
- انتخاب تعداد پارتیشن هایی که ما میخواهیم ایجاد کنیم.
- فشار دادن 2 بار enter برای استفاده از فضای کامل دیسک
- نیاز داریم که type پارتیشن ایجاد شده جدید را تغییر دهیم که برای این منظور t را تایپ میکنیم.
- کدام پارتیشن را باید تغییر دهیم شماره پارتیشنی که ایجاد کردیم را انتخاب میکنیم که در اینجا 1 میباشد.
- در اینجا باید type پارتیشن را تغییر دهیم. ما نیاز داریم lvm ایجاد کنیم در نتیجه باید type code lvm را استفاده کنیم که 8e میباشد. اگر type code را نمیدانید L را فشار دهید تا تمام type codeها لیست شود.
- پارتیشنی که ما ساختیم را برای تایید print میکند. (اینجا ما این آپشن را استفاده نمیکنیم)
- در اینجا ما میتوانیم ID با عنوان 8e LINUX LVM را مشاهد کنیم.
- w را برای ذخیره کردن تغییرات و خارج شدن از fdisk وارد میکنیم.
بعد از تکیمل آن سیستم را restart میکنیم.
با استفاده از دستور fdisk پارتیشنی که ساختیم را لیست و چک میکنیم :
کد PHP:
[root@linux-zone ~]# fdisk -l /dev/sdb
Disk /dev/sdb: 21.5 GB, 21474836480 bytes
213 heads, 34 sectors/track, 5791 cylinders
Units = cylinders of 7242 * 512 = 3707904 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x20fbba6d
Device Boot Start End Blocks Id System
/dev/sdb1 1 5792 20970496 8e Linux LVM
کد PHP:
[root@linux-zone ~]# pvcreate /dev/sdb1
dev_is_mpath: failed to get device for 8:17
Physical volume "/dev/sdb1" successfully created
کد PHP:
[root@linux-zone ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 vg_linuxzone lvm2 a-- 4.51g 0
/dev/sdb1 lvm2 a-- 20.00g 20.00g
افزایش volume group :
با دستور زیر این pv را به vg_linuxzone اضافه میکنیم تا سایز یک volume group را زیاد کنیم و بتوانیم فضای بیشتری به منظور افزایش LV مان به دست بیاوریم :
کد PHP:
# vgextend vg_linuxzone /dev/sdb1
کد PHP:
[root@linux-zone ~]# vgextend vg_linuxzone /dev/sdb1
Volume group "vg_linuxzone" successfully extended
کد PHP:
[root@linux-zone ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg_linuxzone 2 2 0 wz--n- 24.50g 20.00g
کد PHP:
[root@linux-zone ~]# pvscan
PV /dev/sda2 VG vg_linuxzone lvm2 [4.51 GiB / 0 free]
PV /dev/sdb1 VG vg_linuxzone lvm2 [20.00 GiB / 20.00 GiB free]
Total: 2 [24.50 GiB] / in use: 2 [24.50 GiB] / in no VG: 0 [0 ]
ما تنها یک pv اضافه کردیم که کاملا آزاد است با استفاده از دستور زیر سایز هر logical volume را تنها قبل از افزایش آن میتوان بررسی و مشاهده کرد :
کد PHP:
[root@linux-zone ~]# lvdisplay
--- Logical volume ---
LV Path /dev/vg_linuxzone/lv_root
LV Name lv_root
VG Name vg_linuxzone
LV UUID VzeVM8-xPoC-TEVG-b6Az-WeDb-nuAg-gYcFNK
LV Write Access read/write
LV Creation host, time linux-zone.org, 2016-09-10 02:08:47 -0400
LV Status available
# open 1
LV Size 4.01 GiB
Current LE 1026
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0
--- Logical volume ---
LV Path /dev/vg_linuxzone/lv_swap
LV Name lv_swap
VG Name vg_linuxzone
LV UUID 8GBzeq-UoO4-F2VA-0kaR-07sL-sa6h-dm93M5
LV Write Access read/write
LV Creation host, time linux-zone.org, 2016-09-10 02:08:48 -0400
LV Status available
# open 1
LV Size 512.00 MiB
Current LE 128
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:1
- lv_root هم برای / (root) تعریف شده است.
- در حال حاضر 4.01 GB فضا برای / (root) داریم.
- در حال حاضر مقدار 1026 برای PE (physical Extend) موجود داریم.
اکنون قصد داریم که فضای پارتیشن root (/) یا lv_root را افزایش دهیم. بعد از افزایش میتوانیم پارتیشن با سایز جدید را مشاهده کنیم.
برای به دست آوردن سایز physical extend موجود دستور vgdisplay را اجرا میکنیم :
کد PHP:
[root@linux-zone ~]# vgdisplay
--- Volume group ---
VG Name vg_linuxzone
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 2
Act PV 2
VG Size 24.50 GiB
PE Size 4.00 MiB
Total PE 6273
Alloc PE / Size 1154 / 4.51 GiB
Free PE / Size 5119 / 20.00 GiB
VG UUID tX6XrR-9riz-tGgm-DZHe-nyrZ-jS9g-Ae8jzg
کد PHP:
[root@linux-zone ~]# lvextend -l +5119 /dev/vg_linuxzone/lv_root
Extending logical volume lv_root to 24.00 GiB
Logical volume lv_root successfully resized
کد PHP:
[root@linux-zone ~]# resize2fs /dev/vg_linuxzone/lv_root
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/vg_linuxzone/lv_root is mounted on /; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 2
Performing an on-line resize of /dev/vg_linuxzone/lv_root to 6292480 (4k) blocks.
The filesystem on /dev/vg_linuxzone/lv_root is now 6292480 blocks long.
- ما میتوانیم ببینیم که از 4.51 GB به 24 GB افزایش یافته است.
- فایل سیستم را تغییر سایز میدهیم اگر mounte شده باشد و در حال حاضر مورد استفاده قرار گرفته باشد.
- برای افزایش logical volume نیاز به unmounted کردن فایل سیستم نیست.
با دستور lvdisplay اندازه تغییر یافته logical volume را خواهید دید :
کد PHP:
[root@linux-zone ~]# lvdisplay
--- Logical volume ---
LV Path /dev/vg_linuxzone/lv_root
LV Name lv_root
VG Name vg_linuxzone
LV UUID VzeVM8-xPoC-TEVG-b6Az-WeDb-nuAg-gYcFNK
LV Write Access read/write
LV Creation host, time linux-zone.org, 2016-09-10 02:08:47 -0400
LV Status available
# open 1
LV Size 24.00 GiB
Current LE 6145
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0
--- Logical volume ---
LV Path /dev/vg_linuxzone/lv_swap
LV Name lv_swap
VG Name vg_linuxzone
LV UUID 8GBzeq-UoO4-F2VA-0kaR-07sL-sa6h-dm93M5
LV Write Access read/write
LV Creation host, time linux-zone.org, 2016-09-10 02:08:48 -0400
LV Status available
# open 1
LV Size 512.00 MiB
Current LE 128
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:1
- بعد از افزایش فضا از 4.51 GB به 24 GB افزایش یافته.
- extende موجود قبل از افزایش 1026 بود که به آن 5119 اضافه کردیم که کلا 6145 شد.
اکنون اگر ما vg را چک کنیم pe آزاد موجود صفر (0) خواهد بود :
کد PHP:
[root@linux-zone ~]# vgdisplay
--- Volume group ---
VG Name vg_linuxzone
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 5
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 2
Act PV 2
VG Size 24.50 GiB
PE Size 4.00 MiB
Total PE 6273
Alloc PE / Size 6273 / 24.50 GiB
Free PE / Size 0 / 0
VG UUID tX6XrR-9riz-tGgm-DZHe-nyrZ-jS9g-Ae8jzg
کد PHP:
# pvs
# vgs
# lvs
کد PHP:
[root@linux-zone ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 vg_linuxzone lvm2 a-- 4.51g 0
/dev/sdb1 vg_linuxzone lvm2 a-- 20.00g 0
[root@linux-zone ~]#
[root@linux-zone ~]#
[root@linux-zone ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg_linuxzone 2 2 0 wz--n- 24.50g 0
[root@linux-zone ~]#
[root@linux-zone ~]#
[root@linux-zone ~]# lvs
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
lv_root vg_linuxzone -wi-ao---- 24.00g
lv_swap vg_linuxzone -wi-ao---- 512.00m
- volume group با نام vg_linuxzone از 4.51 GB به 24.50 GB افزایش یافت.
- logical volume با نام lv_root از 4.51 GB به 24.50 GB افزایش یافت.
اکنون میتوانیم پروسه افزایش volume group و logical volume را کامل کنیم. بخش جالبی از مدیریت logical volume را دنبال میکنیم.
کاهش logical volume :
اینجا قصد داریم نحوه کاهش فضای logical volume را بررسی کنیم. اکثرا میگویند این کار خطرناک و ممکن است زمانی که lvm را کاهش میدهیم، با بروز یک فاجعه روبه رو شویم.
- کاهش lvm از هر بخشی از lvm جالب تر است قبل از شروع خوب است که از اطلاعات بک آپ بگیریم تا بعد از آن عزای از دست رفتن اطلاعات مان را نگیریم.
- برای کاهش یک logical volume نیاز هست که 6 مرحله را با دقت انجام دهیم.
- برای افزایش یک volume نیاز نیست که آن را unmount کنیم اما برای کاهش آن حتما باید قبل از عملیات فایل سیستم را unmount کنیم.
6 مرحله مورد نظر به شرح زیر میباشد :
- unmount فایل سیستم برای کم کردن
- چک کردن فایل سیستم بعد از unmount
- کاهش فایل سیستم
- کاهش سایز logical volume
- دوباره چک کردن فایل سیستم برای هر گونه error
- mount کردن فایل سیستم
برای نمایش بهتر من volume group و logical volume مجزا ایجاد کردم. اینجا میخواهم logical volume با نام downloads را کاهش سایز دهیم. سایز آن 20GB است ما میخواهیم آن را بدون از دست دادن اطلاعات کم کنیم تا فقط 12GB از آن بماند. یعنی ما میخواهیم 8GB از 20GB را کم کنیم. در حال حاضر 4 GB اطلاعات در volume موجود است :
ما نیاز داریم تنها 8GB کم کنیم و بعد از آن تنها 12GB باقی خواهد ماند :
کد PHP:
[root@linux-zone ~]# lvs
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
lv_root vg_linuxzone -wi-ao---- 24.00g
lv_swap vg_linuxzone -wi-ao---- 512.00m
downloads vg_test -wi-ao---- 20.00g
کد PHP:
[root@linux-zone ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_linuxzone-lv_root 24G 815M 22G 4% /
tmpfs 733M 0 733M 0% /dev/shm
/dev/sda1 485M 33M 427M 8% /boot
/dev/mapper/vg_test-downloads 20G 4.4G 15G 24% /mnt/downloads
- سایز volume برابر است با 20GB
- بالغ بر 4.4GB از آن استفاده شد.
- 15GB فضای آزاد موجود است.
ابتدا آن را unmout میکنیم :
کد PHP:
[root@linux-zone ~]# umount -v /mnt/downloads/
/dev/mapper/vg_test-downloads umounted
کد PHP:
[root@linux-zone ~]# e2fsck -ff /dev/vg_test/downloads
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/vg_test/downloads: 4059/1310720 files (1.9% non-contiguous), 1218783/5241856 blocks
سپس کم کردن file system را با دستور زیر انجام دهید :
کد PHP:
[root@linux-zone ~]# resize2fs /dev/vg_test/downloads 8G
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/vg_test/downloads to 2097152 (4k) blocks.
The filesystem on /dev/vg_test/downloads is now 2097152 blocks long.
مرحله بعد کاهش فایل سیستم میباشد :
در این مرحله logical volume را با استفاده از سایز GB کاهش میدهیم :
کد PHP:
[root@linux-zone ~]# lvreduce -L -8G /dev/vg_test/downloads
WARNING: Reducing active logical volume to 12.00 GiB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce downloads? [y/n]: y
Reducing logical volume downloads to 12.00 GiB
Logical volume downloads successfully resized
کد PHP:
# lvdisplay vg_test
کد PHP:
1024MB x 10GB = 10240MB or 10GB
10240MB / 4PE = 2048PE
کد PHP:
[root@linux-zone ~]# bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
1024*8
8192
8192/4
2048
کاهش سایز با استفاده از PE :
کد PHP:
# lvreduce -l -2048 /dev/vg_test/downloads
در این مرحله فایل سیستم را تغییر سایز میدهیم و اگر هر error باشد بدین معناست که فایل سیستم مان به هم ریخته است :
کد PHP:
# resize2fs /dev/vg_test/downloads
در این مرحله فایل سیستم را به mount point قبلی آن mount میکنیم :
کد PHP:
# mount /dev/vg_test/downloads /mnt/downloads/
کد PHP:
[root@linux-zone ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_linuxzone-lv_root 24G 815M 22G 4% /
tmpfs 733M 0 733M 0% /dev/shm
/dev/sda1 485M 33M 427M 8% /boot
/dev/mapper/vg_test-downloads 12G 4.4G 6.9G 39% /mnt/downloads
[root@linux-zone ~]#
[root@linux-zone ~]#
[root@linux-zone ~]# ls /mnt/downloads/cdrom/
CentOS_BuildTag isolinux RPM-GPG-KEY-CentOS-Debug-6
EFI Packages RPM-GPG-KEY-CentOS-Security-6
EULA RELEASE-NOTES-en-US.html RPM-GPG-KEY-CentOS-Testing-6
GPL repodata TRANS.TBL
images RPM-GPG-KEY-CentOS-6
کد PHP:
[root@linux-zone ~]# lvdisplay /dev/vg_test/downloads
--- Logical volume ---
LV Path /dev/vg_test/downloads
LV Name downloads
VG Name vg_test
LV UUID CojEGy-1BUa-h494-NRGj-NqTI-CYI1-7UiKUW
LV Write Access read/write
LV Creation host, time linux-zone.org, 2016-09-14 04:21:26 -0400
LV Status available
# open 1
LV Size 12.00 GiB
Current LE 3071
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:2
موفق باشید
محمد هابیلی