将原始SAN磁盘从Solaris重新分配给Linux

我们有一个在Solaris上运行的SYBASE IQ数据库,使用裸设备作为数据库的底层存储。 我们希望将这个环境从Solaris迁移到Linux。 是否可以将SYBASE用作原始设备的SAN磁盘重新分配给我们的新的Linux部署,这样SYBASE就可以select这些磁盘,并设法访问所有旧数据?

我担心的是,由于2个操作系统使用不同的磁盘标签技术,SYBASE可能无法检测到以前的数据块。 我们不想做一个数据库出口和import操作超出规模要求的考虑。 并行运行这两个系统不是一个选项。

有没有人成功实现这个目标,如果是的话,遇到了什么障碍?

我们在过去的两个月里证实了这个确切的情况。 这是我们所做的一个概述。

的Solaris

[1]我们在原始设备上运行Sybase IQ 15.2。

[2] Solaris X86系统上的所有Luns都是使用fdisk和Solaris EFI vtoc标签创build的。 SAN是Clariion CX4

:fdisk -W – / dev / rdsk / c3t600601604E402D002C5763C4D3F8E011d0p0

  • / dev / rdsk / c3t600601604E402D002C5763C4D3F8E011d0p0默认的fdisk表
  • 外形尺寸:
  • 512字节/扇区
  • 63个行业/轨道
  • 255轨道/汽缸
  • 62660缸*
  • systid:
  • 1:DOSOS12
  • 190:X86BOOT
  • 191:SUNIXOS2
  • 238:EFI_PMBR
  • 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

  • / dev / rdsk / c3t600601604E402D002C5763C4D3F8E011d0s2分区映射*
  • 外形尺寸:
  • 512字节/扇区
  • 1006632959部门
  • 1006632892易访问行业*
  • 标志:
  • 1:不可以
  • 10:只读*
  • 未分配空间:
  • 第一部门最后
  • 部门计数部门
  • 34 94 127 *
  • 第一部门最后
  • 分区标签标志扇区数扇区安装目录0 4 00 128 1006616414 1006616541 8 11 00 1006616542 16384 1006632925

[3]我们已经通过's0'分区将/ dev / rdsk / c3t600601604E402D002C5763C4D3F8E011d0s0分配给Sybase IQ以及其他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 – > /开发/ rdsk / c3t6006016077202F0028B79B0050A6E111d0s0

RHEL 6.2

[1]我们将LUN导入Linux服务器。

[2] LUN在Linux中呈现如下:

multipath -ll

mpathe(36006016077202f00a89e624050a6e111)dm-7 DGC,RAID 1 size = 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活动就绪运行

mpathd(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活动就绪运行

mpathc(36006016077202f0028b79b0050a6e111)dm-2 DGC,RAID 1 size = 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活动就绪运行

mpathg(36006016077202f00c47489d74fa6e111)dm-6 DGC,RAID 10 size = 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:

mpathf(36006016077202f00fa57ad1750a6e111)dm-8 DGC,RAID 1 size = 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:5:sdm 8:192 active ready running

ls -l / dev / mapper / 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 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]我们将RAW设备展示给Sybase IQ,方法是手动创build裸设备并将其绑定到上面列出的LUN的p1分区:

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:绑定到major 253,minor 13 / dev / raw / raw2:绑定到major 253,minor 9 / dev / raw / raw3:绑定到major 253,minor 11 / dev / raw / raw4:bound到less校253,轻微3 / dev / raw / raw5:大三五三,小三五

ls -l / dev / dm-3 / dev / dm-9 / dev / dm-13 / dev / dm-15 / dev / dm-11

BRW-RW —-。 1根盘253,7月11日17:47 / dev / dm-11 brw-rw —-。 1根盘253,7月13日17:47 / dev / dm-13 brw-rw —-。 1根磁盘253,15 Jul 4 17:47 / dev / dm-15 brw-rw —-。 1根盘253,7月3日17:47 / dev / dm-3 brw-rw —-。 1根磁盘253,9月4日17:47 / dev / dm-9

[4]我们在Linux上创build了与相应设备相同的链接:

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 – > /开发/原料/ raw5

[5]复制数据库.db和.log文件并启动数据库。

当你说“原始设备”时,你在说“原始设备”还是“原始分区”?

裸设备将工作。

如果你使用的是原始分区,那么如果磁盘格式是linux可以理解的(GPT,MBR等),那你就没问题。

取决于您的SAN的function,您可以拍摄一张快照并将快照安装在一个linux盒子上进行testing。