参考资料:https://www.cnblogs.com/hellojesson/p/4582908.html
参考资料:https://www.cnblogs.com/xiaoluo501395377/archive/2013/05/24/3096087.html
【使fdisk结合partprobe命令不重启系统添加新磁盘分区】
参考资料:http://blog.csdn.net/wonderful19891024/article/details/6166264
LVM逻辑卷基础知识
PV (physical volume)物理卷
VG (Volume Group)卷组
LV ( Logical Volume)逻辑卷
它们之间的关系
1. 先创建PV(物理卷)
2. 给PV(物理卷)中创建一个或多个VG(卷组)
3. 在VG(卷组里)创建LV(逻辑卷)
物理卷命令说明
命令 | 说明 |
---|
pvcreate | 创建物理卷 |
pvs | 查看当前物理卷基本信息 |
pvdisplay | 显示物理卷属性 |
示例
说明:
1. 当前有一块磁盘为 /dev/sdb
2. 使用fdisk命令将它进行分区 fdisk /dev/sdb
3. 将分区后的磁盘改为 8e 【也就是LVM系统】
4. 使用 pvcreate 命令将它进行初始化物理卷,比如: pvcreate /dev/sdb1
操作:
1. fdisk /dev/sdb命令进行创建物理卷
2. pvcreate /dev/sdb1 创建物理卷
3. pvs 查看当前物理卷信息
相关命令说明
[root@LVM ~]# pvdisplay ## 显示当前物理卷的属性信息;查看某个物理卷信息用 pvdisplay /dev/sdb1
"/dev/xdb1" is a new physical volume of "83.98 GiB"
--- NEW Physical volume ---
PV Name /dev/sdb1 ## 物理卷名称
VG Name ## 所属的卷组
PV Size 83.98 GiB ## 物理卷大小
Allocatable NO ## 是否可分配
PE Size 0 ## PE大小
Total PE 0 ## 总PE数
Free PE 0 ## 可用PE数
Allocated PE 0 ## 已分配的PE数
PV UUID gZUQzZ-cz2E-L1mP-vu3W-gQ0w-HSFw-inELyk
// 查看物理卷
[root@LVM ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/s db1 lvm2 --- 83.98g 83.98g
卷组命令说明
命令 | 说明 |
---|
vgcreate | 创建卷组 |
vgs | 查看当前卷组基本信息 |
vgdisplay | 显示卷组属性 |
示例
说明:
1. 根据上面物理卷信息,进行创建卷组;
2. 创建卷组时,必须给卷组起个名字【任何名称都可以】;
3. 查看卷组信息,并进行转交给 LV(逻辑卷)进行操作;
操作:
1. vgcreate vgdata /dev/sdb1 ## vgdata是卷组名称
2. vgs ## 查看当前所有卷组基本信息
3. vgdisplay ## 查看当前所有卷组属性【也可以指定查看某一个卷组信息,如 vgdisplay vgdata】
示例说明
[root@LVM ~]# vgcreate vgdata /dev/sdb1
Volume group "vgdata" successfully created
[root@LVM ~]# vgs ## 查看当前所有卷组基本信息
VG #PV #LV #SN Attr VSize VFree
vgdata 1 0 0 wz--n- 83.98g 83.98g
[root@LVM ~]# vgdisplay ## 查看当前所有卷组属性
--- Volume group ---
VG Name vgdata ## 卷组名称
System ID ## 卷组ID
Format lvm2 ## 格式
Metadata Areas 1 ## 元数据区域
Metadata Sequence No 1 ## 元数据序列
VG Access read/write ## 可读写权限
VG Status resizable ## VG状态, resizable表示可调整大小
MAX LV 0 ## 最大LV
Cur LV 0
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size 83.98 GiB ## 卷组大小
PE Size 4.00 MiB ## PE大小
Total PE 21498 ## 总PE大小
Alloc PE / Size 0 / 0
Free PE / Size 21498 / 83.98 GiB ## 剩余PE大小
VG UUID fJdTeF-qPk1-Rbs1-3rjh-Ccek-4b5R-nQAVDQ
逻辑卷命令说明
常用命令 | 说明 |
---|
lvcreate | 创建逻辑卷 |
lvs | 查看当前所有逻辑卷基本信息 |
lvdisplay | 查看当前所有逻辑卷属性 |
示例
说明:
1. 根据上面的PV(物理卷) 和 VG(卷组)信息进行创建 LV (逻辑卷)
2. 创建命令 lvcreate -L 分配大小 -n 逻辑卷名称 卷组名称
3. 使用 lvs 或 lvdisplay命令进行查看 LV(逻辑卷)属性信息
示例说明
[root@LVM ~]# lvcreate -L 50G -n lvdata vgdata
Logical volume "lvdata1" created
[root@LVM ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lvdata vgdata -wi-a----- 50.00g
[root@LVM ~]# lvdisplay /dev/vgdata/lvdata1 ### 查看当前逻辑卷属性
--- Logical volume ---
LV Path /dev/vgdata/lvdata1
LV Name lvdata ### 逻辑卷名称
VG Name vgdata ### 卷组名
LV UUID xLWslA-a9WU-4EZL-9aCg-qDNc-4v0C-jMFitZ
LV Write Access read/write
LV Creation host, time LVM, 2015-11-26 19:10:38 +0800
LV Status available
# open 0
LV Size 50.00 GiB ### 逻辑卷大小;通过卷组 vgdata里创建分配的
Current LE 12800 ###
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0
格式化分区
说明:
1. 格式化分区的命令时 mkfs.[system.tpye]
2. 格式化完成后,就可以进行挂载使用了
3. 执行partprobe ,不用重启机器,使分区表生效【让kernel重新读取分区,从而避免重启系统】
操作:
1. 这里格式化为ext4类型,mkfs.ext4 /dev/vgdata/lvdata
2. 上述表述为将 /dev/vgdata/lvdata 分区格式化为ext4格式
3. mount /dev/vgdata/lvdata /data_lvm
4. 挂载,将/dev/vgdata/lvdata分区 挂载到/data_lvm目录下
示例
[root@LVM /]# mkdir data_lvm
[root@LVM /]# lvdisplay ## 查看逻辑卷属性
--- Logical volume ---
LV Path /dev/vgdata/lvdata ## LV逻辑卷所在位置
LV Name lvdata
VG Name vgdata
LV UUID xLWslA-a9WU-4EZL-9aCg-qDNc-4v0C-jMFitZ
LV Write Access read/write
LV Creation host, time LVM, 2015-11-26 19:10:38 +0800
LV Status available
# open 0
LV Size 50.00 GiB
Current LE 12800
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0
[root@LVM /]# mount /dev/vgdata/lvdata1 /data_lvm
[root@LVM /]# df -TH
Filesystem Type Size Used Avail Use% Mounted on
/dev/xvda1 ext4 22G 5.6G 15G 28% /
tmpfs tmpfs 4.2G 0 4.2G 0% /dev/shm
/dev/mapper/vgdata-lvdata
ext4 53G 189M 50G 1% /data_lvm ## 表示挂载成功
扩容LVM
描述:
1. 上面讲到了如何创建一个LVM【非安装系统时的创建】
2. 下面说一下如果把第二块硬盘扩容到LVM中,且不改变已有LVM中的内容
说明:
1. 添加第二块硬盘,大小为500GB
2. 将这500GB扩容到当前LVM中,最终大小为 500GB + 84GB == 584GB
操作:
1. 将新硬盘进行分区并格式化为LVM分区
2. 将新的LVM分区磁盘(500GB) 转换为 PV(物理卷)
3. 将 PV(物理卷) 加入到已有的 VG(卷组)中;卷组名为(vgdata)【扩容VG】
4. 将 VG(卷组) 加入到已有的 LV(逻辑卷中;【扩容LV】
示例
步骤一: 将新磁盘(500GB)为LVM分区
步骤二: 将新磁盘(500GB)创建为 PV(物理卷)
[root@LVM ~]# pvcreate /dev/sdc1
Physical volume "/dev/sdc1" successfully created
[root@lbl ~]# pvdisplay
--- Physical volume ---
PV Name /dev/sdb1
VG Name vgdata
PV Size 8.00 GiB / not usable 1.35 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 2047
Free PE 255
Allocated PE 1792
PV UUID 2t7wcJ-fmS7-u3bP-uMI6-2dpn-fi64-pEeder
"/dev/sdc1" is a new physical volume of "500.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sdc1 ## 新添加的PV(物理卷)
VG Name
PV Size 499.99 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID 1CUdZR-p090-0quS-HmeQ-nd4k-rSkk-FYSHlA
[root@LVM /]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb1 vgdata lvm2 a-- 83.98g 33.98g
/dev/sdc1 vgdata lvm2 a-- 499.99g 499.99g
步骤三: 查看 将新磁盘(500GB)的物理卷 扩展到对应的LV(逻辑卷)
[root@LVM ~]# lvdisplay
--- Logical volume ---
LV Path /dev/vgdata/lvmdata
LV Name lvmdata
VG Name vgdata
LV UUID 7LxbTf-tUml-qsdi-COvq-JueV-zz8S-obzN8a
LV Write Access read/write
LV Creation host, time lbl, 2017-08-09 20:27:52 +0800
LV Status available
# open 1
LV Size 7.00 GiB
Current LE 1792
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0
步骤四: 扩容VG(卷组)
[root@LVM ~]# vgextend vgdata /dev/sdc1 ## 将新磁盘(500GB)扩容到 vgdata 卷组中
Volume group "vgdata" successfully extended
[root@LVM ~]# vgdisplay
--- Volume group ---
VG Name vgdata
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 2
Act PV 2
VG Size 507.99 GiB ## 查看扩容后的 VG(卷组),增加了 500GB
PE Size 4.00 MiB
Total PE 4094
Alloc PE / Size 1792 / 7.00 GiB
Free PE / Size 2302 / 500.99 GiB
VG UUID i0B2WL-NWZP-sLOU-qaEi-Uv90-cWwk-jtFNG4
步骤五: 扩容LV(逻辑卷)
[root@LVM /]# lvextend -L 507.99G /dev/vgdata/lvmdata
Rounding size to boundary between physical extents: 507.99 GiB.
Size of logical volume vgdata/lvmdata changed from 499.99 GiB (2302 extents) to 507.99 GiB (4094 extents). ## 因为这里无法模拟500GB 所以只能以增加8GB为演示
Logical volume lvmdata successfully resized.
步骤六:扩容后,查看当前 LV(逻辑卷信息)
[root@LVM /]# lvdisplay
--- Logical volume ---
LV Path /dev/vgdata/lvmdata
LV Name lvmdata
VG Name vgdata
LV UUID 7LxbTf-tUml-qsdi-COvq-JueV-zz8S-obzN8a
LV Write Access read/write
LV Creation host, time lbl, 2017-08-09 20:27:52 +0800
LV Status available
# open 1
LV Size 507.99 GiB
Current LE 4094
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0
步骤七: 扩展LV(逻辑卷)后,当前磁盘使用情况并没有发生变化;所以需要重设大小
[root@LVM /]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 39G 6.8G 30G 19% /
tmpfs 491M 0 491M 0% /dev/shm
/dev/sda1 190M 33M 147M 19% /boot
/dev/mapper/vgdata-lvmdata
6.8G 16M 6.4G 1% /LVMdata
[root@lbl /]# resize2fs /dev/vgdata/lvmdata
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/vgdata/lvmdata is mounted on /LVMdata; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/vgdata/lvmdata to 4192256 (4k) blocks.
The filesystem on /dev/vgdata/lvmdata is now 4192256 blocks long.
[root@lbl /]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 39G 6.8G 30G 19% /
tmpfs 491M 0 491M 0% /dev/shm
/dev/sda1 190M 33M 147M 19% /boot
/dev/mapper/vgdata-lvmdata
16G 20M 15G 1% /LVMdata ### 扩展成功
[root@lbl /]# cat LVMdata/ccc.log 查看扩展容量后,当前磁盘内容没有影响;
aaa
删除LV(逻辑卷)VG(卷组)操作方法
说明:
1. 这里分别介绍如何进行删除 LV(逻辑卷) 和 VG(卷组)
2. 根据实际情况进行删除操作;
3. 删除操作的命令分别是: lvremove 和 vgremove
删除 VG(卷组)
说明:
1. 先查看要删除的卷组名称;
2. 根据卷组名称,进行 vgremove 命令操作;
示例
[root@LVM ~]# vgdisplay vgdata1
--- Volume group ---
VG Name vgdata1
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 3
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 8.00 GiB
PE Size 4.00 MiB
Total PE 2047
Alloc PE / Size 0 / 0
Free PE / Size 2047 / 8.00 GiB
VG UUID Ijeep9-Vybo-CN8c-1cAx-s4Qz-8Xn2-Ksoces
## 开始删除操作
[root@LVM ~]# vgremove vgdata1 ## 删除
Volume group "vgdata1" successfully removed ## 卷组vgdata1成功删除
[root@LVM ~]# vgdisplay vgdata1 ## 再次查看是否删除成功
Volume group "vgdata1" not found
Cannot process volume group vgdata1
错误总结
Volume group "vgdata" has insufficient free space (2047 extents): 2048 required
卷组“vgdata”没有足够的自由空间(2047区段):2048需要
Logical volume "lvmdata" already exists in volume group "vgdata"
逻辑卷“lvmdata”已经存在于卷组“vgdata”中
Extending logical volume vgdata to 26.00 GB Insufficient free space: 321 extents needed, but only 320 available
扩展逻辑卷vgdata 没有足够的空闲空间;