LVM之一

linux 下的md和dm模块:

md(Multiple devices):

A Btrfs filesystem can be created on top of many devices, and more devices can be added after the FS has been created.

By default, metadata will be mirrored across two devices and data will be striped across all of the devices present.

If only one device is present, metadata will be duplicated on that one device.

dm(device Mapper):

Device Mapper 是 Linux2.6 内核中支持逻辑卷管理的通用设备映射机制,它为实现用于存储资源管理的块设备驱动提供了一个高度模块化的内核架构,如图 1。

md很多功能dm都可以实现,比如linear模块可以实现md中jbod功能,mirror可以实现raid 1 ,而dm很多模块是md所不具备的。比如:

snapshot(快照):

快照实质是为某个时间点的文件系统中的所有文件提供另外一个路径存储在快照中,当文件要被更改的时候,文件先拷贝一份放在快照中,而未被更改的则不做任何改动,这样当访问某个快照的时候,如果文件被更改则直接在快照中找到,否则则通过快照访问原来文件的位置。

快照的用途很多:比如用于虚拟机,另外一个比较有用的用途是在实时性要求很高的场景中进行数据备份,由于服务器不能中断,当我们用其他方法备份的时候,由于每个时间段的数据都不一样,导致备份出来的数据不能用,而利用快照则可以实现我们的要求。

multipath(多路径):

有时候我们对生产环境安全要求比较高,这个时候我们可以提供冗余链路,而利用这个模块,可以对链路进行控制利用。

lvm:lvm利用dm的功能实现了从逻辑设备到物理设备的映射框架机制,在该机制下,用户可以很方便的根据自己的需要制定实现存储资源的管理策略

lvm模型:

    

基本概念:

pv(physical volume物理卷):即图中的/dev/sda1,/dev/sdb1,/dev/sdc1,/dev/sdd1,真正的物理存储设备。

VG(volume Group卷组):即图中的逻辑集合,也就是pv的集合,向上层提供接口

lv(logic Volume逻辑卷):即图中的逻辑分区,建立在卷组之上,可以创建文件系统

PE(physical Extent 物理盘区):每一个物理卷PV被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。所以物理卷(PV)由大小等同的基本单元PE组成。

LE(logic Extent逻辑盘区)和物理盘区是一样的,只是站在逻辑卷的角度来看

lvm的机制就是把物理设备的功能通过dm模块虚拟化,dm为其创建卷组,当需要某个物理设备的时候,就把这个物理设备作为pv加入到卷组,并向上提供给逻辑卷,在一个逻辑卷看来,卷组类似于一个大的磁盘,可以使用其提供的LE,也可以把不用的LE归还给它,让其他的逻辑卷使用,而对底层的物理设备的使用并不关心,由卷组实现其功能。 所有同一卷组里面的逻辑卷磁盘大小总和不能大于卷组本身,卷组可以通过增删PV进行扩容,逻辑卷可以通过增删LE进行扩容。

当一个卷组创建的时候,它的PE就固定了,当一个PV加入到某个卷组的时候,它会被格式化成与卷组相同的PE

例子:

安装lvm工具:

[[email protected] ~]# yum  install  lvm-common lvm2 evms  -y

创建pv:

[[email protected] ~]# pvcreate /dev/sdb1 /dev/sdb2

Physical volume "/dev/sdb1" successfully created

Physical volume "/dev/sdb2" successfully created

[[email protected] ~]# pvs

PV         VG   Fmt  Attr PSize PFree

/dev/sdb1       lvm2 ---  2.01g 2.01g

/dev/sdb2       lvm2 ---  3.01g 3.01g

创建VG:

[[email protected] ~]# vgcreate myvg /dev/sdb1  /dev/sdb2 -s 8M(-s指定pe大小,可以不加默认4M)

Volume group "myvg" successfully created

[[email protected] ~]# vgdisplay

--- Volume group ---

VG Name               myvg

System ID

