我们有一个在 Solaris 上运行的 SYBASE IQ 数据库,使用原始设备作为数据库的底层存储。我们想将此环境从 Solaris 迁移到 Linux。是否可以将 SYBASE 用作原始设备的 SAN 磁盘重新分配给我们新的 Linux 部署,以便 SYBASE 只选择这些磁盘并设法访问其所有旧数据?
我担心由于这两个操作系统使用不同的磁盘标记技术,SYBASE 可能无法检测到它以前的数据块。出于对大小要求的考虑,我们不想进行数据库导出和导入操作。并行运行两个系统不是一种选择。
有没有人成功地实现了这一点,如果成功了,遇到的障碍是什么?
我们在过去两个月内证明了这种确切的情况。这是我们所做工作的概述。
索拉里斯
[ 1 ] 我们在原始设备上运行 Sybase IQ 15.2。
[ 2 ] Solaris X86 系统上的所有 Lun 都是使用 fdisk 和 Solaris EFI vtoc 标签创建的。SAN 是 Clariion CX4
: fdisk -W - /dev/rdsk/c3t600601604E402D002C5763C4D3F8E011d0p0
239:EFI_FS *
Id Act Bhead Bsect Bcyl Ehead Esect Ecyl Rsect Numsect 238 0 255 63 1023 255 63 1023 1 1006632958
: prtvtoc /dev/rdsk/c3t600601604E402D002C5763C4D3F8E011d0s2
[ 3 ] 我们已将 /dev/rdsk/c3t600601604E402D002C5763C4D3F8E011d0s0 分配给 Sybase IQ 以及“s0”分区的其他 LUN 地址。例如。
main_1.iq -> /dev/rdsk/c3t6006016077202F00BC2278C54FA6E111d0s0 main_2.iq -> /dev/rdsk/c3t6006016077202F00C47489D74FA6E111d0s0 iq_system_main.iq -> /dev/rdsk/c3t6006016077202F00A89E624050A6E111d0s0 temp_1.iqtmp -> /dev/rdsk/c3t6006016077202F00FA57AD1750A6E111d0s0 temp_2.iqtmp -> / dev/rdsk/c3t6006016077202F0028B79B0050A6E111d0s0
瑞尔 6.2
[ 1 ] 我们将 LUN 导入 Linux 服务器。
[ 2 ] Linux 中的 LUN 如下所示:
多路径-ll
mpathe (36006016077202f00a89e624050a6e111) dm-7 DGC,RAID 1 大小=50G features='1 queue_if_no_path' hwhandler='1 emc' wp=rw |-+- policy='round-robin 0' prio=1 status=active |
- 0:0:0:1 sdd 8:48 active ready running
-+- policy='round-robin 0' prio=0 status=enabled `- 1:0:0:1 sdi 8:128 active ready runningmpathd (36006016077202f00bc2278c54fa6e111) dm-5 DGC,RAID 10 size=805G features='1 queue_if_no_path' hwhandler='1 emc' wp=rw |-+- policy='round-robin 0' prio=1 status=active |
- 1:0:0:2 sdj 8:144 active ready running
-+- policy='round-robin 0' prio=0 status=enabled `- 0:0:0:2 sde 8:64 active ready runningmpathc (36006016077202f0028b79b0050a6e111) dm-2 DGC,RAID 1 大小=403G features='1 queue_if_no_path' hwhandler='1 emc' wp=rw |-+- policy='round-robin 0' prio=1 status=active |
- 1:0:0:4 sdl 8:176 active ready running
-+- policy='round-robin 0' prio=0 status=enabled `- 0:0:0:4 sdg 8:96 active ready runningmpathg (36006016077202f00c47489d74fa6e111) dm-6 DGC,RAID 10 大小=805G features='1 queue_if_no_path' hwhandler='1 emc' wp=rw |-+- policy='round-robin 0' prio=1 status=active |
- 0:0:0:3 sdf 8:80 active ready running
-+- policy='round-robin 0' prio=0 status=enabled `- 1:0:0:3 sdk 8:160 active ready runningmpathf (36006016077202f00fa57ad1750a6e111) dm-8 DGC,RAID 1 大小=403G features='1 queue_if_no_path' hwhandler='1 emc' wp=rw |-+- policy='round-robin 0' prio=1 status=active |
- 0:0:0:5 sdh 8:112 active ready running
-+- policy='round-robin 0' prio=0 status=enabled `- 1:0:0:5 sdm 8:192 active ready runningls -l /dev/映射器/mpath*
lrwxrwxrwx。1 root root 7 Jul 4 17:47 /dev/mapper/mpathc -> ../dm-2 lrwxrwxrwx。1 root root 7 Jul 4 17:47 /dev/mapper/mpathcp1 -> ../dm-3 lrwxrwxrwx。1 root root 7 Jul 4 17:47 /dev/mapper/mpathcp9 -> ../dm-4 lrwxrwxrwx。1 root root 7 Jul 4 17:47 /dev/mapper/mpathd -> ../dm-5 lrwxrwxrwx。1 root root 7 Jul 4 17:47 /dev/mapper/mpathdp1 -> ../dm-9 lrwxrwxrwx。1 root root 8 Jul 4 17:47 /dev/mapper/mpathdp9 -> ../dm-10 lrwxrwxrwx。1 root root 7 Jul 4 17:47 /dev/mapper/mpathe -> ../dm-7 lrwxrwxrwx。1 root root 8 Jul 4 17:47 /dev/mapper/mpathep1 -> ../dm-13 lrwxrwxrwx。1 root root 8 Jul 4 17:47 /dev/mapper/mpathep9 -> ../dm-14 lrwxrwxrwx。1 root root 7 Jul 4 17:47 /dev/mapper/mpathf -> ../dm-8 lrwxrwxrwx。1 root root 8 Jul 4 17:47 /dev/mapper/mpathfp1 -> ../dm-15 lrwxrwxrwx。1 root 根 8 Jul 4 17: 47 /dev/mapper/mpathfp9 -> ../dm-16 lrwxrwxrwx。1 root root 7 Jul 4 17:47 /dev/mapper/mpathg -> ../dm-6 lrwxrwxrwx。1 root root 8 Jul 4 17:47 /dev/mapper/mpathgp1 -> ../dm-11 lrwxrwxrwx。1 root root 8 Jul 4 17:47 /dev/mapper/mpathgp9 -> ../dm-12
[ 3 ] 我们通过手动创建原始设备并将它们绑定到上面列出的 LUN 的 p1 分区,将原始设备提供给 Sybase IQ:
ls -l /dev/mapper/mpath?p1
lrwxrwxrwx。1 root root 7 Jul 4 17:47 /dev/mapper/mpathcp1 -> ../dm-3 lrwxrwxrwx。1 root root 7 Jul 4 17:47 /dev/mapper/mpathdp1 -> ../dm-9 lrwxrwxrwx。1 root root 8 Jul 4 17:47 /dev/mapper/mpathep1 -> ../dm-13 lrwxrwxrwx。1 root root 8 Jul 4 17:47 /dev/mapper/mpathfp1 -> ../dm-15 lrwxrwxrwx。1 root root 8 Jul 4 17:47 /dev/mapper/mpathgp1 -> ../dm-11
原始-qa
/dev/raw/raw1:绑定到主要 253,次要 13 /dev/raw/raw2:绑定到主要 253,次要 9 /dev/raw/raw3:绑定到主要 253,次要 11 /dev/raw/raw4:绑定到主要 253,次要 3 /dev/raw/raw5:绑定到主要 253,次要 15
ls -l /dev/dm-3 /dev/dm-9 /dev/dm-13 /dev/dm-15 /dev/dm-11
brw-rw----。1 个根磁盘 253,11 Jul 4 17:47 /dev/dm-11 brw-rw----。1 root disk 253, 13 Jul 4 17:47 /dev/dm-13 brw-rw----. 1 个根磁盘 253,15 Jul 4 17:47 /dev/dm-15 brw-rw----。1 个根磁盘 253,3 Jul 4 17:47 /dev/dm-3 brw-rw----。1 个根磁盘 253,9 月 4 日 17:47 /dev/dm-9
[ 4 ] 我们在 Linux 上创建了指向相应设备的相同链接:
main_1.iq -> /dev/raw/raw2 main_2.iq -> /dev/raw/raw3 iq_system_main.iq -> /dev/raw/raw1 temp_1.iqtmp -> /dev/raw/raw4 temp_2.iqtmp -> /开发/原始/原始5
[ 5 ] 复制数据库 .db 和 .log 文件并启动数据库。
当您说“原始设备”时,您是在说“原始设备”还是“原始分区”?
原始设备将正常工作。
如果您使用的是原始分区,那么如果磁盘格式是 linux 可以理解的格式(GPT、MBR 等),您就可以了。
根据 SAN 的功能,您可以拍摄快照并将快照安装在 linux 机器上进行测试。