LVM卷管理工具機制概述架構卷管理物理卷管理卷組管理邏輯卷管理掛載檔案系統擴充套件邏輯卷機制概述
Linux 磁碟分割槽大小分配一般難以準確評估,而且分割槽大小確定之後無法更改,當資料佔滿分割槽時,就需要使用磁碟分割槽工具進行資料的備份以便重新規劃分割槽大小,同時也需要重洗引導作業系統,因此這不能滿足伺服器服務的可持續性特性,會造成業務資料的中斷。LVM的出現解決了這個難題,LVM 是Linux 下對磁碟分割槽進行管理的一種機制。透過在物理裝置層和檔案系統之間增加抽象層,遮蔽下層物理裝置(可以是磁碟、磁碟分割槽、raid)的佈局,提供一個抽象的儲存卷,在儲存捲上建立作業系統。
架構物理儲存介質:可以是硬碟分割槽、整個硬碟、raid陣列或SAN硬碟。物理儲存介質需初始化為LVM物理卷,才能和LVM結合使用。物理卷PV:LVM 的基本儲存邏輯塊,包含了與LVM相關的管理引數。卷組VG:一個VG 由一個或者多個PV組成,在VG 上建立LV。邏輯卷LV:LV 建立在VG 上,在LV 之上再建立檔案系統。物理塊PE:PV 上可分配的最小的儲存單元。預設大小是4MB,但是大小可以調整。架構圖
卷管理卷管理命令一覽表:
卷管理命令一覽表
物理卷管理檢視系統裝載的磁碟,並使用sdb做測試。[root@linuxde dev]# fdisk -lDisk /dev/sda: 21.5 GB, 21474836480 bytes255 heads, 63 sectors/track, 2610 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x0000783f Device Boot Start End Blocks Id System/dev/sda1 * 1 64 512000 83 LinuxPartition 1 does not end on cylinder boundary./dev/sda2 64 2611 20458496 8e Linux LVMDisk /dev/sdb: 10.7 GB, 10737418240 bytes255 heads, 63 sectors/track, 1305 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x00000000Disk /dev/mapper/VolGroup-lv_root: 18.9 GB, 18865979392 bytes255 heads, 63 sectors/track, 2293 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x00000000Disk /dev/mapper/VolGroup-lv_swap: 2080 MB, 2080374784 bytes255 heads, 63 sectors/track, 252 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x00000000123456789101112131415161718192021222324252627282930313233343536
初始化sdb磁碟為PV。[root@linuxde dev]# pvcreate /dev/sdb Physical volume "/dev/sdb" successfully created[root@linuxde dev]# pvs PV VG Fmt Attr PSize PFree /dev/sda2 VolGroup lvm2 a-- 19.51g 0 /dev/sdb lvm2 --- 10.00g 10.00g123456
卷組管理
新增PV 到卷組
[root@linuxde dev]# vgcreate datavg /dev/sdb Volume group "datavg" successfully created[root@linuxde dev]# vgs VG #PV #LV #SN Attr VSize VFree VolGroup 1 2 0 wz--n- 19.51g 0 datavg 1 0 0 wz--n- 10.00g 10.00g123456
邏輯卷管理
在卷組上建立LV
[root@linuxde dev]# lvcreate -n lv1 -L 200M datavg Logical volume "lv1" created[root@linuxde dev]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert lv_root VolGroup -wi-ao---- 17.57g lv_swap VolGroup -wi-ao---- 1.94g lv1 datavg -wi-a----- 200.00m1234567
掛載檔案系統格式化檔案系統並掛載檔案系統
[root@linuxde dev]# df -hFilesystem Size Used Avail Use% Mounted on/dev/mapper/VolGroup-lv_root 18G 4.1G 13G 25% /tmpfs 491M 0 491M 0% /dev/shm/dev/sda1 477M 28M 424M 7% /boot[root@linuxde dev]# mount /dev/datavg/lv1 /mntmount: you must specify the filesystem type[root@linuxde dev]# mkfmkfifo mkfontscale mkfs.cramfs mkfs.ext3 mkfs.ext4dev mkfs.vfat mkfontdir mkfs mkfs.ext2 mkfs.ext4 mkfs.msdos [root@linuxde dev]# mkfs.ext4 /dev/datavg/lv1 mke2fs 1.41.12 (17-May-2010)Filesystem label=OS type: LinuxBlock size=1024 (log=0)Fragment size=1024 (log=0)Stride=0 blocks, Stripe width=0 blocks51200 inodes, 204800 blocks10240 blocks (5.00%) reserved for the super userFirst data block=1Maximum filesystem blocks=6737100825 block groups8192 blocks per group, 8192 fragments per group2048 inodes per groupSuperblock backups stored on blocks: 8193, 24577, 40961, 57345, 73729Writing inode tables: done Creating journal (4096 blocks): doneWriting superblocks and filesystem accounting information: doneThis filesystem will be automatically checked every 31 mounts or180 days, whichever comes first. Use tune2fs -c or -i to override.[root@linuxde dev]# mount /dev/datavg/lv1 /mnt[root@linuxde dev]# df -hFilesystem Size Used Avail Use% Mounted on/dev/mapper/VolGroup-lv_root 18G 4.1G 13G 25% /tmpfs 491M 0 491M 0% /dev/shm/dev/sda1 477M 28M 424M 7% /boot/dev/mapper/datavg-lv1 190M 1.6M 179M 1% /mnt12345678910111213141516171819202122232425262728293031323334353637383940414243
到此為止,我們就可以操作該檔案系統了。
擴充套件邏輯卷擴充套件完LV 後還需要使用resize2fs擴容ext4檔案系統。xfs檔案系統需要使用xfs_growfs命令,使用方式“xfs_growfs {monit_ponit}”
[root@linuxde dev]# lvextend -L +100M /dev/datavg/lv1 Size of logical volume datavg/lv1 changed from 200.00 MiB (50 extents) to 300.00 MiB (75 extents). Logical volume lv1 successfully resized[root@linuxde dev]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert lv_root VolGroup -wi-ao---- 17.57g lv_swap VolGroup -wi-ao---- 1.94g lv1 datavg -wi-ao---- 300.00m [root@linuxde dev]# df -hFilesystem Size Used Avail Use% Mounted on/dev/mapper/VolGroup-lv_root 18G 4.1G 13G 25% /tmpfs 491M 0 491M 0% /dev/shm/dev/sda1 477M 28M 424M 7% /boot/dev/mapper/datavg-lv1 190M 1.6M 179M 1% /mnt[root@linuxde dev]# resize2fs /dev/datavg/lv1 resize2fs 1.41.12 (17-May-2010)Filesystem at /dev/datavg/lv1 is mounted on /mnt; on-line resizing requiredold desc_blocks = 1, new_desc_blocks = 2Performing an on-line resize of /dev/datavg/lv1 to 307200 (1k) blocks.The filesystem on /dev/datavg/lv1 is now 307200 blocks long.[root@linuxde dev]# df -hFilesystem Size Used Avail Use% Mounted on/dev/mapper/VolGroup-lv_root 18G 4.1G 13G 25% /tmpfs 491M 0 491M 0% /dev/shm/dev/sda1 477M 28M 424M 7% /boot/dev/mapper/datavg-lv1 287M 2.1M 270M 1% /mnt
最新評論