运维必备基础之LVM逻辑卷管理

简介:

整合小容量磁盘和实现分区的动态伸缩。

boot用来存放引导文件,不要基于LVM创建,开机的过程中不识别逻辑卷。

PVPhysical Volume,物理卷):物理分区,或整个物理磁盘,由PEPhysical Extent,基本单元)组成。

VGVolume Group,卷组):一个或多个物理卷组成的整体。

LVLogical Volume,逻辑卷):从卷组中分割出的一块逻辑存储空间,课通过格式化建立文件系统。

功能

物理卷

卷组

逻辑卷

scan(扫描)

pvscan

vgscan

lvscan

create(创建)

pvcreate

vgcreate

lvcreate

display(显示)

pvdisplay

vgdisplay

lvdisplay

remove(删除)

pvremove

vgremove

lvremove

extend(扩展)


vgextend

lvextend

reduce(减少)


vgreduce

lvreduce

图形管理程序:system-config-lvm

LVM创建过程:创建PV-->创建-->VG-->创建LV-->格式化LV-->挂载

LVM删除过程:卸载-->删除LV-->删除VG-->删除PV

pvcreate 设备路径

vgcreate 卷组名 设备路径

lvcreate -L 大小 -n 逻辑卷名 卷组名

创建LVM实验步骤:

添加一块硬盘20GB

[root@node0 ~]# lsblk   # 查看添加的硬盘

NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT

sr0     11:0    1  3.6G  0 rom  /dvd

sda      8:0    0   20G  0 disk

├─sda1   8:1    0  200M  0 part /boot

├─sda2   8:2    0 1000M  0 part [SWAP]

└─sda3   8:3    0 18.8G  0 part /

sdb      8:16   0   20G  0 disk

[root@node0 ~]# parted /dev/sdb  # 对硬盘进行分区

GNU Parted 2.1

Using /dev/sdb

Welcome to GNU Parted! Type 'help' to view a list of commands.

(parted) mklabel           # 创建分区表                                              

New disk label type? gpt       # 分区表类型为GPT                                           

(parted) mkpart                  # 创建分区                                        

Partition name?  []?                                                     

File system type?  [ext2]? ext4    # 写入文件系统的类型                                       

Start? 0                               # 开始位置                                 

End? 50%                                # 结束位置                                 

Warning: The resulting partition is not properly aligned for best performance.

Ignore/Cancel? i                      # 忽略                                   

(parted) p                             # 显示分区结果                                  

Model: ATA VMware Virtual S (scsi)

Disk /dev/sdb: 21.5GB

Sector size (logical/physical): 512B/512B

Partition Table: gpt

 

Number  Start   End     Size    File system  Name  Flags

 1      17.4kB  10.7GB  10.7GB

 

(parted) mkpart

Partition name?  []?                                                     

File system type?  [ext2]? ext4                                          

Start? 50%                                                               

End? 100%                                                                

(parted) p                                                                

Model: ATA VMware Virtual S (scsi)

Disk /dev/sdb: 21.5GB

Sector size (logical/physical): 512B/512B

Partition Table: gpt

 

Number  Start   End     Size    File system  Name  Flags

 1      17.4kB  10.7GB  10.7GB

 2      10.7GB  21.5GB  10.7GB

 

(parted) quit                         

[root@node0 ~]# pvscan # 扫描现有的PV

  No matching physical volumes found

[root@node0 ~]# pvcreate /dev/sdb1 /dev/sdb2   # 创建PV

  Physical volume "/dev/sdb1" successfully created

  Physical volume "/dev/sdb2" successfully created

[root@node0 ~]# vgcreate vg01 /dev/sdb1 /dev/sdb2

  Volume group "vg01" successfully created

[root@node0 ~]# vgscan # 扫描现有的VG

  Reading all physical volumes.  This may take a while...

  Found volume group "vg01" using metadata type lvm2

[root@node0 ~]# vgs

  VG   #PV #LV #SN Attr   VSize  VFree

  vg01   2   0   0 wz--n- 19.99g 19.99g

[root@node0 ~]# lvcreate -L 15GB -n lv01 vg01   # 创建LV

  Logical volume "lv01" created.

[root@node0 ~]# lvs 

  LV   VG   Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert

  lv01 vg01 -wi-a----- 15.00g                                                   

[root@node0 ~]# lvscan  # 扫描现有的LV

  ACTIVE            '/dev/vg01/lv01' [15.00 GiB] inherit

[root@node0 ~]# mkfs.ext4 /dev/vg01/lv01   # 格式化LV

mke2fs 1.41.12 (17-May-2010)

Filesystem label=

OS type: Linux

Block size=4096 (log=2)

Fragment size=4096 (log=2)

Stride=0 blocks, Stripe width=0 blocks

