Linux管理员 - Volume管理

逻辑卷管理(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逻辑卷被视为操作系统的存储设施

A 物理卷将被视为/dev/sda,/dev/sdb; Linux检测到的物理磁盘.

物理分区将是由磁盘实用程序(如fdisk)分区的磁盘的一部分.请记住,在大多数常见的LVM设置中不建议使用物理分区.示例:disk/dev/sda被分区为包括两个物理分区:/dev/sda1 /dev/sda1

如果我们有两个物理磁盘,每个1TB,我们可以创建一个近2TB的卷组.

从卷组中,我们可以创建三个逻辑卷每个大小不超过总卷组大小.

传统Linux磁盘管理工具

之前熟悉CentOS 7中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 .

磁盘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.第一步是安装System Storage Manager.

 
 [root @ localhost rdc] #yum install system-storage-manager

让我们使用 ssm list 命令查看我们的磁盘.

SSM列表命令

如上所示,系统上总共安装了三个磁盘.

  • /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

现在,让我们检查我们的新卷.

Volumes

我们现在有三个独立的逻辑卷跨越两个物理磁盘分区.

逻辑卷是现在内置的强大功能CentOS Linux.我们已经触及了管理这些问题的表面.掌握池和逻辑卷来自Tutorials Point的练习和扩展学习.目前,您已经了解了CentOS中LVM管理的基础知识,并且能够在单个主机上创建基本的条带逻辑卷.