This is the third day of my participation in the August More Text Challenge. For details, see “August More Text Challenge”.
There are two types of data migration: LUN migration (SmartMigration for Block) and FS migration (SmartMigration for File). This section describes the two methods respectively.
SmartMigration for Blocks
The SmartMigration feature replicates the data on the source LUN to the target LUN completely. During the replication, dual-write and differential logging technologies are adopted between the source LUN and the target LUN. After the replication is complete, the target LUN takes over the services on the source LUN by exchanging LUN information. Implement online data migration. There are two phases to this process:
Data synchronization
- Before the migration, you need to configure the source AND target luns to be migrated.
- At the start of migration, data is replicated from the source LUN to the target LUN.
- The host can continue to access the source LUN. When a host writes Data to the source LUN, the system records difference logs in the Data Change Log (DCL).
- The data is written to both the source LUN and the target LUN. A. If the double write is successful, the system clears the LBA record from the DCL. B. If the write to the target LUN fails, the storage side copies the unsynchronized data recorded on the DCL to the target LUN. After the copy is complete, the storage side returns that the write I/O to the host is complete. C. If the source LUN fails to be written, the host is returned with a write I/O failure. The host sends data to the source LUN but does not write data to the target LUN.
LUN Information exchange
The detailed principle is as follows:Since LUN information is exchanged instantaneously, services on hosts do not need to be interrupted and services can be migrated without users’ awareness.
FS Migration (SmartMigration for File)
The SmartMigration feature replicates data from the source FS to the target FS. During the replication, the source FS and target FS dual-write and differential logging technologies are used. After the replication is complete, the target FS connects services from the source FS to the target FS for online data migration. The FS implementation process is divided into two stages:
Data synchronization
- Create a target file system in the target storage pool.
- The data in the first snapshot of the source file system is copied to the target file system in full. During this period, the host writes data to the source file system and records the difference.
- Based on snapshot comparison, the snapshots are increments sequentially synchronized to the target file system. After each synchronization, a snapshot with the same name as the primary file system is generated on the secondary file system. During the synchronization, the host writes only the source file system and records the differences.
- Copy The differential data generated when the host I/O writes data to the source file system during snapshot synchronization. During this period, the host writes data to both the source file system and the target file system.
- The metadata of the source file system is synchronized. During this period, the host write request dual-writes the source and target file systems. 6. Synchronize file system configuration information (quota).
FS information exchange
The detailed principle is as follows:Since FS information exchange is instantaneous, services on the host do not need to be interrupted and services can be migrated without user awareness.
In a storage system, each file system has a unique ID. When services are running, hosts use the FS ID to mount and access files. To ensure service continuity between hosts and NAS file systems, the FILE system ID cannot be changed during the migration. While the data of each file system is stored in the data volume, FS migration is the process of first migrating the data to a new data volume and then pointing the file system ID to the new data volume ID.