Format                lvm2

Metadata Areas        2

Metadata Sequence No  1

VG Access             read/write

VG Status             resizable

MAX LV                0

Cur LV                0

Open LV               0

Max PV                0

Cur PV                2

Act PV                2

VG Size               5.01 GiB

PE Size               8.00 MiB

Total PE              641

Alloc PE / Size       0 / 0

Free  PE / Size       641 / 5.01 GiB

VG UUID               2EpSci-0YXx-HAYV-zOIn-H4cP-jMlq-DRsVBq

创建LV:

[[email protected] ~]# lvcreate -L 5G  myvg

Logical volume "lvol0" created.

[[email protected] ~]# lvdisplay

--- Logical volume ---

LV Path                /dev/myvg/lvol0

LV Name                lvol0

VG Name                myvg

LV UUID                2Uwnl6-4p0M-uRSB-BHM7-1w1J-9GNw-paARoV

LV Write Access        read/write

LV Creation host, time logstash, 2016-03-09 16:30:10 +0800

LV Status              available

# open                 0

LV Size                5.00 GiB

Current LE             640

Segments               2

Allocation             inherit

Read ahead sectors     auto

- currently set to     256

Block device           253:0

格式化lv并挂载

[[email protected] ~]# mke2fs -j /dev/myvg/lvol0

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

327680 inodes, 1310720 blocks

65536 blocks (5.00%) reserved for the super user

First data block=0

Maximum filesystem blocks=1342177280

40 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

Writing inode tables: done

Creating journal (32768 blocks): done

Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 27 mounts or

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

[[email protected] ~]# mount /dev/myvg/lvol0  /data

[[email protected] ~]# df -h

Filesystem            Size  Used Avail Use% Mounted on

/dev/sda2              20G  4.0G   15G  22% /

tmpfs                 234M     0  234M   0% /dev/shm

/dev/sda1             190M   41M  140M  23% /boot

/dev/mapper/myvg-lvol0

5.0G  139M  4.6G   3% /data

lv的扩容:

查看vg的剩余容量:

[[email protected] ~]# vgs

VG   #PV #LV #SN Attr   VSize VFree

myvg   2   1   0 wz--n- 5.01g 8.00m

对vg进行扩容

[[email protected] ~]# vgextend  myvg  /dev/{sdb3,sdb4}

Volume group "myvg" successfully extended

[[email protected] ~]# vgs

VG   #PV #LV #SN Attr   VSize VFree

myvg   4   1   0 wz--n- 9.01g 4.01g

对lv进行扩容

[[email protected] ~]# lvextend   -L +3G /dev/mapper/myvg-lvol0

Size of logical volume myvg/lvol0 changed from 5.00 GiB (640 extents) to 8.00 GiB (1024 extents).

Logical volume lvol0 successfully resized

[[email protected] /]# umount  /data/

[[email protected] /]# e2fsck  -f /dev/mapper/myvg-lvol0  (检查磁盘)

e2fsck 1.41.12 (17-May-2010)

Pass 1: Checking inodes, blocks, and sizes

Pass 2: Checking directory structure

Pass 3: Checking directory connectivity

Pass 4: Checking reference counts

Pass 5: Checking group summary information

/dev/mapper/myvg-lvol0: 12/327680 files (0.0% non-contiguous), 55936/1310720 blocks

[[email protected] /]# resize2fs  /dev/mapper/myvg-lvol0    (重新读取大小)

resize2fs 1.41.12 (17-May-2010)

Resizing the filesystem on /dev/mapper/myvg-lvol0 to 2359296 (4k) blocks.

The filesystem on /dev/mapper/myvg-lvol0 is now 2359296 blocks long.

[[email protected] /]# mount  /dev/mapper/myvg-lvol0   /data/   (重新挂载)

[[email protected] /]# df -h

Filesystem            Size  Used Avail Use% Mounted on

/dev/sda2              20G  4.0G   15G  22% /

