使用逻辑卷管理器管理灵活存储
一.LVM定义
物理分区或磁盘是 LVM 的第一构建块。这些可以是分区、完整磁盘、 RAID 集或 SAN 磁盘
物理卷是 LVM 所使用的基础 “ 物理 ” 存储。这通常是块设备 ,例如分区或完整磁盘。设备必须初 始 化为 LVM 物理卷 , 才能与 LVM 结合使用 卷组是存储池 , 由一个或多个物理卷组成 物理区块是物理卷中存储的小型数据区块 , 用作 LVM 存储的后端 逻辑区块映射到物理区块 , 构成 LVM 存储的前端。默认情况下 , 每个逻辑区块映射到一个物理区块。 启用某些选项将更改此映射。例如 , 镜像会导致每个逻辑区块映射到两个物理区块 逻辑卷是逻辑区块组。逻辑卷可以像硬盘驱动器分区一样使用二.LVM分区建立
建立两块lvm分区
[root@desktop ~]# fdisk /dev/vdb ###建立分区
Welcome to fdisk (util-linux 2.23.2).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 (0 primary, 0 extended, 4 free) e extendedSelect (default p): Using default response p Partition number (1-4, default 1): First sector (2048-20971519, default 2048): Using default value 2048Last sector, +sectors or+size{K,M,G} (2048-20971519, default 20971519): +500M#划分容量Partition 1 of type Linux and of size 500 MiB is setCommand (m for help): nPartition type: p primary (1 primary, 0 extended, 3 free) e extendedSelect (default p): Using default response pPartition number (2-4, default 2): First sector (1026048-20971519, default 1026048): Using default value 1026048Last sector, +sectors or +size{K,M,G} (1026048-20971519, default 20971519): +500MPartition 2 of type Linux and of size 500 MiB is setCommand (m for help): t ###修改功能标签Partition number (1,2, default 2): 1Hex code (type L to list all codes): l ###列出所有功能标签 0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris 1 FAT12 27 Hidden NTFS Win 82 Linux swap / So c1 DRDOS/sec (FAT- 2 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT- 3 XENIX usr 3c PartitionMagic 84 OS/2 hidden C: c6 DRDOS/sec (FAT- 4 FAT16 <32M 40 Venix 80286 85 Linux extended c7 Syrinx 5 Extended 41 PPC PReP Boot 86 NTFS volume set da Non-FS data 6 FAT16 42 SFS 87 NTFS volume set db CP/M / CTOS / . 7 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux plaintext de Dell Utility 8 AIX 4e QNX4.x 2nd part 8e Linux LVM df BootIt 9 AIX bootable 4f QNX4.x 3rd part 93 Amoeba e1 DOS access a OS/2 Boot Manag 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O b W95 FAT32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor c W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpad hi eb BeOS fs e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD ee GPT f W95 Ext'd (LBA) 54 OnTrackDM6 a6 OpenBSD ef EFI (FAT-12/16/10 OPUS 55 EZ-Drive a7 NeXTSTEP f0 Linux/PA-RISC b11 Hidden FAT12 56 Golden Bow a8 Darwin UFS f1 SpeedStor 12 Compaq diagnost 5c Priam Edisk a9 NetBSD f4 SpeedStor 14 Hidden FAT16 <3 61 SpeedStor ab Darwin boot f2 DOS secondary 16 Hidden FAT16 63 GNU HURD or Sys af HFS / HFS+ fb VMware VMFS 17 Hidden HPFS/NTF 64 Novell Netware b7 BSDI fs fc VMware VMKCORE 18 AST SmartSleep 65 Novell Netware b8 BSDI swap fd Linux raid auto1b Hidden W95 FAT3 70 DiskSecure Mult bb Boot Wizard hid fe LANstep 1c Hidden W95 FAT3 75 PC/IX be Solaris boot ff BBT 1e Hidden W95 FAT1 80 Old Minix Hex code (type L to list all codes): 8eChanged type of partition 'Linux' to 'Linux LVM'Command (m for help): tPartition number (1,2, default 2): 2Hex code (type L to list all codes): 8eChanged type of partition 'Linux' to 'Linux LVM'Command (m for help): p ###列出分区状态Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk label type: dosDisk identifier: 0xe24dd216 Device Boot Start End Blocks Id System/dev/vdb1 2048 1026047 512000 8e Linux LVM
/dev/vdb2 1026048 2050047 512000 8e Linux LVM
Command (m for help): wq ###退出并保存The partition table has been altered!Calling ioctl() to re-read partition table.Syncing disks.[root@desktop ~]# partprobe部署LVM
监视命令 watch -n 1 'pvs(查看pv设备);vgs(查看vg设备);lvs(查看lvm设备);df -h;'
pv
pvcreate 分区 ##自作pv设备vgvgcreate vg名称 pv设备lvlvcreate -L 大小 -n 名字 vg名称mkfs.xfs /dev/vg0/lv0mount /dev/vg0/lv0 /mnt三.LVM分区扩展
lvextend -L 400M /dev/vg0/lv0 ###扩大lvm
xfs_growfs /dev/vg0/lv0 ###扩大文件系统pvcreate /dev/vdb2 ###创建新pv设备
vgextend vg0 /dev/vdb2 ###扩大vg四.分区缩减
xfs文件系统无法缩减 ext4文件系统支持缩减
umount /mnt ###卸载lvm分区
mkfs.etx4 /dev/vg0/lg0 ###将xfs文件系统转换为ext4文件系统
fesize2fs /dev/vg0/lg0 100M ###缩减文件系统
mount /dev/vg0/lg0 /mnt ###挂载lvm
lvreduce -L 100M /dev/vg0/lg0 ###缩减lvm设备
pvmove /dev/vdb1 /dev/vdb2 ###将vdb1的数据迁移到vdb2
五.lvm快照
lvcreate -L 50M -n lv0bak -s /dev/vg0/lg0 ###创建lg0的快照lv0bak
快照删除
umount /mnt ###卸载设备
lvremove /dev/vg0/lv0bak ###删除快照
六.LVM设备删除
umount /mnt ###卸载设备
lvremove /dev/vg0/lg0 ###删除lvmvgremove vg0 ###删除vgpvremove /dev/vdb1 ###删除pv