983040 inodes, 3932160 blocks

196608 blocks (5.00%) reserved for the super user

First data block=0

Maximum filesystem blocks=4026531840

120 block groups

32768 blocks per group, 32768 fragments per group

8192 inodes per group

Superblock backups stored on blocks:

        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208

 

Writing inode tables: done                           

Creating journal (32768 blocks): done

Writing superblocks and filesystem accounting information: done

 

This filesystem will be automatically checked every 39 mounts or

180 days, whichever comes first.  Use tune2fs -c or -i to override.

[root@node0 ~]# lsblk  # 查看设备

NAME                 MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT

sr0                   11:0    1  3.6G  0 rom  /dvd

sda                    8:0    0   20G  0 disk

├─sda1                 8:1    0  200M  0 part /boot

├─sda2                 8:2    0 1000M  0 part [SWAP]

└─sda3                 8:3    0 18.8G  0 part /

sdb                    8:16   0   20G  0 disk

├─sdb1                 8:17   0   10G  0 part

 └─vg01-lv01 (dm-0) 253:0    0   15G  0 lvm 

└─sdb2                 8:18   0   10G  0 part

  └─vg01-lv01 (dm-0) 253:0    0   15G  0 lvm

扩展、缩减LV

[root@node0 ~]# lvextend -L +2GB /dev/vg01/lv01  # 扩展LV

  Size of logical volume vg01/lv01 changed from 15.00 GiB (3840 extents) to 17.00 GiB (4352 extents).

  Logical volume lv01 successfully resized

[root@node0 ~]# lvs

  LV   VG   Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert

  lv01 vg01 -wi-a----- 17.00g         

[root@node0 ~]# lvreduce -L -1GB /dev/vg01/lv01  # 减小LV

  WARNING: Reducing active logical volume to 16.00 GiB

  THIS MAY DESTROY YOUR DATA (filesystem etc.)

Do you really want to reduce lv01? [y/n]: y

  Size of logical volume vg01/lv01 changed from 17.00 GiB (4352 extents) to 16.00 GiB (4096 extents).

  Logical volume lv01 successfully resized

扩展、缩减VG

[root@node0 ~]# lsblk   # 添加硬盘

NAME                 MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT

sr0                   11:0    1  3.6G  0 rom  /dvd

sda                    8:0    0   20G  0 disk

├─sda1                 8:1    0  200M  0 part /boot

├─sda2                 8:2    0 1000M  0 part [SWAP]

└─sda3                 8:3    0 18.8G  0 part /

sdb                    8:16   0   20G  0 disk

├─sdb1                 8:17   0   10G  0 part

 └─vg01-lv01 (dm-0) 253:0    0   16G  0 lvm 

└─sdb2                 8:18   0   10G  0 part

  └─vg01-lv01 (dm-0) 253:0    0   16G  0 lvm 

sdc                    8:32   0   20G  0 disk

[root@node0 ~]# parted /dev/sdc  # 为新添加的硬盘分区

GNU Parted 2.1

Using /dev/sdc

Welcome to GNU Parted! Type 'help' to view a list of commands.

(parted) mkl                                                             

New disk label type? Gpt  # 创建分区表                                                                              

(parted) mkpart             # 创建分区                                              

Partition name?  []?                                                     

File system type?  [ext2]? ext4                                          

Start? 0%                                                                

End? 100%                                                                

(parted) p                    # 查看结果                                           

Model: ATA VMware Virtual S (scsi)

Disk /dev/sdc: 21.5GB

Sector size (logical/physical): 512B/512B

Partition Table: gpt

 

Number  Start   End     Size    File system  Name  Flags

 1      1049kB  21.5GB  21.5GB

 

(parted) quit               # 退出parted分区工具                                             

Information: You may need to update /etc/fstab.      

[root@node0 ~]# lsblk     # 查看结果

NAME                 MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT

sr0                   11:0    1  3.6G  0 rom  /dvd

sda                    8:0    0   20G  0 disk

├─sda1                 8:1    0  200M  0 part /boot

├─sda2                 8:2    0 1000M  0 part [SWAP]

└─sda3                 8:3    0 18.8G  0 part /

sdb                    8:16   0   20G  0 disk

├─sdb1                 8:17   0   10G  0 part

 └─vg01-lv01 (dm-0) 253:0    0   16G  0 lvm 

└─sdb2                 8:18   0   10G  0 part

  └─vg01-lv01 (dm-0) 253:0    0   16G  0 lvm 

sdc                    8:32   0   20G  0 disk

└─sdc1                 8:33   0   20G  0 part

[root@node0 ~]# pvcreate /dev/sdc1  # 创建PV

  Physical volume "/dev/sdc1" successfully created

