影子迁移
图 14-1 影子迁移
影子迁移需要使用插入,但是已集成到 ZFSSA 本身之内,因此不需要另外的物理机。当创建共享资源后,它们可以选择在本地或在 NFS 上充当现有目录的“影子”。在这种方案中,将一次性计划好停机时间,让源 ZFSSA X 进入只读模式,并创建设置了影子属性的共享资源,而客户机将更新为指向 Sun Storage 7000 ZFSSA 上的新共享资源。然后,客户机可以以读写模式访问该 ZFSSA。
在设置了影子属性后,数据将在后台从源 ZFSSA 本地透明地进行迁移。如果客户机请求访问某个尚未迁移的文件,源 ZFSSA 会自动将该文件迁移到本地服务器,然后响应请求。对于某些客户机请求,这会产生一些初始延迟,但一旦将文件迁移完毕,所有访问都可在 ZFSSA 本地完成,从而能完全发挥 ZFSSA 本身的性能。当文件系统的当前工作集远远小于总数据大小时,就经常出现这种情况,因此一旦将工作集迁移完毕,无论源上的总数据大小如何,都不会感觉到对性能造成影响。
影子迁移的缺点是需要在完成数据迁移之前执行一些相关任务,不过只有插入方法是这样。在迁移过程中,数据的某些部分存在于两个位置,这意味着备份更加复杂,快照可能不完整且(或)仅存在于一个主机上。因此,非常重要的一点是,两个主机之间进行的任何迁移都要首先进行彻底测试,确保身份管理和访问控制设置正确。这并不需要测试整个数据迁移过程,但应该验证非全局可读的文件或目录是否能正确迁移、ACL(如果存在)是否能保留,以及身份是否能在新系统中正确表示。
影子迁移是使用文件系统中的磁盘数据实施的,因此没有外部数据库,也不在存储池外部的本地存储数据。如果存储池在群集中进行了故障转移,或者两个系统磁盘都出现故障而需要有新的机头节点时,不中断地进行影子迁移所需的所有数据将随该存储池一起保存。