全局网络块设备
Red Hat Enterprise Linux 5
在红帽全局文件系统中使用 GNBD
版 3
摘要
本书提供了为红帽企业版 Linux 5 在红帽 GFS 中使用全局网络块设备(GNBD)的概述。
简介
1. 有关此指南 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
本书描述了如何在全局文件系统(GFS)中使用全局网络块设备(GNBD),其中包括有关设备映射器多路径、GNBD 驱动程序和命令用法以及在 GNBD 服务器节点中运行 GFS。
2. 读者 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
本书主要面向管理运行 Linux 操作系统的系统的管理员。它要求您熟悉红帽企业版 Linux 以及 GFS 文件系统管理。
3. 软件版本 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
| 软件 | 描述 |
|---|---|
|
RHEL5
|
指的是 RHEL5 和更高的版本
|
|
GFS
|
指的是 RHEL5 和更高的版本中的 GFS
|
4. 相关文档 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
有关使用红帽企业版 Linux 的详情请参考以下资源:
- 《红帽企业版 Linux 安装指南》 — 提供有关安装红帽企业版 Linux 5 的信息。
- 《红帽企业版 Linux 部署指南》 — 提供有关部署、配置和管理红帽企业版 Linux 5 的信息。
有关Red Hat Enterprise Linux 5 中 Red Hat Cluster Suite 的详情请参考以下资源:
- 《Red Hat Cluster Suite 概述》 — 提供红帽群集套件的高级概述。
- 《配置和管理红帽群集》 — 提供有关安装、配置和管理红帽群集套件的信息。
- Logical Volume Manager Administration — Provides a description of the Logical Volume Manager (LVM), including information on running LVM in a clustered environment.
- 《全局文件系统:配置及管理》 — 提供有关安装、配置和维护红帽 GFS(红帽全局文件系统)的信息。
- 《全局文件系统 2:配置及管理》 — 提供有关安装、配置和维护红帽 GFS2(红帽全局文件系统 2)的信息。
- 《使用设备映射器多路径》 — 提供有关在 Red Hat Enterprise Linux 5 中使用设备映射器多路径的信息。
- 《Linux 虚拟服务器管理》 — 提供使用 Linux 虚拟服务器(LVS)配置高性能系统及服务的信息。
- 《红帽群集套件发行注记》 — 提供有关红帽群集套件当前发行本的信息。
在Red Hat Enterprise Linux 文档 CD 以及在线文档 http://www.redhat.com/docs/ 中都有 Red Hat Cluster Suite 文档以及其它 Red Hat 文档的 HTML、PDF 和 RPM 版本。
5. 反馈 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
我们很乐于了解您有关打印错误或者可使本手册更好工作的想法。请在 Bugzilla(http://bugzilla.redhat.com/bugzilla/)中根据
rh-cs 提交您的报告。
Be sure to mention the manual's identifier:
Bugzilla component: Documentation-cluster Book identifier: Global_Network_Block_Device(EN)-5 (2009-08-18T15:25)
Bugzilla component: Documentation-cluster
Book identifier: Global_Network_Block_Device(EN)-5 (2009-08-18T15:25)
By mentioning this manual's identifier, we know exactly which version of the guide you have.
如果您有任何可改进此文档的建议,请尽量说得具体一些。如果您发现任何错误,请将错误所在部分号码以及上下文包括在内,以便我们比较容易找到这些错误之处。
第 1 章 使用带 Red Hat GFS 的 GNBD 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
GNBD(全局网络块设备)通过以太网 LAN 提供块级别存储访问。GNBD 组件在 GFS 节点中作为客户端运行,在 GNBD 服务器节点中作为服务器运行。GNBD 服务器节点从其存储(可以是直接附加的存储或者 SAN 存储)中将块等级存储导出到 GFS 节点。
表 1.1 “GNBD 软件子系统组件” summarizes the GNBD software subsystems components.
| 软件子系统 | 组件 | 描述 |
|---|---|---|
| GNBD | gnbd.ko | 在客户端中部署 GNBD 设备驱动程序的内核模块。 |
gnbd_export | 在 GNBD 服务器中创建、导出和管理 GNBD 的命令。 | |
gnbd_import | 在 GNBD 服务器中导入和管理 GNBD 的命令。 | |
gnbd_serv | 允许节点通过网络导出本地存储的服务器守护进程。 |
您矿浆 GNBD 服务器配置为与设备映射器多路径一同工作。带设备映射器多路径的 GNBD 允许您配置多个 GNBD 服务器节点以便提供到存储设备的冗余路径。GNBD 服务器依次通过冗余 GNBD 为 GFS 节点显示多路径存储路径。当使用带设备映射器多路径的 GNBD 时,如果一个 GNBD 服务器节点不可用,则另一个 GNBD 服务器节点会提供可访问存储设备的 GFS 节点。
本文档提供如何使用带 Red Hat GFS 的 GNBD,它由以下章节组成:
- 第 2 章 考虑在设备映射器多路径中使用 GNBD, which describes some of the issues you should take into account when configuring multipathed GNBD server nodes
- 第 3 章 GNBD 驱动程序及命令用法, which describes the restrictions that apply when you are running GFS on a GNBD server node
- 第 4 章 在 GNBD 服务器节点中运行 GFS, which describes the user commands that configure GNBD
带设备映射器多路径的 GNBD 允许您配置多个 GNBD 服务器节点(将 GNBD 导出到 GFS 节点的节点)来为存储设备提供冗余路径。GNBD 服务器节点依次通过冗余 GNBD 为 GFS 节点显示多存储路径。当使用带设备映射器多路径的 GNBD 时,如果某个 GNBD 服务器节点不可用,另一个 GNBD 服务器节点就提供可访问存储设备的 GFS 节点。
如果您正在使用带设备映射器多路径的 GNBD,您需要考虑以下几点:
- Linux page caching, as desribed in 第 2.1 节 “Linux 页面缓存”.
- Fencing GNBD server nodes, as described in 第 2.2 节 “栅栏 GNBD 服务器节点”.
- GNBD device names; export names for GNBD devices must be unique. Additionally, you must specify the
-uor-Uwhen using thegnbd_exportcommand. Exporting GNBD devices is described in 第 3 章 GNBD 驱动程序及命令用法.
2.1. Linux 页面缓存 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
For GNBD with device-mapper multipath, do not specify Linux page caching (the
-c option of the gnbd_export command). All GNBDs that are part of a logical volume must run with caching disabled. Data corruption occurs if the GNBDs are run with caching enabled. Refer to 第 3.1 节 “从服务器中导出 GNBD” for more information about using the gnbd_export command for GNBD with device-mapper multipath.
必须使用防护法物理删除来自网络的节点对 GNBD 服务器节点进行防护。要物理删除 GNBD 服务器节点,您可以使用栅栏设备:以下除外:
fence_brocade 防护代理、fence_vixel 防护代理、fence_mcdata 防护代理、fence_sanbox2 防护代理、fence_scsi 防护代理。另外,您不能使用 GNBD 防护设备(fence_gnbd 防护代理)来防护 GNB 服务器节点。有关为 GNB的服务器节点配置防护的详情请参考《全局文件系统》手册。
全局网络块设备(GNBD)驱动程序允许节点作为一个 GNBD 通过网络导出其本地存储,以便网络中的其它节点可共享此存储。导入 GNBD 的客户端节点可象使用其它块设备一样使用它。在多客户端中导入 GNBD 可形成共享存储配置,通过该共享存储配置可使用 GFS。
GNBD 驱动程序是通过以下组件实施的。
gnbd_serv— 部署 GNBD 服务器。它是一个用户空间守护进程,允许节点通过网络导出本地存储。gnbd.ko— 在 GNBD 客户端(使用 GNBD 设备的节点)中部署 GNBD 设备驱动程序。
可用来配置 GNBD 的两个命令:
在某个节点可作为 GNBD 导出存储前必须在其中运行
gnbd_serv 守护进程。您可以按以下方法运行 gnbd_serv 启动 gnbd_serv:
#gnbd_serv gnbd_serv: startup succeeded
#gnbd_serv
gnbd_serv: startup succeeded
确定要导出的本地存储后,可使用
gnbd_export 命令导出它。
注意
当您使用设备映射器多路径配置 GNBD 服务器时,您一定不能使用页面缓存。所有是本地卷一部分的 GNBD 必须在禁用缓存的情况下运行。默认情况是
gnbd_export 命令导出时缓存是关闭的。
注意
服务器不应该导入 GNBD 使用其作为客户端。如果服务器导出的设备是没有缓冲的,
gfs 也可以使用基本设备。
用法 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
gnbd_export -d pathname -e gnbdname [-c][-u][-U
gnbd_export -d pathname -e gnbdname [-c][-u][-U
pathname- 指定要导出的存储设备。
gnbdname- 为 GNBD 选择任意指定的名称。它可作为 GNBD 客户端中的设备名称。这个名字必须在网络中导出的所有 GNBD 中是唯一的。
-o- 以只读方式导出该设备。
-c- 启用缓冲。从导出的 GNBD 读取并利用 Linux 页面缓存。默认情况下,
gnbd_export命令不启用缓存。注意
当您使用设备映射器多路径配置 GNBD 服务器时,不要指定-c选项。所有是逻辑卷一部分的 GNBD 必须在禁用缓存的情况下运行。注意
如果您已经使用了 GFS 5.2 或者早期的版本且不想要更改您的 GNBD 设置,您应该指定-c选项。在 GFS 发行本 5.2.1 之前的版本中,是默认为gnbd_export启用 Linux 缓存。如果没有指定-c选项,那么 GNBD 的性能会显著下降。同时,如果没有指定-c选项,导出的 GNBD 会出现超时,使用默认超时值(-t选项)。有关gnbd_export命令的详情及其选项,请参考gnbd_exportman page。 -uuid- 为导出的设备手动设定全局识别符。这个选项和
-e一同使用。UID 是设备映射器多路径来决定哪些设备属于多路径映射。一个设备必须有一个用于多路径的 UID 。但是,对大多数 SCSI 设备来说,默认获得 UID 的命令/usr/sbin/gnbd_get_uid将返回适当的值。注意
UID 指向要导出的设备,而不是 GNBD 本身。只有在导出同一个基本设备时,两个 GNBD 设备的 UID 才应该是相等的。这就是说两个 GNBD 服务器连接到同一个物理设备。注意
当-Ucommand选项不工作时,这个选项应该只用于导出共享存储设备。这在 SCSI 设备中基本不会发生。如果两个 GNBD 设备没有导出同一基本设备,但给出相同的 UID,则会发生数据崩溃。 -UCommand- 获得 UID 的命令。UID 命令是一个为导出的设备获得统一识别符的
gnbd_export命令。该 UID 是使用带 GNBD 的设备映射器多路径所必须的。该命令必须使用您要运行的任意可执行全路径。一个命令中可包含 %M、%m 或者 %n 换码序列。%M 可扩展为导出设备的主号码,%m 可扩展为导出设备的副号码,%n 可扩展为该设备的sysfs名称。如果没有给出命令,GNBD 将默认使用命令/usr/sbin/gnbd_get_uid。这个命令对大多数 SCSI 设备都适用。
示例 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
这个示例是配置了 GNBD 多路径的 GNBD 服务器。它将设备
/dev/sdc2 导出为 gamma。默认禁用缓冲。
gnbd_export -d /dev/sdc2 -e gamma -U
gnbd_export -d /dev/sdc2 -e gamma -U
这个示例是没有配置 GNBD 多路径的 GNBD 服务器。它将
/dev/sdb2 设备导出为 GNBD delta,并禁用缓冲。
gnbd_export -d /dev/sdb1 -e delta -c
gnbd_export -d /dev/sdb1 -e delta -c
这个示例将
/dev/sdb2 设备导出为 GNBD delta,并启用缓冲。
gnbd_export -d /dev/sdb2 -e delta -c
gnbd_export -d /dev/sdb2 -e delta -c
在节点可以导入 GNBD 前必须在其中载入
gnbd.ko 内核模块。当导入 GNBD 时,会在 /dev/gnbd/ 中为其生成设备节点,并分配给它们导出时的名称。
用法 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
gnbd_import -i Server
gnbd_import -i Server
Server- 使用导入 GNBD 的主机名和 IP 地址指定 GNBD 服务器。所有从该服务器中导出的 GNBD 将被导入到运行此命令的客户端。
示例 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
这个示例导入所有来自名为
nodeA 服务器的 GNBD。
gnbd_import -i nodeA
gnbd_import -i nodeA
您可以在 GNBD 服务器节点中运行 GFS,但有一定限制。另外,在 GNBD 服务器节点中运行 GFS 可降低性能。以下是在 GNBD 服务器节点中运行 GFS 时的限制。
重要
当在 GNBD 服务器节点中运行 GFS 时,您必须遵循以下限制,否则 GNBD 服务器节点会失败。
- GNBD 服务器节点必须有到所有需要挂载 GFS 文件系统的所有设备的本地访问。GNBD 服务器节点一定不能导入(
gnbd_import命令) GNBD 以外的设备来运行此文件系统。 - GNBD 服务器必须在无换出模式下导出所有 GNBD,它必须导出所有原始设备,而不是逻辑卷设备。
- GFS 必须在逻辑卷设备顶部运行,而不是在原始设备中运行。
注意
您需要在导出的 GNBD 中增加超时区间来适应降低的性能。需要增加的超时区间要视硬件情况而定。
附录 A. 修订记录 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
| 修订历史 | |||
|---|---|---|---|
| 修订 3-7.400 | 2013-10-31 | ||
| |||
| 修订 3-7 | 2012-07-18 | ||
| |||
| 修订 1.0-0 | Thu Jan 29 2009 | ||
|
| |||
索引
D
- device-mapper multipath,考虑在设备映射器多路径中使用 GNBD
- fencing GNBD server nodes,栅栏 GNBD 服务器节点
- Linux page caching,Linux 页面缓存
- driver and command usage,GNBD 驱动程序及命令用法
- exporting from a server,从服务器中导出 GNBD
- importing on a client,在客户端中导入 GNBD
E
- exporting from a server daemon,从服务器中导出 GNBD
F
- feedback,反馈
- fencing GNBD server nodes,栅栏 GNBD 服务器节点
G
- GFS, using on a GNBD server node,在 GNBD 服务器节点中运行 GFS
- GNBD, using with Red Hat GFS,使用带 Red Hat GFS 的 GNBD
- gnbd.ko module,GNBD 驱动程序及命令用法,在客户端中导入 GNBD
- gnbd_export command ,GNBD 驱动程序及命令用法,用法
- gnbd_import command ,GNBD 驱动程序及命令用法,用法
- gnbd_serv daemon,GNBD 驱动程序及命令用法,从服务器中导出 GNBD
I
- importing on a client module,在客户端中导入 GNBD
L
- Linux page caching,Linux 页面缓存
S
- software subsystem components,使用带 Red Hat GFS 的 GNBD
法律通告 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
Copyright © 2009 Red Hat, Inc.
This document is licensed by Red Hat under the Creative Commons Attribution-ShareAlike 3.0 Unported License. If you distribute this document, or a modified version of it, you must provide attribution to Red Hat, Inc. and provide a link to the original. If the document is modified, all Red Hat trademarks must be removed.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.