[root@node0 ~]# vgextend vg01 /dev/sdc1 # 扩展VG

  Volume group "vg01" successfully extended

[root@node0 ~]# vgs   # 查看扩展结果

  VG   #PV #LV #SN Attr   VSize  VFree

  vg01   3   1   0 wz--n- 39.99g 23.99g

root@node0 ~]# lvextend -L +10GB -n /dev/vg01/lv01 # 扩展LV

  Size of logical volume vg01/lv01 changed from 16.00 GiB (4096 extents) to 26.00 GiB (6656 extents).

  Logical volume lv01 successfully resized

[root@node0 ~]# lvs   # 查看扩展结果

  LV   VG   Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert

  lv01 vg01 -wi-a----- 26.00g                                                   

挂载LV

[root@node0 ~]# mkdir /lv01_data   # 创建用于挂载的目录

[root@node0 ~]# ll /dev/vg01/lv01

lrwxrwxrwx. 1 root root 7 Nov 20 16:59 /dev/vg01/lv01 -> ../dm-0

[root@node0 ~]# vim /etc/fstab     # 编辑/etc/fstab配置文件

/dev/vg01/lv01          /lv01_data              ext4    defaults        0 0

[root@node0 ~]# mount -a            # 刷新/etc/fstab

[root@node0 ~]# lsblk               # 查看结果

NAME                 MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT

sr0                   11:0    1  3.6G  0 rom  /dvd

sda                    8:0    0   20G  0 disk

├─sda1                 8:1    0  200M  0 part /boot

├─sda2                 8:2    0 1000M  0 part [SWAP]

└─sda3                 8:3    0 18.8G  0 part /

sdb                    8:16   0   20G  0 disk

├─sdb1                 8:17   0   10G  0 part

 └─vg01-lv01 (dm-0) 253:0    0   26G  0 lvm  /lv01_data

└─sdb2                 8:18   0   10G  0 part

  └─vg01-lv01 (dm-0) 253:0    0   26G  0 lvm  /lv01_data

sdc                    8:32   0   20G  0 disk

└─sdc1                 8:33   0   20G  0 part

  └─vg01-lv01 (dm-0) 253:0    0   26G  0 lvm  /lv01_data

缩减文件系统:

[root@node0 ~]# resize2fs /dev/vg01/lv01 10G

resize2fs 1.41.12 (17-May-2010)

Resizing the filesystem on /dev/vg01/lv01 to 2621440 (4k) blocks.

The filesystem on /dev/vg01/lv01 is now 2621440 blocks long.

删除LVM

[root@node0 ~]# umount /lv01_data/   # 卸载文件系统

[root@node0 ~]# lvremove /dev/vg01/lv01  # 删除LV

Do you really want to remove active logical volume lv01? [y/n]: y # 确认删除

  Logical volume "lv01" successfully removed

[root@node0 ~]# lvs   # 查看结果

[root@node0 ~]# vgremove /dev/vg01   # 删除VG

  Volume group "vg01" successfully removed

[root@node0 ~]# vgs # 查看结果

[root@node0 ~]# lsblk

NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT

sr0     11:0    1  3.6G  0 rom  /dvd

sda      8:0    0   20G  0 disk

├─sda1   8:1    0  200M  0 part /boot

├─sda2   8:2    0 1000M  0 part [SWAP]

└─sda3   8:3    0 18.8G  0 part /

sdb      8:16   0   20G  0 disk

├─sdb1   8:17   0   10G  0 part

└─sdb2   8:18   0   10G  0 part

sdc      8:32   0   20G  0 disk

└─sdc1   8:33   0   20G  0 part

[root@node0 ~]# pvs

  PV         VG   Fmt  Attr PSize  PFree

  /dev/sdb1       lvm2 ---  10.00g 10.00g

  /dev/sdb2       lvm2 ---  10.00g 10.00g

  /dev/sdc1       lvm2 ---  20.00g 20.00g

[root@node0 ~]# pvremove /dev/sdb1 /dev/sdb2 /dev/sdc1    # 删除PV

  Labels on physical volume "/dev/sdb1" successfully wiped

  Labels on physical volume "/dev/sdb2" successfully wiped

  Labels on physical volume "/dev/sdc1" successfully wiped

[root@node0 ~]# pvs  # 查看结果

删除/etc/fstab文件中的配置条目。



 本文转自 棋帅小七 51CTO博客,原文链接:http://blog.51cto.com/xvjunjie/2044320

