📅  最后修改于: 2020-10-31 13:42:01             🧑  作者: Mango
逻辑卷管理(LVM)是Linux用于管理跨不同物理硬盘的存储卷的一种方法。请勿将其与RAID混淆。但是,可以将其视为与RAID 0或J-Bod类似的概念。使用LVM,可以有(例如)三个每个1TB的物理磁盘,然后是大约3TB的逻辑卷,例如/ dev / sdb。甚至两个1.5TB的逻辑卷,5个500GB的卷或任何组合。一个磁盘甚至可以用于逻辑卷的快照。
注–如果配置正确,使用逻辑卷实际上会增加磁盘I / O。它的工作方式类似于跨单独磁盘的RAID 0条带化数据。
当了解LVM的卷管理时,如果我们知道LVM中的每个组件是什么,就会更容易。请研究下表以牢固地掌握每个组件。如果需要,请使用Google进行学习。了解逻辑卷的每个部分对于管理它们都很重要。
PV | Physical Volume | sda |
PP | Physical Partition | sda1 , sda2 |
VG | Volume Group | Pooled physical resources |
LV | Logical Volume | Seen as a storage facility to the operating system |
物理卷将被视为/ dev / sda,/ dev / sdb; Linux检测到的物理磁盘。
物理分区将是磁盘实用程序(例如fdisk)分区的一部分磁盘。请记住,在大多数常见的LVM设置中不建议使用物理分区。示例:磁盘/ dev / sda已分区为包括两个物理分区: / dev / sda1和/ dev / sda1
如果我们有两个每个1TB的物理磁盘,则可以在这两个之间创建几乎2TB的卷组。
从卷组中,我们可以创建三个逻辑卷,每个逻辑卷的大小不超过总卷组的大小。
在熟悉CentOS 7中用于LVM管理的最新和功能最强大的工具之前,我们应该首先探索用于Linux磁盘管理的更多传统工具。这些工具将派上用场,并且仍可与当今的高级LVM工具(如系统存储管理器)一起使用:lsblk,parted和mkfs.xfs。
现在,假设我们在系统中添加了另外一两个磁盘,我们需要枚举Linux检测到的磁盘。在执行被认为具有破坏性的操作之前,我总是建议每次枚举磁盘。 lsblk是获取磁盘信息的好工具。让我们看看CentOS检测到哪些磁盘。
[root@localhost rdc]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─cl-root 253:0 0 17G 0 lvm /
└─cl-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 6G 0 disk
sdc 8:32 0 4G 0 disk
sr0 11:0 1 1024M 0 rom
如您所见,该系统上有三个磁盘:sda,sdb和sdc。
磁盘sda包含我们正在运行的CentOS安装,因此我们不想摆弄sda。 sdb和sdc均已添加到本教程的系统中。让这些磁盘可用于CentOS。
[root@localhost rdc]# parted /dev/sdb mklabel GPT
Warning: The existing disk label on /dev/sdb will be destroyed and all data on this
disk will be lost. Do you want to continue?
Yes/No? Yes
[root@localhost rdc]#
现在,我们为一个磁盘贴上标签。只需以相同的方式在sdc上运行parted命令。
我们将仅在每个磁盘上创建一个分区。要创建分区,将再次使用parted命令。
[root@localhost rdc]# parted -a opt /dev/sdb mkpart primary ext4 0% 100%
警告-您请求的分区从0.00B到6442MB(扇区0..12582911)。
我们可以管理的最近位置是17.4kB至1048kB(扇区34..2047)。
您仍然可以接受吗?
是/否?没有
[root@localhost rdc]# parted -a opt /dev/sdc mkpart primary ext4 0% 100%
信息-您可能需要更新/ etc / fstab。
[root@localhost rdc]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part / boot
└─sda2 8:2 0 19G 0 part
├─cl-root 253:0 0 17G 0 lvm /
└─cl-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 6G 0 disk
└─sdb1 8:17 0 6G 0 part
sdc 8:32 0 4G 0 disk
└─sdc1 8:33 0 4G 0 part
sr0 11:0 1 1024M 0 rom
[root@localhost rdc]#
从lsblk输出中可以看到,我们现在有两个分区,每个分区都位于sdb和sdc上。
最后,在挂载和使用任何卷之前,我们需要添加文件系统。我们将使用XFS文件系统。
root@localhost rdc]# mkfs.xfs -f /dev/sdb1
meta-data = /dev/sdb1 isize = 512 agcount = 4, agsize = 393088 blks
= sectsz = 512 attr = 2, projid32bit = 1
= crc = 1 finobt = 0, sparse = 0
data = bsize = 4096 blocks = 1572352, imaxpct = 25
= sunit = 0 swidth = 0 blks
naming = version 2 bsize = 4096 ascii-ci = 0 ftype = 1
log = internal log bsize = 4096 blocks = 2560, version = 2
= sectsz = 512 sunit = 0 blks, lazy-count = 1
realtime = none extsz = 4096 blocks = 0, rtextents = 0
[root@localhost rdc]# mkfs.xfs -f /dev/sdc1
meta-data = /dev/sdc1 isize = 512 agcount = 4, agsize = 262016 blks
= sectsz = 512 attr = 2, projid32bit = 1
= crc = 1 finobt = 0, sparse = 0
data = bsize = 4096 blocks = 1048064, imaxpct = 25
= sunit = 0 swidth = 0 blks
naming = version 2 bsize = 4096 ascii-ci = 0 ftype = 1
log = internal log bsize = 4096 blocks = 2560, version = 2
= sectsz = 512 sunit = 0 blks, lazy-count = 1
realtime = none extsz = 4096 blocks = 0, rtextents = 0
[root@localhost rdc]#
让我们检查一下以确保每个都有可用的文件系统。
[root@localhost rdc]# lsblk -o NAME,FSTYPE
NAME FSTYPE
sda
├─sda1 xfs
└─sda2 LVM2_member
├─cl-root xfs
└─cl-swap swap
sdb
└─sdb1 xfs
sdc
└─sdc1 xfs
sr0
[root@localhost rdc]#
每个现在都在使用XFS文件系统。让我们挂载它们,检查挂载,然后将文件复制到每个文件。
[root@localhost rdc]# mount -o defaults /dev/sdb1 /mnt/sdb
[root@localhost rdc]# mount -o defaults /dev/sdc1 /mnt/sdc
[root@localhost ~]# touch /mnt/sdb/myFile /mnt/sdc/myFile
[root@localhost ~]# ls /mnt/sdb /mnt/sdc
/mnt/sdb:
myFile
/mnt/sdc:
myFile
此时,我们有两个可用的磁盘。但是,仅当我们手动安装它们时,它们才可用。要在启动时挂载每个文件,我们必须编辑fstab文件。另外,必须为需要访问新磁盘的组设置权限。
CentOS 7的最大补充之一是包含了一个名为System Storage Manager或ssm的实用程序。 System Storage Manager大大简化了在Linux上管理LVM池和存储卷的过程。
我们将完成在CentOS中创建简单卷池和逻辑卷的过程。第一步是安装系统存储管理器。
[root@localhost rdc]# yum install system-storage-manager
让我们使用ssm list命令查看磁盘。
如上所示,系统上总共安装了三个磁盘。
/ sdba1-托管我们的CentOS安装
/ sdb1-安装在/ mnt / sdb
/ sdc1-安装在/ mnt / sdc
我们要做的是使用两个磁盘(sdb和sdc)创建一个卷组。然后,使三个3GB逻辑卷可用于系统。
让我们创建我们的卷组。
[root@localhost rdc]# ssm create -p NEW_POOL /dev/sdb1 /dev/sdc1
默认情况下, ssm将创建一个逻辑卷,扩展整个池的10GB。我们不想要这个,所以让我们删除它。
[root@localhost rdc]# ssm remove /dev/NEW_POOL/lvol001
Do you really want to remove active logical volume NEW_POOL/lvol001? [y/n]: y
Logical volume "lvol001" successfully removed
[root@localhost rdc]#
最后,让我们创建三个逻辑卷。
[root@localhost rdc]# ssm create -n disk001 --fs xfs -s 3GB -p NEW_POOL
[root@localhost rdc]# ssm create -n disk002 --fs xfs -s 3GB -p NEW_POOL
[root@localhost rdc]# ssm create -n disk003 --fs xfs -s 3GB -p NEW_POOL
现在,让我们检查一下新卷。
现在,我们有跨三个物理磁盘分区的三个单独的逻辑卷。
逻辑卷是CentOS Linux中内置的强大功能。在管理这些方面,我们已触及表面。母带库和逻辑卷附带了来自Tutorials Point的实践和扩展学习。到目前为止,您已经了解了CentOS中LVM管理的基础知识,并且具有在单个主机上创建基本条带化逻辑卷的能力。