LVM Land – Community Dev

پیوندهای سری مرتبط:
1. حزب بخش
2.FileSystem & Mounting
3.LVM Land (این مقاله)
در این پست دنیای عملی تر مدیر حجم منطقی بررسی خواهد شد. این امر با اجازه تخصیص پویا از فضای ذخیره سازی ، مدیریت ذخیره سازی پیشرفته را فراهم می کند. این امر به مدیران این امکان را می دهد تا پارتیشن های دیسک را با انعطاف پذیری بیشتری نسبت به روش های سنتی پارتیشن بندی ایجاد ، تغییر اندازه و مدیریت کنند. بیایید ابتدا وضعیت بلوک خود را بررسی کنیم.
[sorad@dev9 ~]$ lsblk -f /dev/{sdb,sdc}
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
sdb
├─sdb1 xfs e191547c-35b1-44f8-9278-8160eac6e300
├─sdb2 ext4 1.0 3060ac82-ea5e-4cf3-b2f7-975154512ed3
├─sdb3
├─sdb4
├─sdb5
└─sdb6
sdc
├─sdc1 xfs 81bff549-814e-407f-ab1f-396cb95a7f09 1.4G 28% /mountsdc
├─sdc2
├─sdc3
├─sdc4
├─sdc5
└─sdc6
ما 9 از 2 پارتیشن 2 گیگابایتی خود را در دسترس داریم. من از آن فضا برای حجم منطقی استفاده می کنم. دوباره به fdisk برای حذف برخی از پارتیشن ها. به خاطر Brevity ، من فقط روند SDC را نشان می دهم. توجه داشته باشید که حذف پارتیشن 4 (گسترش یافته) نیز پارتیشن های منطقی آن را حذف می کند.
[sorad@dev9 ~]$ sudo fdisk /dev/sdc
Welcome to fdisk (util-linux 2.37.4).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
This disk is currently in use - repartitioning is probably a bad idea.
It's recommended to umount all file systems, and swapoff all swap
partitions on this disk.
Command (m for help): p
Disk /dev/sdc: 10 GiB, 10737418240 bytes, 20971520 sectors
Disk model: VBOX HARDDISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x5ace204b
Device Boot Start End Sectors Size Id Type
/dev/sdc1 2048 4196351 4194304 2G 83 Linux
/dev/sdc2 4196352 8390655 4194304 2G 83 Linux
/dev/sdc3 8390656 12584959 4194304 2G 83 Linux
/dev/sdc4 12584960 20971519 8386560 4G 5 Extended
/dev/sdc5 12587008 16781311 4194304 2G 83 Linux
/dev/sdc6 16783360 20971519 4188160 2G 83 Linux
Command (m for help): d
Partition number (1-6, default 6): 2
Partition 2 has been deleted.
Command (m for help): d
Partition number (1,3-6, default 6): 3
Partition 3 has been deleted.
Command (m for help): p
Disk /dev/sdc: 10 GiB, 10737418240 bytes, 20971520 sectors
Disk model: VBOX HARDDISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x5ace204b
Device Boot Start End Sectors Size Id Type
/dev/sdc1 2048 4196351 4194304 2G 83 Linux
/dev/sdc4 12584960 20971519 8386560 4G 5 Extended
/dev/sdc5 12587008 16781311 4194304 2G 83 Linux
/dev/sdc6 16783360 20971519 4188160 2G 83 Linux
Command (m for help): d
Partition number (1,4-6, default 6): 4
Partition 4 has been deleted.
Command (m for help): p
Disk /dev/sdc: 10 GiB, 10737418240 bytes, 20971520 sectors
Disk model: VBOX HARDDISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x5ace204b
Device Boot Start End Sectors Size Id Type
/dev/sdc1 2048 4196351 4194304 2G 83 Linux
Command (m for help): w
The partition table has been altered.
Syncing disks.
با بررسی مجدد وضعیت بلوک فعلی ، متوجه می شویم که 9 پارتیشن استفاده نشده دیگر وجود ندارد.
[sorad@dev9 ~]$ lsblk -f /dev/{sdb,sdc}
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
sdb
├─sdb1 xfs e191547c-35b1-44f8-9278-8160eac6e300
└─sdb2 ext4 1.0 3060ac82-ea5e-4cf3-b2f7-975154512ed3
sdc
└─sdc1 xfs 81bff549-814e-407f-ab1f-396cb95a7f09 1.4G 28% /mountsdc
دوباره به FDisk ، فضای باقی مانده را برای هر دیسک به یک پارتیشن واحد اختصاص می دهم. گزینه های پیش فرض برای استفاده از تمام فضای دیسک موجود انتخاب می شود. من با استفاده از کد ، پارتیشن های جدید را برچسب گذاری می کنم 8e بنابراین نوع آنها نشان می دهد LVMبشر باز هم ، من فقط روند SDC را نشان می دهم.
[sorad@dev9 ~]$ sudo fdisk /dev/sdc
Welcome to fdisk (util-linux 2.37.4).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): n
Partition type
p primary (1 primary, 0 extended, 3 free)
e extended (container for logical partitions)
Select (default p):
Using default response p.
Partition number (2-4, default 2):
First sector (4196352-20971519, default 4196352):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (4196352-20971519, default 20971519):
Created a new partition 2 of type 'Linux' and of size 8 GiB.
Command (m for help): p
Disk /dev/sdc: 10 GiB, 10737418240 bytes, 20971520 sectors
Disk model: VBOX HARDDISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x5ace204b
Device Boot Start End Sectors Size Id Type
/dev/sdc1 2048 4196351 4194304 2G 83 Linux
/dev/sdc2 4196352 20971519 16775168 8G 83 Linux
Command (m for help): t
Partition number (1,2, default 2):
Hex code or alias (type L to list all): 8e
Changed type of partition 'Linux' to 'Linux LVM'.
Command (m for help): p
Disk /dev/sdc: 10 GiB, 10737418240 bytes, 20971520 sectors
Disk model: VBOX HARDDISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x5ace204b
Device Boot Start End Sectors Size Id Type
/dev/sdc1 2048 4196351 4194304 2G 83 Linux
/dev/sdc2 4196352 20971519 16775168 8G 8e Linux LVM
Command (m for help): w
The partition table has been altered.
Syncing disks.
دوباره وضعیت بلوک را بررسی می کنیم ، می بینیم که پارتیشن های منفرد به هر دیسک اضافه می شوند. SDB3 و SDC2 برای استفاده آماده هستند.
[sorad@dev9 ~]$ lsblk -f /dev/{sdb,sdc}
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
sdb
├─sdb1 xfs e191547c-35b1-44f8-9278-8160eac6e300
├─sdb2 ext4 1.0 3060ac82-ea5e-4cf3-b2f7-975154512ed3
└─sdb3
sdc
├─sdc1 xfs 81bff549-814e-407f-ab1f-396cb95a7f09 1.4G 28% /mountsdc
└─sdc2
اینجا سرگرم کننده است! ساختار LVM از 3 لایه تشکیل شده است:
-
حجم جسمی: پارتیشن هایی که گروه های حجم را تشکیل می دهند.
-
گروههای حجمی: ترکیبی از حجم فیزیکی ایجاد یک منبع فضای ذخیره سازی.
-
حجم منطقی: پارتیشن های مجازی/منطقی با استفاده از فضای ذخیره سازی موجود در گروه حجم اختصاص یافته خود.
بیایید لیست فعلی حجم فیزیکی را با استفاده از آن بررسی کنیم PVSبشر ما می بینیم که فقط یکی وجود دارد.
[sorad@dev9 ~]$ sudo pvs
[sudo] password for sorad:
PV VG Fmt Attr PSize PFree
/dev/sda2 cs_vbox lvm2 a-- <19.00g 0
ما می توانیم SDB3 و SDC2 را با استفاده از حجم فیزیکی اضافه کنیم پی وی سنگی کردن مشخص کردن پارتیشن برای استفاده.
[sorad@dev9 ~]$ sudo pvcreate /dev/sdb3
Physical volume "/dev/sdb3" successfully created.
[sorad@dev9 ~]$ sudo pvcreate /dev/sdc2
Physical volume "/dev/sdc2" successfully created.
[sorad@dev9 ~]$ sudo pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 cs_vbox lvm2 a-- <19.00g 0
/dev/sdb3 lvm2 --- <6.00g <6.00g
/dev/sdc2 lvm2 --- <8.00g <8.00g
حال ، بیایید گروه های حجم فعلی را با آن بررسی کنیم VGS، سپس با استفاده از VG جدید ایجاد کنید vgcreateبشر نحو VGCREATE:
vgcreate name_for_the_group partition_to_use
ستون های PV و LV حجم فیزیکی و منطقی مرتبط با هر گروه جلد را نشان می دهند.
[sorad@dev9 ~]$ sudo vgs
VG #PV #LV #SN Attr VSize VFree
cs_vbox 1 2 0 wz--n- <19.00g 0
[sorad@dev9 ~]$ sudo vgcreate party_lv /dev/sdb3
Volume group "party_lv" successfully created
[sorad@dev9 ~]$ sudo vgs
VG #PV #LV #SN Attr VSize VFree
cs_vbox 1 2 0 wz--n- <19.00g 0
party_lv 1 0 0 wz--n- <6.00g <6.00g
اکنون برای اضافه کردن SDC2 به همان گروه حجم. از آنجا که party_lv از قبل ایجاد شده است ، ما باید از آن استفاده کنیم در حال حاضر برای افزودن حجم فیزیکی بیشتر. نحو در اصل همان VGCREATE است. فقط نام VG موجود را برای استفاده مشخص کنید. حتماً به تغییرات در ستون های PV ، LV ، VSIZE و VFREE پس از آن نگاه کنید.
[sorad@dev9 ~]$ sudo vgs
VG #PV #LV #SN Attr VSize VFree
cs_vbox 1 2 0 wz--n- <19.00g 0
party_lv 1 0 0 wz--n- <6.00g <6.00g
[sorad@dev9 ~]$ sudo vgextend party_lv /dev/sdc2
Volume group "party_lv" successfully extended
[sorad@dev9 ~]$ sudo vgs
VG #PV #LV #SN Attr VSize VFree
cs_vbox 1 2 0 wz--n- <19.00g 0
party_lv 2 0 0 wz--n- 13.99g 13.99g
اوه – من در کنوانسیون نامگذاری اشتباه کردم. ما هنوز با گروه های حجم کار می کنیم ، اما من به طور تصادفی نام Party_ را نامگذاری کردمLV، که حاکی از یک حجم منطقی است. مشکلی نیست – ما می توانیم با استفاده از آن برطرف کنیم نام فرمان
[sorad@dev9 ~]$ sudo vgrename party_lv party_vg
Volume group "party_lv" successfully renamed to "party_vg"
[sorad@dev9 ~]$ sudo vgs
VG #PV #LV #SN Attr VSize VFree
cs_vbox 1 2 0 wz--n- <19.00g 0
party_vg 2 0 0 wz--n- 13.99g 13.99g
دویدن LVS در کنار نشان دادن حجم منطقی فعلی ما.
[sorad@dev9 ~]$ sudo lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root cs_vbox -wi-ao---- <17.00g
swap cs_vbox -wi-ao---- 2.00g
شما با استفاده از حجم منطقی ایجاد می کنید LVCREATEبشر برای این مثال ، من از کل party_vg برای ایجاد یک حجم منطقی واحد استفاده می کنم. با این حال ، اگر می خواهید روند کار را تکرار کرده و چندین حجم منطقی از Party_vg ایجاد کنید ، می توانید اندازه کوچکتر را اختصاص دهید. نحو lvcreate کمی بیشتر درگیر است:
lvcreate -n name_for_volume -l size_to_make_volume volume_group_to_use
[sorad@dev9 ~]$ sudo lvcreate -n party_lv -L 13.99G party_vg
Rounding up size to full physical extent 13.99 GiB
Logical volume "party_lv" created.
[sorad@dev9 ~]$ sudo lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root cs_vbox -wi-ao---- <17.00g
swap cs_vbox -wi-ao---- 2.00g
party_lv party_vg -wi-a----- 13.99g
آنجا ما آن را داریم! Party_LV اکنون برای مراحلی که قبلاً با آن آشنا هستیم آماده است و یک سیستم فایل و نصب را اضافه می کنیم.
یادداشت: مسیر حجم منطقی با پارتیشن های فیزیکی متفاوت است. در حالی که آنها هنوز هم با /dev شروع می شوند ، حجم های منطقی به طور معمول از یکی از دو قالب مسیر پیروی می کنند:
-
/dev/mapper/vg_name-lv_name
-
/dev/vg_name/lv_name (پیوند نمادین)
بنابراین برای مثال ما ، هر دو مسیر کار خواهد کرد:
-
/dev/mapper/party_vg-party_lv
-
/dev/party_vg/party_lv
در ادامه خواهید دید که هر دو فقط برای نشان دادن استفاده می شوند.
سیستم فایل را اضافه کنید:
[sorad@dev9 ~]$ sudo mkfs.ext4 /dev/party_vg/party_lv
mke2fs 1.46.5 (30-Dec-2021)
Creating filesystem with 3667968 4k blocks and 917504 inodes
Filesystem UUID: dd2e3dcd-a2fb-4ae4-b102-505a966e6a71
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208
Allocating group tables: done
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done
[sorad@dev9 ~]$ lsblk -f /dev/party_vg/party_lv
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
party_vg-party_lv ext4 1.0 dd2e3dcd-a2fb-4ae4-b102-505a966e6a71
نصب:
[sorad@dev9 ~]$ sudo mkdir /partition_party
[sorad@dev9 ~]$ sudo mount /dev/party_vg/party_lv /partition_party/
[sorad@dev9 ~]$ lsblk -f /dev/party_vg/party_lv
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
party_vg-party_lv ext4 1.0 dd2e3dcd-a2fb-4ae4-b102-505a966e6a71 13G 0% /partition_party
اکنون حجم منطقی را برای نشان دادن نحوه اضافه کردن آن به پرونده /etc /fstab برای نصب مداوم نشان می دهم. می توانید ستون MountPoints (به عنوان مثال ، در خروجی LSBLK) را بررسی کنید تا ببینید که آیا و کجا حجم در حال حاضر نصب شده است.
[sorad@dev9 ~]$ sudo umount /partition_party/
[sorad@dev9 ~]$ lsblk -f /dev/party_vg/party_lv
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
party_vg-party_lv ext4 1.0 dd2e3dcd-a2fb-4ae4-b102-505a966e6a71
[sorad@dev9 ~]$ sudo vi /etc/fstab
در پرونده /etc /fstab ، من مسیر اصلی را برای party_lv اضافه می کنم:
/dev/mapper/party_vg-party_lv/partition_party ext4 پیش فرض 0 0
وقتی دویدم کوه، من یک پیام بارگیری مجدد دریافت می کنم ، بنابراین من آن را نیز اجرا می کنم ، سپس نمایش می دهم که LV ما دوباره نصب شده است.
[sorad@dev9 ~]$ sudo mount -a
mount: (hint) your fstab has been modified, but systemd still uses
the old version; use 'systemctl daemon-reload' to reload.
[sorad@dev9 ~]$ sudo systemctl daemon-reload
[sorad@dev9 ~]$ lsblk -f /dev/party_vg/party_lv
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
party_vg-party_lv ext4 1.0 dd2e3dcd-a2fb-4ae4-b102-505a966e6a71 13G 0% /partition_party
برای پایان کار و بررسی LV عملیاتی است ، بیایید یک فایل آزمایشی ایجاد کنیم.
[sorad@dev9 ~]$ sudo touch /partition_party/great_party.txt
[sorad@dev9 ~]$ ll /partition_party/
total 16
-rw-r--r--. 1 root root 0 May 16 14:39 great_party.txt
drwx------. 2 root root 16384 May 16 14:32 lost+found
امیدوارم از این سفر سوم با من در قلمرو ذخیره سازی لذت برده باشید. سوالات ، نظرات و نگرانی ها همیشه مورد استقبال قرار می گیرد. باز هم از خواندن شما متشکرم
PS
ممکن است در ابتدا متوجه این هشدار شده باشید:
This disk is currently in use - repartitioning is probably a bad idea.
It's recommended to umount all file systems, and swapoff all swap
partitions on this disk.
این مقاله بدون حذف سیستم های فایل به پایان رسید. لطفاً به من اطلاع دهید که آیا دلیل خاصی وجود دارد که همیشه ابتدا سیستم های پرونده را از بین ببرد ، همانطور که در هشدار بیان شده است.