tmpfs                 234M     0  234M   0% /dev/shm

/dev/sda1             190M   41M  140M  23% /boot

/dev/mapper/myvg-lvol0

8.9G  140M  8.3G   2% /data

lv和vg的缩减以及pv的移除

注意:  reduce和remove的区别  reduce是缩减,而remove则是移除!会删除磁盘上的数据,所以注意lvreduce,lvremove还有vg和pv相关命令的使用。

lv的缩减:

[[email protected] /]# umount /data/

[[email protected] /]# resize2fs   /dev/mapper/myvg-lvol0   2G

[[email protected] /]# lvreduce  -L 2G  /dev/mapper/myvg-lvol0

WARNING: Reducing active and open logical volume to 2.00 GiB

THIS MAY DESTROY YOUR DATA (filesystem etc.)

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

Size of logical volume myvg/lvol0 changed from 9.00 GiB (1152 extents) to 2.00 GiB (256 extents).

Logical volume lvol0 successfully resized

也可以用lvreduce  -L 2G -f -r  /dev/mapper/myvg-lvol0一条命令完成,reduce有风险,注意数据的备份。

vg的缩减:

[[email protected] /]# vgs

VG   #PV #LV #SN Attr   VSize VFree

myvg   4   1   0 wz--n- 9.01g 7.01g

[[email protected] /]# vgreduce  myvg  /dev/sdb3

Removed "/dev/sdb3" from volume group "myvg"

[[email protected] /]# vgs

VG   #PV #LV #SN Attr   VSize VFree

myvg   3   1   0 wz--n- 7.01g 5.01g

pv的移除:

[[email protected] /]# pvmove   /dev/sdb4  (移除pv前必须使用这条命令把pv上的数据转移到其他pv)

No data to move for myvg

[[email protected] /]# pvremove   /dev/sdb4

PV /dev/sdb4 belongs to Volume Group myvg so please use vgreduce first.

(If you are certain you need pvremove, then confirm by using --force twice.)

[[email protected] /]# vgreduce myvg /dev/sdb4

Removed "/dev/sdb4" from volume group "myvg"

[[email protected] /]# pvremove   /dev/sdb4   (这条命令会抹除数据,慎用!!)

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

时间: 2024-09-29 03:42:11

LVM之一的相关文章

LVM系统快照