相关文章
|
机器学习/深度学习 边缘计算 运维
智能化运维的崛起:机器学习在IT基础设施管理中的应用
随着企业对IT基础设施的依赖日益加深,传统的运维模式已难以满足现代业务的需求。本文将探讨智能化运维的概念,分析机器学习技术如何革新IT基础设施的管理方式,提升运维效率,并预测其在未来运维领域的发展趋势。通过具体案例,本文旨在展示智能化运维的实践价值及其对企业数字化转型的推动作用。
289 26
|
机器学习/深度学习 数据采集 运维
智能运维:利用机器学习优化IT基础设施管理
在数字化浪潮的推动下,企业对IT系统的依赖程度日益加深。传统的运维模式已经难以满足现代业务的需求,尤其是在处理海量数据和复杂系统时显得力不从心。本文将探讨如何通过机器学习技术,实现智能化的运维管理,从而提升效率、减少故障时间,并预测潜在问题,保障业务的连续性和稳定性。 【7月更文挑战第27天】
312 10
|
机器学习/深度学习 运维 监控
智能化运维的崛起:机器学习在IT管理中的实践与挑战
本文深入探讨了智能化运维领域,特别是机器学习技术在IT管理中的应用。文章首先介绍了智能化运维的概念及其重要性,随后详细阐述了机器学习在故障预测、自动化响应和系统优化中的作用。同时,文章也指出了实施智能化运维时可能遇到的技术挑战和数据治理问题,并提出了相应的解决策略。最后,通过具体案例分析,展示了机器学习技术如何在实际运维中提高系统稳定性和效率。
|
机器学习/深度学习 人工智能 运维
智能化运维:如何利用AI和机器学习优化IT基础设施管理
随着技术的快速发展,传统的运维方法已无法满足现代企业的需求。本文将深入探讨如何通过人工智能(AI)和机器学习(ML)来革新IT基础设施的管理方式,提升效率并降低成本。我们将从实际案例出发,分析AI与ML在智能监控、故障预测、自动化修复等方面的应用,并讨论实施这些技术时面临的挑战与解决策略。
439 33
|
机器学习/深度学习 存储 数据采集
智能化运维:未来IT管理的关键转型
在数字化浪潮的推动下,企业对IT系统的稳定性、安全性和敏捷性提出了更高的要求。智能化运维,作为一种新兴的运维模式,正逐步成为解决传统运维痛点、提升运维效率的重要手段。本文将探讨智能化运维的核心价值、关键技术及其在现代IT管理中的应用实践,旨在为读者提供一个关于如何实现运维自动化和智能化的全面视角。
|
机器学习/深度学习 运维 监控
智能化运维:利用机器学习优化IT基础设施管理
【7月更文挑战第28天】在数字化时代,智能化运维成为企业提升效率、降低成本的关键。本文将探讨如何通过机器学习技术,实现对IT基础设施的智能监控与自动化管理,包括预测性维护、异常检测和性能优化等策略,旨在为读者提供一套实用的智能化运维解决方案。
|
机器学习/深度学习 数据采集 人工智能
智能运维:利用AI技术优化IT基础设施管理
在数字化时代,IT基础设施的复杂性与日俱增。面对海量的数据和设备,传统的运维方法显得力不从心。本文将探讨如何通过人工智能(AI)技术实现智能运维,从而提高IT基础设施的效率、稳定性和安全性。我们将深入分析AI在故障预测、自动化处理和安全管理中的应用实例,并讨论实施智能运维时面临的挑战与解决策略。 【7月更文挑战第29天】
481 2
|
机器学习/深度学习 运维 监控
智能化运维:利用机器学习优化IT基础设施管理
【7月更文挑战第23天】在数字化时代的浪潮中,IT基础设施的复杂性日益增加,传统的运维方法已难以满足现代企业的需求。本文将探讨如何通过机器学习技术,实现智能化运维,提升IT基础设施的管理效率和响应速度。我们将从智能监控、自动化故障处理、预测性维护三个方面展开讨论,并结合实际案例,展示智能化运维在实际应用中的巨大潜力。
|
机器学习/深度学习 人工智能 运维
智能化运维:AI在IT管理中的革命性角色
随着人工智能(AI)技术的迅猛发展,其在信息技术(IT)运维领域的应用正逐步深化,引领着一场技术与方法论的变革。通过集成机器学习、大数据分析等先进技术,AI不仅优化了故障检测与响应流程,更在预测性维护和自动化任务执行方面展现出巨大潜力。本文将探讨AI如何重塑IT运维的未来,提高企业效率,降低运营成本,并预示未来可能的发展方向。
|
机器学习/深度学习 数据采集 人工智能
智能化运维:AI在IT管理中的革命性影响
【7月更文挑战第24天】本文深入探讨了人工智能(AI)在现代IT运维领域中的应用及其对行业实践的颠覆性影响。通过分析AI技术如何优化故障检测、自动化任务处理和预测性维护,我们揭示了智能化运维如何提升效率、降低成本并增强系统稳定性。文章进一步讨论了实现智能化运维的挑战与机遇,以及未来发展趋势。