8 管理 Geo 群集 #
在 booth 能够管理 Geo 群集中的某个票据之前,您需要先通过 booth 命令行客户端或 Hawk2 手动将其授予给某个站点。
8.1 通过命令行管理票据 #
按第 8.1.1 节 “booth
命令概述”中所述使用 booth
命令行工具授予、列出或撤消票据。
crm_ticket
和 crm site ticket
如果由于某些原因 booth 服务未运行,您也可以使用 crm_ticket
或 crm site ticket
完全以手动方式管理票据。这两个命令仅在群集节点上可用。使用这些命令要非常小心,因为它们无法校验同一票据是否已授予给其他站点。有关详细信息,请阅读手册页。
只要 booth 在正常运行,请一律仅使用 booth
进行手动干预。
8.1.1 booth
命令概述 #
您可以在群集中的任何计算机上运行 booth
命令,而不仅仅是正在运行 boothd
的计算机上。booth
命令会尝试通过查看 booth 配置文件和本地定义的 IP 地址来查找“本地”群集。如果未指定 booth
应连接到的站点(使用 -s
选项),则其一律会连接到本地站点。
- 列出所有票据
root #
booth
list ticket: ticketA, leader: none ticket: ticketB, leader: 10.2.12.101, expires: 2014-08-13 10:28:57如果未使用
-s
指定特定的站点,将从本地 booth 实例请求有关票据的信息。- 向站点授予票据
root #
booth
grant -s 192.168.201.100 ticketA booth[27891]: 2014/08/13_10:21:23 info: grant request sent, waiting for the result ... booth[27891]: 2014/08/13_10:21:23 info: grant succeeded!在这种情况下,
ticketA
将授予给站点192.168.201.100
,如果未使用-s
选项,booth 将自动连接到当前站点(您运行 booth 客户端的站点)并会请求grant
操作。在授予票据前,该命令将执行健全性检查。如果同一票据已授予给其他站点,则系统会向您发出警告,并提示您先从当前站点撤消该票据。
- 从站点撤消票据
root #
booth
revoke ticketA booth[27900]: 2014/08/13_10:21:23 info: revoke succeeded!Booth 将检查当前向哪个站点授予了票据,并针对
ticketA
请求revoke
操作。撤消操作将立即执行。grant
和(在某些情况下)revoke
操作可能需要一段时间才会返回确切的操作结果。客户端将一直等待结果,直到达到票据的timeout
值才会放弃等待。如果使用了-w
选项,客户端将会无限期等待。在日志文件中或者使用crm_ticket -L
命令查找确切的状态。- 强制执行授予操作
root #
booth
grant -F ticketA此命令的结果取决于您使用的是自动票据还是手动票据。
自动票据:只要 booth 可确保仅将票据授予给一个站点,您就无法将同一票据授予给其他站点,即使使用
-F
选项也不例外。但如果出现节点分裂情况,booth 便可能无法检查是否在其他站点授予了自动票据。在此情况下,Geo 群集管理员可以覆盖自动过程,并手动将票据授予给仍在正常运行的站点。在此情况下,-F
选项会告知 booth 不要等待来自其他不可访问的站点的响应,因此会忽略参数 expire 和 acquire-after(如果为此票据定义了这些参数)。booth 会立即将票据授予给指定站点。手动票据:使用手动票据时,
booth grant -F
可让 booth 立即将票据授予给指定站点。
警告:潜在的数据丢失使用
booth grant -F
之前,请确保没有其他联机站点拥有同一票据。如果同一票据授予给多个站点,则依赖于该票据的资源可能会在多个站点上同时启动。这会导致并发性违规并可能造成数据损坏。作为 Geo 群集管理员,您需要在另一个站点恢复可访问状态后解决票据之间的冲突。
下面几节提供了在不同情形下管理票据的一些示例。
8.1.2 手动转移自动票据 #
假设您要将 ticketA
从站点 amsterdam
(虚拟 IP 为 192.168.201.100
)手动转移到站点 berlin
(虚拟 IP 为 192.168.202.100
),请执行以下操作:
登录
amsterdam
。使用以下命令将
ticketA
设为待机状态:root #
crm_ticket
-t ticketA -s等待任一资源(视
ticketA
而定)停止或完全降级。使用以下命令从站点
amsterdam
撤消ticketA
:root #
booth
revoke -s 192.168.201.100 ticketA从原始站点撤消票据后,使用以下命令将
ticketA
授予给站点berlin
:root #
booth
grant -s 192.168.202.100 ticketA这样依赖于此票据的资源便可以在站点
berlin
上启动。使用以下命令去除站点
amsterdam
上ticketA
的待机模式:root #
crm_ticket
-t ticketA -a如果
berlin
发生故障,依赖于ticketA
的资源将自动故障转移到站点amsterdam
。
8.1.3 转移手动票据 #
假设您要将手动票据 ticket-nfs
从站点 amsterdam
(虚拟 IP 为 192.168.201.100
)转移到站点 berlin
(虚拟 IP 为 192.168.202.100
),请执行以下操作:
登录
amsterdam
。使用以下命令将
ticket-nfs
设为待机状态:root #
crm_ticket
-t ticket-nfs -s等待依赖于
ticket-nfs
的任何资源停止或完全降级。使用以下命令从站点
amsterdam
撤消ticket-nfs
:root #
booth
revoke -s 192.168.201.100 ticket-nfs从原始站点撤消票据后,使用以下命令将
ticket-nfs
授予给站点berlin
:root #
booth
grant -s 192.168.202.100 ticket-nfs这样依赖于此票据的资源便可以在站点
berlin
上启动。如果您要在任何时间将资源转移回
amsterdam
,请在站点amsterdam
上去除ticket-nfs
的待机模式:root #
crm_ticket
-t ticket-nfs -a
8.1.4 故障转移手动票据 #
我们假设(手动管理的)票据 ticket-nfs
已授予给站点 amsterdam
(虚拟 IP 为 192.168.201.100
)。目前无法访问此站点。站点 berlin
(虚拟 IP 为 192.168.202.100
)仍然可用。
尝试联系站点
amsterdam
的本地管理员,并检查该站点是否发生故障。如果发生故障,请继续步骤 2。
如果因连接问题而无法访问
amsterdam
,但该节点仍在运行,可请本地群集管理员在站点amsterdam
上将ticket-nfs
设为待机模式:root #
crm_ticket
-t ticket-nfs -s此操作将撤回依赖于
ticket-nfs
的资源。现在便可放心将票据授予给其他站点。
登录
berlin
。使用
-F
选项将ticket-nfs
授予给站点berlin
:root #
booth
grant -F ticket-nfs系统会显示同一票据可能已授予给其他站点的警告,但会执行该命令。
使用以下命令检查结果:
root #
booth
list命令输出中应该会指出
berlin
现在是ticket-nfs
的票据拥有者。依赖于此票据的所有资源都将在berlin
上启动。在尝试重新将
amsterdam
添加到 Geo 群集中之前,请务必撤消amsterdam
上的ticket-nfs
:root #
booth
revoke -s 192.168.201.100 ticket-nfs
8.2 使用 Hawk2 管理票据 #
在
和 视图中均可查看票据。Hawk2 显示以下票据状态:尽管您可以使用 Hawk2 查看所有站点的票据,但 Hawk2 触发的任何授予或撤消操作只适用于当前站点(当前使用 Hawk2 连接到的站点)。要将票据授予 Geo 群集的另一个站点,请在属于相应站点的其中一个群集节点上启动 Hawk2。
只能授予尚未指派给任何站点的票据。
启动 Web 浏览器并登录到 Hawk2。
在左侧导航栏中,选择
› 。除了群集节点和资源的相关信息之外,Hawk2 还显示
类别。其中会列出票据状态、票据名称以及上次授予票据的时间。您可以在 列中对票据进行管理。要显示有关票据的更多信息,以及有关群集站点和仲裁方的信息,请单击票据旁的
图标。图 8.1︰ Hawk2 - 票据细节 #要从当前站点中撤消已授予的票据或者要向当前站点授予某个票据,请单击该票据旁边
列中的开关。单击后,将显示可用的操作。当 Hawk2 提示确认时,请确认选择。如果出于任何原因无法授予或撤消票据,Hawk2 将显示错误讯息。如果已成功授予或撤消票据,Hawk2 将更新票据
。
利用 Hawk2 的
,您可以在故障发生之前探测到该情况。要了解依赖于特定票据的资源是否按预期方式工作,您还可以测试授予或撤消票据产生的影响。启动 Web 浏览器并登录到 Hawk2。
从顶层行中选择
。在批模式栏中,单击
打开 窗口。要模拟票据的状态更改,请执行以下操作:
单击
› 。依次选择要操作的
和要模拟的 。确认更改。您的事件便会添加到
对话框中所列的事件队列中。此处列出的所有事件都会立即被模拟并反映到 屏幕上。关闭
对话框并查看模拟的更改。
要退出批模式,请
或 模拟的更改。
有关 Hawk2 的第 7.9 节 “使用批模式”。
(以及可使用该批模式探测的其他情形)的详细信息,请参见