上一章写了LVM的创建.扩展.缩小(上一章链接http://bella41981.blog.51cto.com/10603572/1794365).还差一点没弄明白,那就是LVM的快照,有一个小小的弯没有绕过来,今天终于弄明白了,整理出来和大家分享一下. 2.0.LVM快照 添加磁盘 [[email protected] ~]# vgdisplay ---Volume group --- VGName               vbirdvg System ID Format         

Linux Lvm创建详解

Disk管理 LVM(Logical Volume Manager)逻辑卷管理建立在硬盘和分区之上,文件系统之下的逻辑层,能在保持原有数据不变的状况下动态调整磁盘容量/boot分区不能创建在逻辑卷上(跟启动引导相关)必须独立出来 LVM概念  创建时在硬盘头部预留一个块,用于保存LVM属性PV物理卷--->VG卷组--->LV逻辑卷--->格式化--->挂载使用文件系统 2.LVM管理命令功能          物理卷          卷组          逻辑卷scan(扫描

LVM基本应用 扩展及缩减实现

LVM: Logical Volume Manage 首先: pv管理工具:  pvs:简要pv信息显示  pvdisplay:显示pv的详细信息 pvcreate /dev/DEVICE: 创建pv vg管理工具:  vgs  vgdisplay vgcreate  [-s #[kKmMgGtTpPeE]] VolumeGroupName  PhysicalDevicePath [PhysicalDevicePath...]  vgextend  VolumeGroupName  Physic

Linux Raid和LVM管理

1.磁盘管理 #提示没有partprobe yum -y install parted #新硬盘新建分区,并将类型改为Linux Raid autodetect #非交互方式,注意1与t之间有一个回车键 fdisk /dev/sde <fdisk.txt fdisk.txt: n p 1 1 t fd w #新建分区,注意1与w之间有一个回车键 fdisk /dev/sdf <fdisk1.txt fdisk.txt: n p 1 1 w q #将磁盘格式化为ext4文件系统 mkfs.ext

Centos LVM扩展磁盘实例

环境: centos 前期了解: 最大磁盘问题 1,对lvm2创建的LVM卷来说,容量大小取决于kernel的限制 (当然,还有你的磁盘空间).对lvm1创建的LVM卷来说,LVM逻辑卷最大可能容量取决于所用扩展大小.  计算公式是:65534 * 扩展大小 = 最大逻辑卷大小,默认pe是为4M,范围是8K-16G,lvm1最大扩展到1PB 65534 * 16GB = 1,048,544 GB 2,对于大于2TB的磁盘,应该用parted来分区(下篇文章将会讲解),fdisk只能支持2TB以下

LVM卷配置管理

一.LVM的建立: 1.添加一块新的硬盘sdb: 2.新建四个分区sdb1.sdb2.sdb3.sdb4,分别为1G: 3.将sdb1与sdb2组成pv: 4.新建卷组mfvg,并将sdb1与sdb2加入其中: 5.新建lv: 6.格式化并挂在lv: 7.查看新建的lv: 二.LVM的增大:将mflv增大到4G: 由于pv总大小只有2G,所以需要将pv进行扩展: 2.扩展mfvg: 3.扩展mflv: 4.查看扩展后的mflv: 5.可以看出文件系统并为增加到4G,所以还需如下操作: 6.再次查

linux学习之路之LVM

试想一种情况,当初我们在规划磁盘的时候,只给某一个磁盘或分区之划分了30G的容量,但是后来,随着业务的需求,该磁盘或者分区的使用量会越来越大,等到以后再有数据存放时,发现该磁盘或者分区的容量不够用,此时该怎么办了?可以新增一个磁盘,经过格式化,挂载等过程就可以使用这个磁盘了,再将原来磁盘的数据完全的复制过来.等到后来又发现,规划的磁盘又太大了,然后又使用上述方法来减少磁盘的大小.虽然这种方法可行,但是效率低,比较复杂.不应该是我们首选的方法. 当然,我们可以这样做,将多个磁盘或者分区(PV)组合

Linux-6.5下 MariaDB-10基于LVM快照的备份数据 详解

理解部分: LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性.LVM可以对分区在线扩容,快照,镜像和条带化,功能非常强大.这篇文章的主题就是其中一个功能--快照. 快照(Snapshot)就是关于指定数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点(拷贝开始的时间点)的映像.快照可以是其所表示的数据的一个副本,也可以是数据的一个复制品: 其实

LVM简单使用

如何为系统(CentOS6.x)添加一个LVM磁盘分区 知识先导: Q1: 什么是LVM? A1:LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制.可以从根本上解决磁盘分区大小问题,用户在无需停机的情况下可以方便地调整各个分区大小[1]. Q2:PV/VG/LV分别代表什么? A2:PV(Physical Volumn)/VG(Volumn Group)/LV(Logical Volumn),中文依次为物理卷/卷组/逻辑

KVM虚拟化搭建及其KVM中LVM扩容

KVM虚拟化搭建及其KVM中LVM扩容 前言: 公司项目方最近有两台物理服务器系统分别为CentOS 7.2.需要部署KVM虚拟化,第一台服务器A需要虚拟出三台虚拟机(均为CentOS 7.2系统),服务器B上需要虚拟出三台CentOS 7.2 系统和两台windows server2012 系统.其中六台CentOS 7.2 虚拟机需要部署我们自己的平台,两台windows分别部署客户的平台.下面来为大家说一下KVM虚拟化的搭建,以及创建虚拟机的两种办法,及其操作使用.     KVM小课补: