Linux lvm逻辑卷管理
Linux lvm逻辑卷管理
逻辑卷
组件:
物理卷 //是由物理扩展块(PE)组成的 默认的大小是4Mib 物理扩展块里面有存放了lv属性 但占的大小非常小
卷组 // 由一个或多个物理卷组成的
逻辑卷 //从卷组中划分出来
创建物理卷 pvcreate
查看物理卷 pvdisplay
创建卷组 vgcreate
查看卷组 vgdisplay
卷组扩容 vgextend
创建逻辑卷 lvcreate
查看逻辑卷 lvdisplay
逻辑卷扩容lvextend
缩小逻辑卷lveduce
1.xfs 文件系统的逻辑卷只能扩容 不能缩容
先分区 添加扩展分区
在扩展分区里面添加逻辑分区 自动保存退出
同步到硬盘
[root@ws ~]# parted /dev/sda
GNU Parted 3.1
使用 /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) unit
Unit? [compact]? MiB // 设置单位
(parted) p
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sda: 102400MiB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: Number Start End Size Type File system 标志1 1.00MiB 1025MiB 1024MiB primary xfs 启动2 1025MiB 52225MiB 51200MiB primary xfs3 52225MiB 56321MiB 4096MiB primary linux-swap(v1)(parted) mkpart
分区类型? primary/主分区/extended/扩展分区? extended //创建扩展分区
起始点? 56330MiB
结束点? 102390MiB
(parted) mkpart
分区类型? logical/逻辑分区? logical //第一个逻辑分区
文件系统类型? [ext2]?
起始点? 56340MiB
结束点? 56840MiB
(parted) P
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sda: 102400MiB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: Number Start End Size Type File system 标志1 1.00MiB 1025MiB 1024MiB primary xfs 启动2 1025MiB 52225MiB 51200MiB primary xfs3 52225MiB 56321MiB 4096MiB primary linux-swap(v1)4 56330MiB 102390MiB 46060MiB extended lba5 56340MiB 56840MiB 500MiB logical(parted) mkpart
分区类型? logical/逻辑分区? logical //第二个逻辑分区
文件系统类型? [ext2]?
起始点? 56850MiB
结束点? 57350MiB
(parted) p
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sda: 102400MiB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: Number Start End Size Type File system 标志1 1.00MiB 1025MiB 1024MiB primary xfs 启动2 1025MiB 52225MiB 51200MiB primary xfs3 52225MiB 56321MiB 4096MiB primary linux-swap(v1)4 56330MiB 102390MiB 46060MiB extended lba5 56340MiB 56840MiB 500MiB logical6 56850MiB 57350MiB 500MiB logical(parted) quit 保存退出
信息: You may need to update /etc/fstab.[root@ws ~]# udevadm settle //同步到硬盘
在创建物理卷
[root@ws ~]# pvcreate /dev/sda5 Physical volume "/dev/sda5" successfully created.
[root@ws ~]# pvcreate /dev/sda6Physical volume "/dev/sda6" successfully created.
[root@ws ~]# pvdisplay "/dev/sda5" is a new physical volume of "500.00 MiB"--- NEW Physical volume ---PV Name /dev/sda5VG Name PV Size 500.00 MiBAllocatable NOPE Size 0 Total PE 0Free PE 0Allocated PE 0PV UUID y2oXdX-fL4q-SUMQ-Mhwv-1iDA-s9EF-NHo1Go"/dev/sda6" is a new physical volume of "500.00 MiB"--- NEW Physical volume ---PV Name /dev/sda6VG Name PV Size 500.00 MiBAllocatable NOPE Size 0 Total PE 0Free PE 0Allocated PE 0PV UUID bdm17w-ESte-1seC-N8py-os7v-ZUSl-9KZrLZ
在把物理卷创建的大小创建到卷组里面(卷组的大小与物理卷不相同 因卷组有lv属性但是lv属性占的空间非常小)
[root@ws ~]# vgcreate vg0 /dev/sda5 /dev/sda6 //vg0名字自定义Volume group "vg0" successfully created
[root@ws ~]# vgdisplay --- Volume group ---VG Name vg0System ID Format lvm2Metadata Areas 2Metadata Sequence No 1VG Access read/writeVG Status resizableMAX LV 0Cur LV 0Open LV 0Max PV 0Cur PV 2Act PV 2VG Size 992.00 MiBPE Size 4.00 MiBTotal PE 248Alloc PE / Size 0 / 0 Free PE / Size 248 / 992.00 MiBVG UUID tyPoIS-DJnQ-lcfR-dZKs-RnIw-qGmm-HazGnT
最后在把卷组中的大小创建到逻辑卷
[root@ws ~]# lvcreate -L 800M -n lv0 vg0 //-L大小 -l看pe有多少Logical volume "lv0" created.
[root@ws ~]# lvdisplay--- Logical volume ---LV Path /dev/vg0/lv0LV Name lv0VG Name vg0LV UUID lv5uak-VVXs-Zn5f-YXTQ-rMpA-UZW3-BqFKePLV Write Access read/writeLV Creation host, time ws.example.com, 2025-08-05 11:51:38 +0800LV Status available# open 0LV Size 800.00 MiBCurrent LE 200Segments 2Allocation inheritRead ahead sectors auto- currently set to 8192Block device 253:0
文件系统(格式化)
[root@ws ~]# mkfs.xfs /dev/vg0/lv0
meta-data=/dev/vg0/lv0 isize=512 agcount=4, agsize=51200 blks= sectsz=512 attr=2, projid32bit=1= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=204800, imaxpct=25= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=855, version=2= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
在添加目录
[root@ws ~]# mkdir /lv0
查看uuid
[root@ws ~]# blkid
/dev/sr0: UUID="2018-11-25-23-54-16-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
/dev/sda1: UUID="23ebe59f-195e-449e-afb8-ac20d404bc45" TYPE="xfs"
/dev/sda2: UUID="cb56db34-2508-4e45-9737-d8779f561a46" TYPE="xfs"
/dev/sda3: UUID="c686d778-b62c-4dcd-984c-c6f8f040709c" TYPE="swap"
/dev/sda5: UUID="y2oXdX-fL4q-SUMQ-Mhwv-1iDA-s9EF-NHo1Go" TYPE="LVM2_member"
/dev/sda6: UUID="bdm17w-ESte-1seC-N8py-os7v-ZUSl-9KZrLZ" TYPE="LVM2_member"
/dev/mapper/vg0-lv0: UUID="eb40efac-2eed-4560-9d14-6eade1d756a5" TYPE="xfs"
进入vim /etc/fstab
[root@ws ~]# vim /etc/fstab
重新加载etc/fstab文件
[root@ws ~]# mount -a
最后查看df -Th
[root@ws ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/sda2 xfs 50G 3.5G 47G 7% /
devtmpfs devtmpfs 2.0G 0 2.0G 0% /dev
tmpfs tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs tmpfs 2.0G 13M 2.0G 1% /run
tmpfs tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 163M 852M 17% /boot
tmpfs tmpfs 394M 32K 394M 1% /run/user/0
/dev/sr0 iso9660 4.3G 4.3G 0 100% /run/media/root/CentOS 7 x86_64
/dev/mapper/vg0-lv0 xfs 797M 33M 765M 5% /lv0
如果逻辑卷需要1700M需要找卷组 卷组没有 就找物理卷要 物理卷没有找分区 分区没有找硬盘
[root@ws ~]# parted /dev/sda
GNU Parted 3.1
使用 /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) unit
Unit? [compact]? MiB
(parted) mkpart
分区类型? logical/逻辑分区? logical
文件系统类型? [ext2]?
起始点? 57360MiB
结束点? 58360MiB
(parted) p
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sda: 102400MiB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: Number Start End Size Type File system 标志1 1.00MiB 1025MiB 1024MiB primary xfs 启动2 1025MiB 52225MiB 51200MiB primary xfs3 52225MiB 56321MiB 4096MiB primary linux-swap(v1)4 56330MiB 102390MiB 46060MiB extended lba5 56340MiB 56840MiB 500MiB logical6 56850MiB 57350MiB 500MiB logical7 57360MiB 58360MiB 1000MiB logical(parted) quit
信息: You may need to update /etc/fstab.[root@ws ~]# udevadm settle
[root@ws ~]# pvcreate /dev/sda7
[root@ws ~]# vgextend vg0 /dev/sda7Volume group "vg0" successfully extended
[root@ws ~]# vgdisplay--- Volume group ---VG Name vg0System ID Format lvm2Metadata Areas 3Metadata Sequence No 3VG Access read/writeVG Status resizableMAX LV 0Cur LV 1Open LV 1Max PV 0Cur PV 3Act PV 3VG Size 1.94 GiB //PE Size 4.00 MiBTotal PE 497Alloc PE / Size 200 / 800.00 MiBFree PE / Size 297 / 1.16 GiBVG UUID tyPoIS-DJnQ-lcfR-dZKs-RnIw-qGmm-HazGnT[root@ws ~]# lvextend -L 1700M /dev/vg0/lv0 Size of logical volume vg0/lv0 changed from 800.00 MiB (200 extents) to 1.66 GiB (425 extents).Logical volume vg0/lv0 successfully resized.
[root@ws ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/sda2 xfs 50G 3.5G 47G 7% /
devtmpfs devtmpfs 2.0G 0 2.0G 0% /dev
tmpfs tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs tmpfs 2.0G 13M 2.0G 1% /run
tmpfs tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 163M 852M 17% /boot
tmpfs tmpfs 394M 32K 394M 1% /run/user/0
/dev/sr0 iso9660 4.3G 4.3G 0 100% /run/media/root/CentOS 7 x86_64
/dev/mapper/vg0-lv0 xfs 797M 33M 765M 5% /lv0 //发现容量是800M不是1700M
[root@ws ~]# xfs_growfs /lv0/ //同步大小
meta-data=/dev/mapper/vg0-lv0 isize=512 agcount=4, agsize=51200 blks= sectsz=512 attr=2, projid32bit=1= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=204800, imaxpct=25= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=855, version=2= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 204800 to 435200
[root@ws ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/sda2 xfs 50G 3.5G 47G 7% /
devtmpfs devtmpfs 2.0G 0 2.0G 0% /dev
tmpfs tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs tmpfs 2.0G 13M 2.0G 1% /run
tmpfs tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 163M 852M 17% /boot
tmpfs tmpfs 394M 32K 394M 1% /run/user/0
/dev/sr0 iso9660 4.3G 4.3G 0 100% /run/media/root/CentOS 7 x86_64
/dev/mapper/vg0-lv0 xfs 1.7G 33M 1.7G 2% /lv0
注意:逻辑卷的大小必须和该逻辑卷对应的文件系统 的大小保持一志!!!!!!!
ext4文件系统同步大小
resize2fs /dev/卷组名/逻辑卷名
xfs文件系统同步大小
xfs_growfs 挂载点
2.ext4文件系统的逻辑卷即可以扩容也可以缩容
[root@ws ~]# parted /dev/sda
GNU Parted 3.1
使用 /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) unit
Unit? [compact]? MiB
(parted) P
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sda: 102400MiB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: Number Start End Size Type File system 标志1 1.00MiB 1025MiB 1024MiB primary xfs 启动2 1025MiB 52225MiB 51200MiB primary xfs3 52225MiB 56321MiB 4096MiB primary linux-swap(v1)(parted) mkpart
分区类型? primary/主分区/extended/扩展分区? extended
起始点? 56330MiB
结束点? 102390MiB
(parted) p
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sda: 102400MiB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: Number Start End Size Type File system 标志1 1.00MiB 1025MiB 1024MiB primary xfs 启动2 1025MiB 52225MiB 51200MiB primary xfs3 52225MiB 56321MiB 4096MiB primary linux-swap(v1)4 56330MiB 102390MiB 46060MiB extended lba(parted) mkpart
分区类型? logical/逻辑分区? logical
文件系统类型? [ext2]?
起始点? 56340MiB
结束点? 58340MiB
(parted) p
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sda: 102400MiB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: Number Start End Size Type File system 标志1 1.00MiB 1025MiB 1024MiB primary xfs 启动2 1025MiB 52225MiB 51200MiB primary xfs3 52225MiB 56321MiB 4096MiB primary linux-swap(v1)4 56330MiB 102390MiB 46060MiB extended lba5 56340MiB 58340MiB 2000MiB logical(parted) quit
信息: You may need to update /etc/fstab.[root@ws ~]# udevadm settle
[root@ws ~]# pvcreate /dev/sda5Physical volume "/dev/sda5" successfully created.
[root@ws ~]# vgcreate vg1 /dev/sda5Volume group "vg1" successfully created
[root@ws ~]# lvcreate -L 800M -n lv1 vg1
[root@ws ~]# mkfs.ext4 /dev/vg1/lv1
[root@ws ~]# mkdir /lv1
[root@ws ~]# blkid
/dev/sr0: UUID="2018-11-25-23-54-16-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
/dev/sda1: UUID="23ebe59f-195e-449e-afb8-ac20d404bc45" TYPE="xfs"
/dev/sda2: UUID="cb56db34-2508-4e45-9737-d8779f561a46" TYPE="xfs"
/dev/sda3: UUID="c686d778-b62c-4dcd-984c-c6f8f040709c" TYPE="swap"
/dev/sda5: UUID="Qk6Ys0-uxWY-EOfz-c0lD-7Fkm-BZp0-vQAewz" TYPE="LVM2_member"
/dev/mapper/vg1-lv1: UUID="bcbb8422-eb55-40cf-a4f3-47d0411dc3ff" TYPE="ext4"
[root@ws ~]# vim /etc/fstab
[root@ws ~]# mount -a
[root@ws ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/sda2 xfs 50G 3.5G 47G 7% /
devtmpfs devtmpfs 2.0G 0 2.0G 0% /dev
tmpfs tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs tmpfs 2.0G 13M 2.0G 1% /run
tmpfs tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 163M 852M 17% /boot
tmpfs tmpfs 394M 32K 394M 1% /run/user/0
/dev/sr0 iso9660 4.3G 4.3G 0 100% /run/media/root/CentOS 7 x86_64
/dev/mapper/vg1-lv1 ext4 772M 1.6M 714M 1% /lv1
[root@ws ~]# lvextend -L 1700M /dev/vg1/lv1 //逻辑卷扩容
[root@ws ~]# resize2fs /dev/vg1/lv1 //需要同步
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/vg1/lv1 is mounted on /lv1; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
The filesystem on /dev/vg1/lv1 is now 435200 blocks long.[root@ws ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/sda2 xfs 50G 3.5G 47G 7% /
devtmpfs devtmpfs 2.0G 0 2.0G 0% /dev
tmpfs tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs tmpfs 2.0G 13M 2.0G 1% /run
tmpfs tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 163M 852M 17% /boot
tmpfs tmpfs 394M 32K 394M 1% /run/user/0
/dev/sr0 iso9660 4.3G 4.3G 0 100% /run/media/root/CentOS 7 x86_64
/dev/mapper/vg1-lv1 ext4 1.7G 2.4M 1.6G 1% /lv1
在线扩容
离线缩容
1.卸载挂载 // umount /lv1
2.检查逻辑卷是否支持缩小 e2fsck -f /dev/vg1/lv1
3.缩小该逻辑卷对应的文件系统的大小 //resize2fs /dev/vg1/lv1 400M
4.缩小逻辑卷大小 lvreduce
5.重新挂载
[root@ws ~]# umount /lv1/ //卸载
[root@ws ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/sda2 xfs 50G 3.5G 47G 7% /
devtmpfs devtmpfs 2.0G 0 2.0G 0% /dev
tmpfs tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs tmpfs 2.0G 13M 2.0G 1% /run
tmpfs tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 163M 852M 17% /boot
tmpfs tmpfs 394M 32K 394M 1% /run/user/0
/dev/sr0 iso9660 4.3G 4.3G 0 100% /run/media/root/CentOS 7 x86_64
[root@ws ~]# e2fsck -f /dev/vg1/lv1
e2fsck 1.42.9 (28-Dec-2013)
第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
/dev/vg1/lv1: 11/102592 files (0.0% non-contiguous), 11148/435200 blocks
[root@ws ~]# resize2fs /dev/vg1/lv1 400M
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vg1/lv1 to 102400 (4k) blocks.
The filesystem on /dev/vg1/lv1 is now 102400 blocks long.
[root@ws ~]# lvreduce -L 400M /dev/vg1/lv1 WARNING: Reducing active logical volume to 400.00 MiB.THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vg1/lv1? [y/n]: ySize of logical volume vg1/lv1 changed from 1.66 GiB (425 extents) to 400.00 MiB (100 extents).Logical volume vg1/lv1 successfully resized.
[root@ws ~]# mount -a
[root@ws ~]# df -TH
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/sda2 xfs 54G 3.8G 50G 7% /
devtmpfs devtmpfs 2.1G 0 2.1G 0% /dev
tmpfs tmpfs 2.1G 0 2.1G 0% /dev/shm
tmpfs tmpfs 2.1G 14M 2.1G 1% /run
tmpfs tmpfs 2.1G 0 2.1G 0% /sys/fs/cgroup
/dev/sda1 xfs 1.1G 171M 893M 17% /boot
tmpfs tmpfs 413M 33k 413M 1% /run/user/0
/dev/sr0 iso9660 4.6G 4.6G 0 100% /run/media/root/CentOS 7 x86_64
/dev/mapper/vg1-lv1 ext4 396M 1.3M 368M 1% /lv1
[root@ws ~]#
删除逻辑卷
[root@ws ~]# umount /lv1/
[root@ws ~]# vim /etc/fstab //进入fstab文件删除 /lv1
[root@ws ~]# lvremove /dev/vg1/lv1
Do you really want to remove active logical volume vg1/lv1? [y/n]: yLogical volume "lv1" successfully removed
[root@ws ~]# vgremove /dev/vg1Volume group "vg1" successfully removed
[root@ws ~]# pvremove /dev/sda5Labels on physical volume "/dev/sda5" successfully wiped.
[root@ws ~]# parted /dev/sda
GNU Parted 3.1
使用 /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) p
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sda: 107GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: Number Start End Size Type File system 标志1 1049kB 1075MB 1074MB primary xfs 启动2 1075MB 54.8GB 53.7GB primary xfs3 54.8GB 59.1GB 4295MB primary linux-swap(v1)4 59.1GB 107GB 48.3GB extended lba5 59.1GB 61.2GB 2097MB logical(parted) rm 5
(parted) p
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sda: 107GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: Number Start End Size Type File system 标志1 1049kB 1075MB 1074MB primary xfs 启动2 1075MB 54.8GB 53.7GB primary xfs3 54.8GB 59.1GB 4295MB primary linux-swap(v1)4 59.1GB 107GB 48.3GB extended lba(parted) quit
信息: You may need to update /etc/fstab.[root@ws ~]# udevadm settle