1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > linux文件系统与磁盘(三)LVM逻辑卷管理

linux文件系统与磁盘(三)LVM逻辑卷管理

时间:2024-01-11 12:50:55

相关推荐

linux文件系统与磁盘(三)LVM逻辑卷管理

前言

LVM(Logic Volume Manager,逻辑卷管理),是Linux管理磁盘的一种方式。在Windows及其他操作系统当中,也有类似的管理方式。

一、基本概念

1.何为逻辑卷管理LVM

逻辑,顾名思义,在逻辑上是讲得通的,在物理上却有可能是有出入的。

LVM,就是将物理上的一组或者多块磁盘组合,甚至是一块磁盘的一部分。将这些磁盘形成一块大的“磁盘池”。再将磁盘池逻辑上分成若干个区域,将其作为文件系统进行挂载。大家可以参照下图进行理解:

2.逻辑卷管理LVM的几个概念

物理卷PV(Physical Volume):就是一块物理磁盘,或者是未格式化的分区。

卷组VG(Volume Group):将物理卷组合成的“磁盘池”。

逻辑卷LG(Logical volume):将卷组拆分成的新的磁盘区域挂载后的名称。

所以说,在实际操作时,需要进行如下步骤:

①挂载物理磁盘

②物理磁盘disk---->物理卷PV:给物理磁盘或者分区打上PV的标记。

③物理卷PV---->卷组VG

④卷组VG---->逻辑卷LG

⑤将逻辑卷LG进行挂载和使用

3.逻辑卷管理LVM的优点

LVM的逻辑卷的大小可以进行动态调整。同时在上述过程中不会出现丢失数据的情况。

所以说,LVM是可扩展的磁盘管理工具。

二、逻辑卷管理的实际操作

1.根据linux文件系统与磁盘(二),进行添加磁盘的操作。

我这里加了一块5GB的磁盘。

[root@hikari ~]# fdisk -l

Disk /dev/nvme0n2: 5 GiB, 5368709120 bytes, 10485760 sectors

Units: sectors of 1 * 512 = 512 bytes

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

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disklabel type: dos

Disk identifier: 0xea8c718f

2.使用fdisk,对磁盘进行分区

①增加一个新的1GB的主分区。

[root@hikari ~]# fdisk /dev/nvme0n2 ----->根据自己的磁盘进行选择

Command (m for help): n

Partition type

p primary (0 primary, 0 extended, 4 free)

e extended (container for logical partitions)

Select (default p): p

Partition number (1-4, default 1): 1

First sector (2048-10485759, default 2048):

Last sector, +sectors or +size{K,M,G,T,P} (2048-10485759, default 10485759): +1G

②这里提示分区1有标记了,问我们是否要删除,选择Y删除标记。

Created a new partition 1 of type ‘Linux’ and of size 1 GiB.

Partition #1 contains a ext2 signature.

Do you want to remove the signature? [Y]es/[N]o: Y

The signature will be removed by a write command.

③同样的,增加一个新的2GB分区。

Partition type

p primary (1 primary, 0 extended, 3 free)

e extended (container for logical partitions)

Select (default p):

Using default response p.

Partition number (2-4, default 2): 2

First sector (2099200-10485759, default 2099200):

Last sector, +sectors or +size{K,M,G,T,P} (2099200-10485759, default 10485759): +2G

Created a new partition 2 of type ‘Linux’ and of size 2 GiB.

④确认一下是否添加成功:

Command (m for help): p

Disk /dev/nvme0n2: 5 GiB, 5368709120 bytes, 10485760 sectors

Units: sectors of 1 * 512 = 512 bytes

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

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disklabel type: dos

Disk identifier: 0xea8c718f

Device Boot Start End Sectors Size Id Type

/dev/nvme0n2p1 2048 2099199 2097152 1G 83 Linux

/dev/nvme0n2p2 2099200 6293503 4194304 2G 83 Linux

Filesystem/RAID signature on partition 1 will be wiped.

⑤最后wq保存退出。磁盘添加成功。

3.给分区打上标记

①使用pvdisplay命令确认是否存在PV。如果未显示信息就是未创建PV。

[root@hikari ~]# pvdisplay

[root@hikari ~]#

②使用pvcreate+磁盘目录创建PV

[root@hikari ~]# pvcreate /dev/nvme0n2p1

Physical volume “/dev/nvme0n2p1” successfully created.

此时,再使用pvdisplay就可以看到新增加的磁盘了。

[root@hikari ~]# pvdisplay

“/dev/nvme0n2p1” is a new physical volume of “1.00 GiB”

— NEW Physical volume —

