我是一名 SQL DBA,我的 SAN 管理员说他们必须将几个驱动器从 HP 3PAR 7400 迁移到 EMC CX4。因此 SAN 团队希望在 sql 服务器上停机以迁移驱动器。
我想的是,他们是否有可能在不关闭 sql 的情况下迁移存储?
即我有 100GB 3PAR 的 D 驱动器,是否可以将 EMC CX4 (100GB) 添加到 D 驱动器并使其成为 200GB。稍后从 D 驱动器中删除 100GB 的 3PAR。
请让我知道这可能吗?
我是一名 SQL DBA,我的 SAN 管理员说他们必须将几个驱动器从 HP 3PAR 7400 迁移到 EMC CX4。因此 SAN 团队希望在 sql 服务器上停机以迁移驱动器。
我想的是,他们是否有可能在不关闭 sql 的情况下迁移存储?
即我有 100GB 3PAR 的 D 驱动器,是否可以将 EMC CX4 (100GB) 添加到 D 驱动器并使其成为 200GB。稍后从 D 驱动器中删除 100GB 的 3PAR。
请让我知道这可能吗?
您需要切换到待机状态。如果您没有备用服务器,则需要创建。
你的问题不正确。但我给你两个答案(这是概念答案) 1. 理论上是的,这是可能的。您需要有 EMC 电源路径和存储支持。但如果选择这种方式。您需要控制用于迁移的细分市场,换句话说,这是 IT 风险:
迁移时间 - 在全球范围内,您有多少时间可以迁移到另一个存储。
磁盘 I/O - 如果您将在磁盘上有大量 I/O。您的服务将不可用。和其他时刻......
我想的是,他们是否有可能在不关闭 sql 的情况下迁移存储?
我将重新表述这个问题:
他们是否有可能将在线表(集群/堆)迁移到另一个文件组(=另一个文件)?
答案是肯定的,企业版非常简单。例如,假设当前文件组是CustomUserObjects
( D:\MSSQL\Data\DataFile.mdf
) 并且我们必须将这些表移动到另一个文件组NewCustomUserObjects
( G:\MSSQL\Data\DataFile.mdf
) 然后
[1] 对于聚集索引和非聚集索引,可以使用以下方法:
CREATE UNIQUE CLUSTERED INDEX PK_TestTable_ID ON
dbo.TestTable(ID)
WITH
(
ONLINE = ON,
DROP_EXISTING = ON
)
ON NewCustomFileGroup
GO
同样的方法也可以用于NONLCLUSTERED
索引。
[2] 对于堆表,可以创建一个聚集索引 ( CREATE ... INDEX ... ONLINE = ON
),后跟一个DROP INDEX ... ON ....
.
更多细节在这里。
这种方法几乎没有限制。最重要的是:
[1] 某些索引(例如空间和 xml 索引)无法在线移动。
[2] 它会将 BLOB([n]varchar(max)
、varbinary(max)
、xml
等)值存储在旧文件组中,但有一些解决方案。
[3] 对于 FULL / BULK LOGGED 数据库,它将在数据库事务日志(例如*.ldf
)中生成大量条目,从而影响基于 Tx 日志的所有功能:日志传送、数据库镜像、AO 可用性组、事务复制、更改数据捕获, ETC。
如果您将 PowerPath 用作多路径软件,则可以使用 PowerPath Migration Enabler 在阵列之间进行无停机迁移。
它建立复制对、源 (3par) 和目标 (cx4) 卷。它在块级别对设备进行批量同步,并将写入复制到目标卷。在您决定提交更改后,它会重命名 Powerpath 伪名,以便您的服务器将目标卷用作主卷。完毕!
文档: https ://www.emc.com/collateral/TechnicalDocument/PowerPath-Migration-Enabler-5.7-User-Guide.pdf