手动迁移QNAP NAS的iSCSI LUN文件

QNAP的NAS中有一块硬盘告警,在这块硬盘上除了有共享目录,还有一个500G的LUN通过iSCSI方式提供给centos使用。

我的硬盘都是独立使用的,没有做RAID,QNAP系统也没有提供LUN的迁移功能。

由于这块磁盘告警被系统强行设置成了只读,在centos里面也无法再次mount,所以也不能通过新建LUN,然后在centos中复制的方法来迁移数据了。

网上国内外也没找到相关的指引,自己摸索出以下方法:

1、ssh登陆到NAS,找到LUN实体文件在NAS的路径: /share/CACHEDEVn_DATA/.@iscsi.img/,n是数字,不同磁盘不一样,可以通过查看/share/CACHEDEVn_DATA/目录下的文件确定对应的硬盘。

2、在QNAP中iSCSI存储中,新建一个文件LUN。由于我之前旧的LUN是先设置为300G,后来不够用了又扩大到500G的,在硬盘上实际有2个文件对应这个LUN。所以我们新建时,要与之前的步骤一致,这样才能让新LUN生成的文件数量和大小与原来是一致的,否则无法替换。

3、对旧LUN停用、取消在iSCSI target中的映射。

4、对新LUN建立映射,加入到此前的iSCSI target中。

5、在centos中刷新iSCSI信息,可以运行lsscsi,在第一列中获取下面n数值。
echo "---" > /sys/class/scsi_device/n:0:0:0/device/rescan

6、在centos中对新LUN进行分区、格式化、mount;测试成功后,umount。

7、在NAS中删除新LUN产生的文件,然后用旧LUN的文件改名一致来替换。

8、重启NAS,否则mount装载后还是新LUN中的数据。

9、centos中mount。

就这样骗过了NAS,完成了数据迁移。使用下来目前一切正常。