lvm的制作
1.添加硬盘 2.做物理卷 pvcreate /dev/sdb 3.将物理卷加入卷组 vgcreate 卷组 物理卷 4.做逻辑卷 lvcreate -L +10G -n 逻辑卷 卷组路径 lvcreate -l +100%FREE -n 逻辑卷 卷组路径 5.制作文件系统 mkfs.ext4 逻辑卷路径 mkfs.xfs 逻辑卷路径 6.创建挂载目录 mkdir 目录 7.挂载 mount 逻辑卷路径 挂载目录 8.开机自动挂载 vim /etc/fstab | vim /etc/rc.local 查看uuid------blkid
详解
2.1.创建LVM
首先准备添加3块磁盘:可以是/dev/sdb这种没有分区的也可以是/dev/sdb1这种已经分区了的
注意:如果没有pv命令安装 #yum install -y lvm2
[root@linux-server ~]# ll /dev/sd* brw-rw----. 1 root disk 8, 0 Nov 9 12:59 /dev/sda brw-rw----. 1 root disk 8, 1 Nov 9 12:59 /dev/sda1 brw-rw----. 1 root disk 8, 2 Nov 9 12:59 /dev/sda2 brw-rw----. 1 root disk 8, 16 Nov 9 12:59 /dev/sdb brw-rw----. 1 root disk 8, 32 Nov 9 12:59 /dev/sdc brw-rw----. 1 root disk 8, 48 Nov 9 14:04 /dev/sdd
2.2.创建pv
[root@linux-server ~]# pvcreate /dev/sdb #创建pv Physical volume "/dev/sdb" successfully created. [root@linux-server ~]# pvs #查看pv PV VG Fmt Attr PSize PFree /dev/sdb lvm2 --- 10.00g 10.00g [root@linux-server ~]# pvscan #查看pv PV /dev/sda2 VG centos lvm2 [<19.00 GiB / 0 free] PV /dev/sdb lvm2 [10.00 GiB] Total: 2 [<29.00 GiB] / in use: 1 [<19.00 GiB] / in no VG: 1 [10.00 GiB] [root@linux-server ~]# pvdisplay #查看pv
2.3.创建vg
[root@linux-server ~]# vgcreate vg1 /dev/sdb #创建vg Volume group "vg1" successfully created 参数解释: -s 16M 指的是在分区的时候指定pe的大小。 [root@linux-server ~]# vgs #查看vg VG #PV #LV #SN Attr VSize VFree centos 1 2 0 wz--n- <19.00g 0 vg1 1 0 0 wz--n- <10.00g <10.00g [root@linux-server ~]# vgscan Reading volume groups from cache. Found volume group "centos" using metadata type lvm2 Found volume group "vg1" using metadata type lvm2 [root@linux-server ~]# vgdisplay #查看vg --- Volume group --- VG Name vg1 System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 2 VG Access read/write VG Status resizable MAX LV 0 Cur LV 1 Open LV 0 Max PV 0 Cur PV 1 Act PV 1 VG Size <10.00 GiB PE Size 4.00 MiB Total PE 2559 Alloc PE / Size 0 / 0 MiB Free PE / Size 2559 / <10.00 GiB VG UUID bVvQxe-4M2A-mMuk-b3gJ-4Maj-0xDy-5QZDOp
2.4.创建lv
[root@linux-server ~]# lvcreate -L 150M -n lv1 vg1 #创建lv Rounding up size to full physical extent 152.00 MiB Logical volume "lv1" created. [root@linux-server ~]# lvcreate -l 20 -n lv2 vg1 #采用PE方式在创建一个lv Logical volume "lv2" created. 参数解释: -L 指定lv的大小 -n 给创建的lv起一个名字 -l 20 指定PE [root@linux-server ~]# lvs #查看lv LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root centos -wi-ao---- <17.00g swap centos -wi-ao---- 2.00g lv1 vg1 -wi-a----- 152.00m lv2 vg1 -wi-a----- 80.00m
2.5.制作文件系统并挂载
[root@linux-server ~]# mkfs.xfs /dev/vg1/lv1 [root@linux-server ~]# mkfs.ext4 /dev/vg1/lv2 [root@linux-server ~]# mkdir /mnt/lv{1..2} [root@linux-server ~]# mount /dev/vg1/lv1 /mnt/lv1 [root@linux-server ~]# mount /dev/vg1/lv2 /mnt/lv2 [root@linux-server ~]# df -Th Filesystem Type Size Used Avail Use% Mounted on /dev/mapper/vg1-lv1 xfs 149M 7.8M 141M 6% /mnt/lv1 /dev/mapper/vg1-lv2 ext4 74M 1.6M 67M 3% /mnt/lv2
2.6开机自动挂载
vim /etc/fstab 添加/dev/vg1/lv1 /mnt xfs defaults 0 0 /dev/vg1/lv2 /mnt ext4 defaults 0 0
lvm逻辑卷扩容
#卷组没有剩余空间时 1.添加硬盘(sdc) 2.添加物理卷(pv) pvcreate /dev/sdc 3.卷组扩容(vg) vgextend /dev/vg /dev/sdc 4.逻辑卷扩容(lv) 两种方法 lvextend -L +10G /dev/vg/lv1 lvextend -l +100%FREE /dev/vg/lv1 5.格式化 两种方法 xfs_growfs /dev/vg/lv1 #xfs文件系统 resize2fs /dev/vg/lv1 #ext4文件系统
详解
#注意:如果lv所在的vg有空间直接扩容就ok了!
1.1.扩大VG vgextend
1.创建pv [root@linux-server ~]# pvcreate /dev/sdc Physical volume "/dev/sdc" successfully created. 2.直接vgextend扩容 [root@linux-server ~]# vgextend vg1 /dev/sdc #vg1卷组名字,将/dev/sdc扩展到vg1中 Volume group "vg1" successfully extended [root@linux-server ~]# vgs VG #PV #LV #SN Attr VSize VFree centos 1 2 0 wz--n- <19.00g 0 vg1 2 2 0 wz--n- 19.99g 18.23g
1.2.实战lv扩容
[root@linux-server ~]# vgs #查看vg VG #PV #LV #SN Attr VSize VFree centos 1 2 0 wz--n- <19.00g 0 vg1 1 2 0 wz--n- <19.99g <9.77g [root@linux-server ~]# lvextend -L 850M /dev/vg1/lv1 #扩展到850M [root@linux-server ~]# lvextend -L +850M /dev/vg1/lv1 #在原有基础上加850M [root@linux-server ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root centos -wi-ao---- <17.00g swap centos -wi-ao---- 2.00g lv1 vg1 -wi-ao---- 1.66g lv2 vg1 -wi-ao---- 80.00m [root@linux-server ~]# lvextend -l +15 /dev/vg1/lv1 #在原有基础上加15个PE [root@linux-server ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root centos -wi-ao---- <17.00g swap centos -wi-ao---- 2.00g lv1 vg1 -wi-ao---- <1.68g lv2 vg1 -wi-ao---- 80.00m
1.3.FS(file system)文件系统扩容
[root@linux-server ~]# df -Th Filesystem Type Size Used Avail Use% Mounted on /dev/mapper/vg1-lv1 xfs 149M 7.8M 141M 6% /mnt/lv1 /dev/mapper/vg1-lv2 ext4 74M 1.6M 67M 3% /mnt/lv2 [root@linux-server ~]# xfs_growfs /dev/vg1/lv1 #xfs扩容 [root@linux-server ~]# resize2fs /dev/vg1/lv2 #ext4扩容 [root@linux-server ~]# df -Th Filesystem Type Size Used Avail Use% Mounted on /dev/mapper/vg1-lv1 xfs 1.7G 9.1M 1.7G 1% /mnt/lv1 /dev/mapper/vg1-lv2 ext4 74M 1.6M 67M 3% /mnt/lv2
lvm逻辑卷缩容
在 Linux 系统中,LVM (Logical Volume Manager) 是一种用于管理磁盘分区的工具,它允许你创建、删除、扩展和缩小逻辑卷(Logical Volume)。
重要提示:在进行任何磁盘操作前,请务必备份重要数据。操作错误可能导致数据丢失。
-
备份数据: 在开始缩小逻辑卷之前,首先备份其中的所有数据,以防止数据丢失。
-
卸载逻辑卷: 如果逻辑卷包含操作系统的根目录或者已挂载的其他重要目录,需要在进入单用户模式下或使用 Live CD 环境下卸载该逻辑卷。这是因为无法在线缩小当前正在使用的逻辑卷。
-
卸载文件系统: 在缩小逻辑卷之前,确保已卸载文件系统。如果是 ext2/ext3/ext4 文件系统,可以使用以下命令:
umount /mnt/vg2/lv1/
-
检查文件系统: 在缩小逻辑卷之前,最好使用文件系统检查工具检查文件系统是否有错误。对于 ext2/ext3/ext4 文件系统,可以运行:
e2fsck -f /dev/vg2/lv1
-
缩小逻辑卷: 使用
lvresize
命令来缩小逻辑卷。例如,假设你要将逻辑卷/dev/vg2/lv1
缩小到 10G,可以运行:lvresize --resizefs --size 10G /dev/vg2/lv1
这将缩小逻辑卷的大小,并自动调整文件系统大小。
-
重新挂载逻辑卷: 如果你在步骤2中卸载了逻辑卷,现在可以重新挂载它。
-
验证操作: 确认文件系统和逻辑卷已成功缩小到所需大小。