逻辑卷LVM--(LogLVM管理 ical Volume Manager(逻辑卷管理)的简写)
LVM管理
lvm概念:LVM是Linux环境中对磁盘分区进行管理的一种机制,是建立在硬盘和分区之上、文件系统之下的一个逻辑层,可提高磁盘分区管理的灵活性。#使用LVM主要是方便管理、增加了系统的扩展性。可以跨分区,多个硬盘组合
lvm的特点
#传统分区的缺点:
传统的文件系统是基于分区的,一个文件系统对应一个分区。这种方式比较直观,但不易改变:
1.不同的分区相对独立,无相互联系,空间不能充分利用;
2.当一个分区空间已满时,无法对其扩充,只能采用重新分区/建立文件系统,非常麻烦;或把分区中的数据移到另一个更大的分区中。#当采用LVM时:
1.硬盘的多个分区由LVM统一为卷组管理,可以方便的加入或移走分区以扩大或减小卷组的可用容量,充分利用硬盘空间;
2.文件系统建立在LVM上,可以跨分区,方便使用;
3.当系统空间不足而加入新的硬盘时,不必把用户的数据从原硬盘迁移到新硬盘,而只须把新的分区加入卷组并扩充逻辑卷即可。lvm的制作
lvm的使用
lvm扩容-------在线扩容。可以在有数据的情况下去扩容。基本分区(MBR|GPT) ----> Filesystem(制作文件系统类型) ----> mount(挂载)
逻辑卷LVM ----> Filesystem(制作文件系统类型) ----> mount(挂载)
lvm的制作
第一步,拥有基本分区
做成物理卷: pv ------- sdb1、sdb2 打pv的标记。
加入卷组: vg-------- 卷组里面包含:sdb1 sdb2,建立在PV之上。
逻辑卷 lv ------- 逻辑卷是从卷组里面拿空间出来做成的逻辑卷,在起个名,建立在VG之上
制作文件系统------mkfs.xfs lvm路径
挂载 ------mount 使用lvm#制作lvm的时候可以是一整块硬盘也可以是硬盘分好的区并且是还没有用的。必须是没有做文件系统的
创建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
创建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]
创建vg
[root@linux-server ~]# vgcreate vg1 /dev/sdb #创建vg
Volume group "vg1" successfully created
参数解释:
-s 16M 指的是在分区的时候指定vg的大小。
[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
创建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
制作文件系统并挂载
[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
小复习:
逻辑卷: lv1 lv2 lv3
卷组: vg
物理磁盘: pv pv pv
整理命令
命令 物理磁盘名称
创建pv:pvcreate +/dev/xxx ------------------------pv(物理磁盘)
查看pv:pvs
命令
创建vg:vgcreate +卷组名字 /dev/xxx -------------------------vg(卷组)
查看vg:vgs
命令 大小参数 给lv的名字 属于哪个vg
创建lv:lvcreate -L 大小 -n 名字 vg名字 ---------------------------lv(逻辑卷)
查看lv:lvs数据迁移 本来的挂载点 新的挂载点
pvmove /dev/xxx /dev/xxx命令 pv路径
vgreduce +vg名 /dev/xxx -------------------------------将一个pv从一个卷组中移除。移除lv:lvremove -----------------------------------移除lv(逻辑卷)
移除vg:vgremove -----------------------------------移除vg (卷组)
移除pv:pvremove 如果一个pv做了两个vg,不能移除pv ---------------移除pv(物理磁盘)
扩容vg:vgextend +vg名 +pv路径 ----------------------------扩容vg
注意:
pv不能跨越vg
lv不能跨越vg
系统中可以创建多个vg
vg可以创建多个lv
如果一个磁盘在卷组里不能直接格式化该磁盘,要先将一个磁盘移出卷组然后再格式化,否则卷组内的所有数据消失。
作业:
1 背着做
a 创建lv1 lv2 分别为100M 200M 实现开机自动挂载
到/d1 /d2目录下
b扩容vg 扩大20G
c 重启机器后查看挂载点是否存在?
d 取消永久挂载,改为临时挂载。挂载点不变
e 将sdb上的逻辑卷迁移到 sdd上
f 格式化sdb
2 仔细去看上午的笔记和流程