PV Name /dev/nvme0n2p1

VG Name ----所属的VG。空,说明未分配VG。

PV Size 1.00 GiB

Allocatable NO ----是否可分配

PE Size 0

Total PE 0

Free PE 0

Allocated PE 0

PV UUID (略)

同样的,增加第二块2GB分区。

[root@hikari ~]# pvcreate /dev/nvme0n2p2

Physical volume “/dev/nvme0n2p2” successfully created.

[root@hikari ~]# pvdisplay

“/dev/nvme0n2p1” is a new physical volume of “1.00 GiB”

— NEW Physical volume —

PV Name /dev/nvme0n2p1

VG Name

PV Size 1.00 GiB

Allocatable NO

PE Size 0

Total PE 0

Free PE 0

Allocated PE 0

PV UUID (略)

“/dev/nvme0n2p2” is a new physical volume of “2.00 GiB”

— NEW Physical volume —

PV Name /dev/nvme0n2p2

VG Name

PV Size 2.00 GiB

Allocatable NO

PE Size 0

Total PE 0

Free PE 0

Allocated PE 0

PV UUID (略)

②使用vgcreate+VG名称+所要分配的PV来创建VG

[root@hikari ~]# vgcreate VG1 /dev/nvme0n2p1 /dev/nvme0n2p2

Volume group “VG1” successfully created

同样,使用vgdisplay查看信息

[root@hikari ~]# vgdisplay

— Volume group —

VG Name VG1

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 2.99 GiB ----->1GB+2GB

PE Size 4.00 MiB

Total PE 766

Alloc PE / Size 0 / 0

Free PE / Size 766 / 2.99 GiB

VG UUID (略)

此时,再使用pvdisplay即可看到所属的VG的VG Name了

[root@hikari ~]# pvdisplay

— Physical volume —

PV Name /dev/nvme0n2p1

VG Name VG1

PV Size 1.00 GiB / not usable 4.00 MiB

Allocatable yes

PE Size 4.00 MiB

Total PE 255

Free PE 255

Allocated PE 0

PV UUID (略)

— Physical volume —

PV Name /dev/nvme0n2p2

VG Name VG1

PV Size 2.00 GiB / not usable 4.00 MiB

Allocatable yes

PE Size 4.00 MiB

Total PE 511

Free PE 511

Allocated PE 0

PV UUID (略)

在上述信息中,有一个PE的大小。这个是最小的使用单位。数据就是存放着这一个个PE所组成的文件系统中。

③使用lvcreate来创建LV。

lvcreate有很多功能,通过lvcreate --help可以更好地查看。

通常来说,使用以下格式来创建:

lvcreate -L 分配的大小 -n LV的名字 从哪个VG来

[root@hikari ~]# lvcreate -L 500M -n LV1 VG1

Logical volume “LV1” created.

同样的,使用lvdisplay来进行查看LV:

[root@hikari ~]# lvdisplay

— Logical volume —

LV Path /dev/VG1/LV1

LV Name LV1

VG Name VG1

LV UUID (略)

LV Write Access read/write

LV Creation host, time hikari, -01-26 15:47:25 +0800

LV Status available

#open 0

LV Size 500.00 MiB

Current LE 125

Segments 1

Allocation inherit

Read ahead sectors auto

-currently set to 8192

Block device 253:0

④对该LV进行格式化。

一般来说,最终的lv目录在:

/dev/VG名字/LV名字

[root@hikari ~]# mkfs.xfs /dev/VG1/LV1

meta-data=/dev/VG1/LV1 isize=512 agcount=4, agsize=32000 blks

= sectsz=512 attr=2, projid32bit=1

= crc=1 finobt=1, sparse=1, rmapbt=0

= reflink=1

data = bsize=4096 blocks=128000, imaxpct=25

= sunit=0 swidth=0 blks

naming =version 2 bsize=4096 ascii-ci=0, ftype=1

log =internal log bsize=4096 blocks=1368, version=2

= sectsz=512 sunit=0 blks, lazy-count=1

realtime =none extsz=4096 blocks=0, rtextents=0

⑤使用mount进行挂载。

[root@hikari /]# mkdir /lvno1 -----创建目录

[root@hikari /]# mount /dev/VG1/LV1 /lvno1/ ------挂载

最后,用df -HT查看:

[root@hikari /]# df -HT

/dev/mapper/VG1-LV1 xfs 519M 31M 489M 6% /lvno1

这样,LVM的操作就完成了。

最后,在操作时使用lv/pv/vg+tab可以查看其他相关命令,例如lvresize(重新分配大小)等,可以结合实际情况使用。

下一讲将会讲解parted分区。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。