物理卷pv、卷组lg、逻辑卷lv
物理卷:
最小分配单位 PE Size,逻辑卷的大小是用最小分分配单位为一个block来分配的
1、创建物理卷
[root@bogon ~]# pvcreate /dev/sdb5 WARNING: software RAID md superblock detected on /dev/sdb5. Wipe it? [y/n] y Wiping software RAID md superblock on /dev/sdb5. Physical volume "/dev/sdb5" successfully created查看
[root@bogon ~]# pvdisplay "/dev/sdb5" is a new physical volume of "800.00 MiB" --- NEW Physical volume --- PV Name /dev/sdb5 VG Name PV Size 800.00 MiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID oqOHaF-nFfD-sEq5-M9Ta-ctEv-KQIm-hCOHnx
2、创建卷组
[root@bogon ~]# vgcreate lvmtest /dev/sdb5 Volume group "lvmtest" successfully created查看
[root@bogon ~]# vgdisplay --- Volume group --- VG Name lvmtest System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 1 VG Access read/write VG Status resizable MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 1 Act PV 1 VG Size 796.00 MiB PE Size 4.00 MiB Total PE 199 Alloc PE / Size 0 / 0 Free PE / Size 199 / 796.00 MiB VG UUID 877uni-w3k8-xyCL-O0Na-SR5m-VxDY-xhsxtf
[root@bogon ~]# lvcreate -L 500M -n ftp lvmtest Logical volume "ftp" created
[root@bogon ~]# lvdisplay --- Logical volume --- LV Name /dev/lvmtest/ftp VG Name lvmtest LV UUID ktaHn7-Bplr-ue3D-BBQ2-vS0t-VTKA-1vQmhn LV Write Access read/write LV Status available # open 0 LV Size 500.00 MiB Current LE 125 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:0
4、格式化逻辑卷并挂载
[root@bogon ~]# mkfs.ext4 /dev/lvmtest/ftp …… [root@bogon ~]# mount /dev/lvmtest/ftp /mnt/mydata
逻辑卷的扩充 lvextend
步骤1、
[root@bogon ~]# lvdisplay /dev/lvmtest/ftp | grep -i size LV Size 500.00 MiB [root@bogon ~]# vgdisplay lvmtest | grep -i size VG Size 796.00 MiB PE Size 4.00 MiB Alloc PE / Size 125 / 500.00 MiB Free PE / Size 74 / 296.00 MiB [root@bogon ~]# lvextend -L +200M /dev/lvmtest/ftp #注意 -L 和 +号 Extending logical volume ftp to 700.00 MiB Logical volume ftp successfully resized [root@bogon ~]# lvdisplay /dev/lvmtest/ftp | grep -i size LV Size 700.00 MiB此时df -h 发现挂载的逻辑卷大小并没有改变
[root@bogon ~]# df -h …… /dev/mapper/lvmtest-ftp 485M 11M 449M 3% /mnt/mydata
步骤2
[root@bogon ~]# resize2fs /dev/lvmtest/ftp #resize2fs 在线扩充 …… [root@bogon ~]# df -h Filesystem Size Used Avail Use% Mounted on …… /dev/mapper/lvmtest-ftp 678M 11M 633M 2% /mnt/mydata
步骤1、先查看物理卷的大小是否够分配
[root@bogon ~]# pvdisplay …… [root@bogon ~]# pvcreate /dev/sdb6 /dev/sdb7 …… Physical volume "/dev/sdb6" successfully created …… Physical volume "/dev/sdb7" successfully created
[root@bogon ~]# vgextend lvmtest /dev/sdb6 Volume group "lvmtest" successfully extended [root@bogon ~]# vgdisplay --- Volume group --- VG Name lvmtest …… Total PE 398 Alloc PE / Size 175 / 700.00 MiB Free PE / Size 223 / 892.00 MiB #剩余大小已改变 VG UUID 877uni-w3k8-xyCL-O0Na-SR5m-VxDY-xhsxtf
缩小逻辑卷
必须离线操作
e2fsck 检查 Linux ext2 / ext3 / ext4文件系统
resize2fs - 修改 ext2 / ext3 / ext4 文件系统大小
lvreduce 减少 逻辑卷的大小 lvreduce - reduce the size of a logical volume
应注意的问题:lvm是用最小分配单位来分配大小的,减少的时候会与文件系统减少的单位不重合
步骤1、 umount,e2fsck(决定是否需要做磁盘整理)
[root@bogon ~]# e2fsck -f /dev/lvmtest/ftp …… /dev/lvmtest/ftp: 11/260096 files (0.0% non-contiguous), 43824/1048576 blocks
步骤2、 为了避免上面说到的问题,先用 lvreudce -t 测试
[root@bogon ~]# lvreduce -L 823M /dev/lvmtest/ftp -t Test mode: Metadata will NOT be updated and volumes will not be (de)activated. Rounding up size to full physical extent 824.00 MiB WARNING: Reducing active and open logical volume to 824.00 MiB THIS MAY DESTROY YOUR DATA (filesystem etc.) Do you really want to reduce ftp? [y/n]: n Logical volume ftp NOT reduced逻辑卷无法改到823M ,给出的值为824M
步骤3、
[root@bogon ~]# resize2fs /dev/lvmtest/ftp 824M resize2fs 1.41.12 (17-May-2010) Resizing the filesystem on /dev/lvmtest/ftp to 843776 (1k) blocks. The filesystem on /dev/lvmtest/ftp is now 843776 blocks long. [root@bogon ~]#
步骤4、为了不破坏数据,将LVM状态改变为 NOT available
[root@bogon ~]# lvchange -an /dev/lvmtest/ftp [root@bogon ~]# lvdisplay | grep -i status LV Status NOT available [root@bogon ~]#
步骤5、修改LVM大小
[root@bogon ~]# lvreduce -L 823M /dev/lvmtest/ftp Rounding up size to full physical extent 824.00 MiB Reducing logical volume ftp to 824.00 MiB Logical volume ftp successfully resized [root@bogon ~]#
步骤6、恢复LVM状态改变为 available,否则会无法挂载
[root@bogon ~]# lvchange -ay /dev/lvmtest/ftp [root@bogon ~]# lvdisplay | grep -i status LV Status available
逻辑卷快照功能
1、创建一个快照
[root@fedora14 mydata]# lvcreate -s -L 500M -n ftpsnap /dev/lvmtest/ftp
快照建立完成 ,此时快照区内并没有任何数据 ,而是与原始逻辑卷共享PE数据,所以会看到快照内的文件和原始逻辑卷中的一模一样
如果原始逻辑卷中有一个PE区块被修改,则在修改前系统会将该PE区块中的数据移动到快照区内,而其它的PE区块中的数据还是与原始逻辑卷中的数据共享的
由于快照与原始逻辑卷共享很多PE区块,所以建立快照必须在同一个卷组中
如果原始逻辑卷改变的数据量大于快照的大小,那么快照就会崩溃、失效
2、只读挂载快照区
[root@fedora14 mydata]# mount -o ro /dev/lvmtest/ftpsnap /mnt/mydata-snap/ …… /dev/mapper/lvmtest-ftpsnap on /mnt/mydata-snap type ext4 (ro) [root@fedora14 mydata]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda3 18G 2.6G 15G 16% / tmpfs 501M 0 501M 0% /dev/shm /dev/sda1 291M 27M 249M 10% /boot /dev/mapper/lvmtest-ftp 788M 18M 731M 3% /mnt/mydata /dev/mapper/lvmtest-ftpsnap 788M 18M 731M 3% /mnt/mydata-snap [root@fedora14 mydata]#显示快照区与原始逻辑卷大小一样
[root@fedora14 mydata]# lvdisplay | grep -i size LV Size 800.00 MiB LV Size 800.00 MiB COW-table size 500.00 MiB快照区实际大小(COW-table size)为 500M,被快照的原始逻辑卷大小(LV Size)为 800M
other
修改 PE Size
[root@bogon ~]# vgdisplay --- Volume group --- VG Name lvmtest …… PE Size 4.00 MiB …… [root@bogon ~]# vgchange lvmtest -s 1M [root@bogon ~]# vgdisplay --- Volume group --- VG Name lvmtest …… PE Size 1.00 MiB ……