Linux卷管理 Linux包管理 逻辑卷管理(LVM) 是Linux用来管理跨不同物理硬盘的存储卷的一种方法。这不要与RAID混淆。但是,它可以被认为是与RAID 0或J- Bod类似的概念。对于LVM,可以有(例如)每个1TB的三个物理磁盘,然后是大约3TB的逻辑卷,例如/dev/sdb。或者甚至两个1.5TB的逻辑卷,5个500GB的卷或任何组合。一个磁盘甚至可以用于逻辑卷的快照。 注 - 如果配置正确,使用逻辑卷实际上会增加磁盘I / O。 这与RAID 0在不同磁盘上分割数据的方式类似。 使用LVM了解卷管理时,如果我们知道LVM中的每个组件是什么,就会更容易。请研究下表以便牢固掌握每个组件。如果您需要,请使用Google进行学习。理解每一块逻辑卷对于管理它们非常重要。 PV 物理卷 sda PP 物理分区 sda1 , sda2 VG 卷组 汇集物理资源 LV 逻辑卷 作为操作系统的存储设备 物理卷 将被看作/ dev / sda上,的/ dev / SDB; 一个由Linux检测到的物理磁盘。 物理分区 将是由磁盘实用程序如fdisk隔开的盘的部分。请记住,在最常见的LVM设置中不推荐使用物理分区。例如:disk/dev/sda被分区以包含两个物理分区: /dev/sda1 和 /dev/sda1 如果我们有两个1TB的物理磁盘,那么我们可以在两者之间创建一个接近2TB 的 卷组 。 在卷组中,我们可以创建三个任意大小不超过卷组总大小的 逻辑卷 。 传统的Linux磁盘管理工具 在熟悉CentOS7中LVM管理的最新和最有特色的工具之前,我们应该首先探讨更多用于Linux磁盘管理的传统工具。这些工具将非常方便,并且仍然可用于当今先进的LVM工具,如System Storage Manager: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。 Disk 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中的一项强大功能。我们已经触及了管理这些问题的表面。掌握池和逻辑卷来自教程点的练习和扩展学习。目前,您已经在CentOS中学习了LVM管理的基础知识,并且拥有在单个主机上创建基本条带逻辑卷的能力。 Linux包管理