توی یه سرور RHEL که از LVM برای مدیریت دیسک و پارتیشن استفاده میشه، لازم شد که حجم رو افزایش بدیم. یه دیسک sdb داریم که میخایم به 2 تا پارتیشن اضافه اش کنیم. LVM این کار رو انجام میده بدون اینکه پارتیشن ها نیاز به فرمت داشته باشن و داده های قدیمی از دست برن. یه چیزی مثل سرویس های ابری که هر وقت بخایم منابع اضافه میکنیم.
قبل از افزایش حجم وضعیت اینطور بود:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 7.9G 0 7.9G 0% /dev tmpfs 7.9G 0 7.9G 0% /dev/shm tmpfs 7.9G 1.2M 7.9G 1% /run tmpfs 7.9G 0 7.9G 0% /sys/fs/cgroup /dev/mapper/vg0-lvroot 40G 4.4G 36G 11% / /dev/sda2 1014M 292M 723M 29% /boot /dev/mapper/vg0-lvvar 20G 4.2G 16G 21% /var /dev/mapper/vg0-lvtmp 20G 176M 20G 1% /tmp /dev/mapper/vg0-lvhome 40G 14G 27G 35% /home /dev/mapper/vg0-lvvar_log 10G 1.4G 8.6G 14% /var/log /dev/mapper/vg0-lvvar_tmp 10G 104M 9.9G 2% /var/tmp /dev/mapper/vg0-lvvar_log_audit 10G 1.4G 8.6G 14% /var/log/audit tmpfs 1.6G 0 1.6G 0% /run/user/1190376420 overlay 20G 4.2G 16G 21% /var/lib/docker/overlay2/dbfe655119fd6d03f5e8fb2df593879ba19bc6bde509e2499d70748b4354f021/merged overlay 20G 4.2G 16G 21% /var/lib/docker/overlay2/147384dd3327c9bb2a2a4b0987feb5a880eec99164f34765d28a30f956f7b44f/merged overlay 20G 4.2G 16G 21% /var/lib/docker/overlay2/480bf322cca836d746335f12b6c3199b608eed021b024090d726065654b6d169/merged overlay 20G 4.2G 16G 21% /var/lib/docker/overlay2/16252ee660cbc6442ec03813b604302ec2612a9d991571ac780415d68cf419c0/merged overlay 20G 4.2G 16G 21% /var/lib/docker/overlay2/9aa12c12dd6fcccbb23ef6266e7cfddabdf426f1823527fa265fb9a5635936b2/merged |
همینطور که میبینید /home و / هر کدوم 40 گیگابایت هستن که باید زیاد بشن.
1 2 3 4 5 6 |
# ll /dev/sd* brw-rw----. 1 root disk 8, 0 Jun 26 11:18 /dev/sda brw-rw----. 1 root disk 8, 1 Jun 26 11:18 /dev/sda1 brw-rw----. 1 root disk 8, 2 Jun 26 11:18 /dev/sda2 brw-rw----. 1 root disk 8, 3 Jun 26 11:18 /dev/sda3 brw-rw----. 1 root disk 8, 16 Jun 26 11:18 /dev/sdb |
میبینیم که /dev/sdb به دیکسها اضافه شده اما پارتیشن بندی نشده.
1 2 3 |
# pvs PV VG Fmt Attr PSize PFree /dev/sda3 vg0 lvm2 a-- <199.00g <17.00g |
همینطور که میبینیم sdb اصلا به هیچ volume group ای از LVM اضافه نشده پس معلومه که قابل استفاده است.
1 2 3 |
# vgs VG #PV #LV #SN Attr VSize VFree vg0 1 8 0 wz--n- <199.00g <17.00g |
میبینیم که یه logical volume داریم vg0 که یه دونه pv هم داره که در واقع همون sda3 هست که قبلا دیدیم و بازم مطمثن شدیم که sdb استفاده نمیشه
1 2 3 4 5 6 7 8 9 10 |
# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert lvhome vg0 -wi-ao---- 40.00g lvroot vg0 -wi-ao---- 40.00g lvswap vg0 -wi-ao---- 32.00g lvtmp vg0 -wi-ao---- 20.00g lvvar vg0 -wi-ao---- 20.00g lvvar_log vg0 -wi-ao---- 10.00g lvvar_log_audit vg0 -wi-ao---- 10.00g lvvar_tmp vg0 -wi-ao---- 10.00g |
یه نگاه مجدد به logical volume ها میندازیم.
1 |
pvcreate /dev/sdb |
با دستور بالا sdb رو به یه phisical volume تعریف کردیم که بتونیم توی LVM ازش استفاده کنیم. در وا
1 2 3 4 |
# pvs PV VG Fmt Attr PSize PFree /dev/sda3 vg0 lvm2 a-- <199.00g <17.00g /dev/sdb vg0 lvm2 a-- <1024.00g <1024.00g |
میبینیم که sdb اضافه شده.
1 |
vgextend vg0 /dev/sdb |
حالا sdb رو به volume group vg0 اضافه میکنیم که بتونیم به logical volume ها اضافه اش کنیم.
1 2 3 |
# vgs VG #PV #LV #SN Attr VSize VFree vg0 2 8 0 wz--n- 1.19t <1.02t |
همینطور که میبینیم اضافه شده. الان vg0 حدود یک ترابایت خالی داره.
1 |
lvextend -L +512G /dev/mapper/vg0-lvroot -r |
حالا 512 گیگابایتش رو به / یا همون root اضافه کردیم.
1 |
lvm lvextend -l +100%FREE /dev/mapper/vg0-lvhome -r |
از فضای خالی باقیمانده بقیه شو به /home اضافه کردیم.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
# df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 7.9G 0 7.9G 0% /dev tmpfs 7.9G 0 7.9G 0% /dev/shm tmpfs 7.9G 748K 7.9G 1% /run tmpfs 7.9G 0 7.9G 0% /sys/fs/cgroup /dev/mapper/vg0-lvroot 569G 7.9G 562G 2% / /dev/sda2 1014M 291M 724M 29% /boot /dev/mapper/vg0-lvvar 20G 1.1G 19G 6% /var /dev/mapper/vg0-lvhome 552G 3.9G 549G 1% /home /dev/mapper/vg0-lvvar_tmp 10G 104M 9.9G 2% /var/tmp /dev/mapper/vg0-lvvar_log 10G 315M 9.7G 4% /var/log /dev/mapper/vg0-lvvar_log_audit 10G 525M 9.5G 6% /var/log/audit /dev/mapper/vg0-lvtmp 20G 176M 20G 1% /tmp tmpfs 1.6G 0 1.6G 0% /run/user/1190376420 |
همینطور که میبینید / و /home حجمشون زیاد شده.