2017年3月26日星期日

如何在 CentOS/RHEL 7 上借助 ssm 管理 LVM 卷?


Linuxeden 开源社区 --
导读 逻辑卷管理器(LVM)是一种极其灵活的磁盘管理工具,它让用户可以从多个物理硬驱创建逻辑磁盘卷,并调整大小,根本没有停机时间。不过,其强大的功能也有其缺点:学用起来有点难度;与管理传统的磁盘分区相比,使用多个命令行工具来创建 LVM 涉及更复杂的步骤。

不过对 CentOS/RHEL 用户们来说有个好消息。最新版本的 CentOS/RHEL 7 现在随带系统存储管理器(又叫 ssm),这是一种统一的命令行界面,由红帽公司开发,用于管理各种各样的存储设备。目前,有三种可供 ssm 使用的卷管理后端:LVM、Btrfs 和 Crypt。

我在本教程中将演示如何借助 ssm 管理 LVM 卷。你会惊讶地发现,创建和管理 LVM 卷原来是多么简单的事。

准备 ssm

在新的 CentOS/RHEL 7 上,你需要首先安装系统存储管理器。

$ sudo yum install system-storage-manager

首先,不妨检查关于可用硬驱和 LVM 卷的信息。下面这个命令将显示关于现有磁盘存储设备、存储池、LVM 卷和存储快照的信息。输出结果来自新安装的 CentOS 7,它在默认情况下使用了 LVM 和 XFS 文件系统。

$ sudo ssm list

在这个例子中,有两个物理设备(“/dev/sda”和“/dev/sdb”)、一个存储池(“centos”), 以及存储池中创建的两个 LVM 卷(“dev/centos/root”和“/dev/centos/swap”)。

将物理磁盘添加到 LVM 池

不妨将一个新的物理磁盘(比如/dev/sdb)添加到现有的存储池(比如 centos)。将新的物理磁盘添加到现有存储池的命令如下:

$ sudo ssm add -p <pool-name> <device>

新设备添加到存储池后,存储池会自动自动扩大,扩大多少取决于设备的大小。检查名为 centos 的存储池的大小,如下所示。

正如你所见,centos 存储池已成功地由 7.5GB 扩大到 8.5GB。不过,眼下,位于存储池中的磁盘卷(比如/dev/centos/root 和/dev/centos/swap)并没有使用变大的空间。为此,我们需要扩大现有的 LVM 卷。

扩大 LVM 卷

如果你在存储池中有额外空间,可以扩大存储池中现有的磁盘卷。为此,使用 ssm 命令的 resize 选项。

$ sudo ssm resize -s [size] [volume]

不妨将/dev/centos/root 卷的大小增加 500MB。

$ sudo ssm resize -s+500M /dev/centos/root

核实现有卷增加后的大小。

$ sudo ssm list volumes

我们可以核实,/dev/centos/root 卷的大小已从 6.7GB 增加到了 7.2GB。不过,这并不意味着你立即就可以使用在卷中创建的文件系统里面的额外空间。你会发现,文件系统大小(“FS size”)仍然是 6.7GB。

为了让文件系统识别增加后的卷大小,你需要“扩大”现有的文件系统本身。有不同的工具可用来扩大现有的文件系统,这取决于你使用哪种文件系统。比如说,有面向 EXT2/EXT3/EXT4 的 resize2fs、面向 XFS 的 xfs_growfs 以及面向 Btrfs 的 btrfs,不一而足。

在这个例子中,我们使用 CentOS 7,XFS 文件系统在默认情况下创建。因而,我们使用 xfs_growfs 来扩大现有的 XFS 文件系统。

扩大 XFS 文件系统后,核实文件系统完全占用了整个磁盘卷的 7.2GB。

创建新的 LVM 池/卷

在这个示例中,不妨看一下如何在物理磁盘驱动器上创建新的存储池和新的 LVM 卷。如果使用传统的 LVM 工具,整个过程相当复杂,需要准备分区,需要创建物理卷、卷组、逻辑卷,最后还要建立文件系统。不过,若使用 ssm,整个过程一蹴而就!

下面这个命令的作用是,创建一个名为 mypool 的存储池,创建存储池中名为 disk0 的 500MB 大小的 LVM 卷,使用 XFS 文件系统格式化卷,并将它挂载到/mnt/test 下。立即就能领略到 ssm 的强大功能。

$ sudo ssm create -s 500M -n disk0 --fstype xfs -p mypool /dev/sdc /mnt/test

不妨核实已创建的磁盘卷。

对 LVM 卷拍取快照

使用 ssm 工具,你还可以对现有的磁盘卷拍取快照。请注意:只有含有卷的后端支持快照机制,快照才适用。LVM 后端支持联机快照功能,这意味着我们没必要在离线状态下对卷拍取快照。另外,由于 ssm 的 LVM 后端支持 LVM2,快照具有读取/写入功能。

不妨对现有的 LVM 卷(比如/dev/mypool/disk0)拍取快照。

$ sudo ssm snapshot /dev/mypool/disk0

一旦快照拍取完毕,它将作为一个特殊的快照卷存储起来,存储了原始卷中拍取快照时的所有数据。

存储快照后,你可以删除原始卷,并挂载快照卷,以访问快照中的数据。

请注意:当你试图在原始卷挂载时挂载快照卷,会得到下列出错信息。

kernel: XFS (dm-3): Filesystem has duplicate UUID 27564026-faf7-46b2-9c2c-0eee80045b5b - can't mount
删除 LVM 卷

删除现有的磁盘卷或存储池就跟创建磁盘卷或存储池来得一样容易。如果你试图删除已挂载的卷,ssm 会自动先将它卸载。这方面没有麻烦。

想删除 LVM 卷:

$ sudo ssm remove <volume>

想删除存储池:

$ sudo ssm remove <pool-name>

结束语

但愿至此你已领略了 ssm 的强大功能。在企业存储环境中,处理一大批的存储设备、磁盘卷和文件系统是相当常见的事。现在你可以运用单单一个命令行工具 ssm,让其后端为你完成任务,而不是操心运用许多不同的工具管理一整套存储配置。对任何置身于复杂存储管理环境的系统管理员来说,ssm 绝对是一款必备工具。

原文地址: http://ift.tt/2nkjXCZ编辑:岳永,审核员:冯振华

The post 如何在 CentOS/RHEL 7 上借助 ssm 管理 LVM 卷? appeared first on Linuxeden开源社区.

http://ift.tt/2npwVkv

没有评论:

发表评论