我们有一个在 Solaris 上运行的 SYBASE IQ 数据库,使用原始设备作为数据库的底层存储。我们希望将此环境从 Solaris 迁移到 Linux。是否可以将 SYBASE 用作原始设备的 SAN 磁盘重新分配给我们的新 Linux 部署,以便 SYBASE 只需选择这些磁盘并设法访问其所有旧数据?
我担心,由于 2 个操作系统使用不同的磁盘标记技术,SYBASE 可能无法检测到其先前的数据块。出于大小要求的考虑,我们不想进行数据库导出和导入操作。并行运行这两个系统不是一个选择。
有没有人成功实现这一目标?如果是,遇到了哪些障碍?
答案1
我们在过去两个月内验证了这一确切情况。以下是我们所做工作的概述。
索拉里斯
[ 1 ] 我们在原始设备上运行 Sybase IQ 15.2。
[ 2 ] Solaris X86 系统上的所有 Lun 都是使用 fdisk 和 Solaris EFI vtoc 标签创建的。SAN 是 Clariion CX4
:fdisk -W - /dev/rdsk/c3t600601604E402D002C5763C4D3F8E011d0p0
- /dev/rdsk/c3t600601604E402D002C5763C4D3F8E011d0p0 默认 fdisk 表
- 方面:
- 512 字节/扇区
- 63 个扇区/磁道
- 255 磁道/柱面
- 62660 个气缸 *
- 系统标识:
- 1:DOSOS12
- :
- :
- 190:X86启动
- 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 ] 我们已将 /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
RHEL 6.2
[ 1 ] 我们将 LUN 导入到 Linux 服务器。
[ 2 ] Linux 中 LUNS 的表示如下:
多路径-ll
mpathe (36006016077202f00a89e624050a6e111) dm-7 DGC,RAID 1 大小=50G 功能='1queue_if_no_path'hwhandler='1emc'wp=rw|-+-策略='round-robin 0'prio=1状态=active| - 0:0:0:1 sdd 8:48 active ready running
-+-策略='round-robin 0'prio=0状态=enabled`-1:0:0:1 sdi 8:128活动就绪运行
mpathd (36006016077202f00bc2278c54fa6e111) dm-5 DGC,RAID 10 大小=805G 功能='1queue_if_no_path'hwhandler='1emc'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 大小=403G 功能='1queue_if_no_path'hwhandler='1emc'wp=rw|-+-策略='round-robin 0'prio=1状态=active| - 1:0:0:4 sdl 8:176 active ready running
-+-策略='round-robin 0'prio=0状态=enabled`-0:0:0:4 sdg 8:96 活动就绪运行
mpathg (36006016077202f00c47489d74fa6e111) dm-6 DGC,RAID 10 大小=805G 功能='1queue_if_no_path'hwhandler='1emc'wp=rw|-+-策略='round-robin 0'prio=1状态=active| - 0:0:0:3 sdf 8:80 active ready running
-+-策略='round-robin 0'prio=0状态=enabled`-1:0:0:3 sdk 8:160活动就绪运行
mpathf (36006016077202f00fa57ad1750a6e111) dm-8 DGC,RAID 1 大小=403G 功能='1queue_if_no_path'hwhandler='1emc'wp=rw|-+-策略='round-robin 0'prio=1状态=active| - 0:0:0:5 sdh 8:112 active ready running
-+-策略='round-robin 0'prio=0状态=enabled`-1:0:0:5 sdm 8:192 活动就绪运行
ls -l /dev/mapper/mpath*
lrwxrwxrwx。 1 root root 7 7 月 4 日 17:47 /dev/mapper/mpathc -> ../dm-2 lrwxrwxrwx。 1 root root 7 7 月 4 日 17:47 /dev/mapper/mpathcp1 -> ../dm-3 lrwxrwxrwx。 1 root root 7 7 月 4 日 17:47 /dev/mapper/mpathcp9 -> ../dm-4 lrwxrwxrwx。 1 root root 7 7 月 4 日 17:47 /dev/mapper/mpathd -> ../dm-5 lrwxrwxrwx。 1 root root 7 7 月 4 日 17:47 /dev/mapper/mpathdp1 -> ../dm-9 lrwxrwxrwx。 1 root root 8 7 月 4 日 17:47 /dev/mapper/mpathdp9 -> ../dm-10 lrwxrwxrwx. 1 root root 7 7 月 4 日 17:47 /dev/mapper/mpathe -> ../dm-7 lrwxrwxrwx. 1 root root 8 7 月 4 日 17:47 /dev/mapper/mpathep1 -> ../dm-13 lrwxrwxrwx. 1 root root 8 7 月 4 日 17:47 /dev/mapper/mpathep9 -> ../dm-14 lrwxrwxrwx. 1 root root 7 7 月 4 日 17:47 /dev/mapper/mpathf -> ../dm-8 lrwxrwxrwx. 1 root root 8 7 月 4 日 17:47 /dev/mapper/mpathfp1 -> ../dm-15 lrwxrwxrwx. 1 root root 8 7 月 4 日 17:47 /dev/mapper/mpathfp9 -> ../dm-16 lrwxrwxrwx. 1 root root 7 7 月 4 日 17:47 /dev/mapper/mpathg -> ../dm-6 lrwxrwxrwx. 1 root root 8 7 月 4 日 17:47 /dev/mapper/mpathgp1 -> ../dm-11 lrwxrwxrwx. 1 root root 8 7 月 4 日 17:47 /dev/mapper/mpathgp9 -> ../dm-12
[ 3 ] 我们通过手动创建原始设备并将其绑定到上面列出的 LUN 的 p1 分区,将 RAW 设备呈现给 Sybase IQ:
ls -l /dev/mapper/mpath?p1
lrwxrwxrwx. 1 root root 7 7 月 4 日 17:47 /dev/mapper/mpathcp1 -> ../dm-3 lrwxrwxrwx. 1 root root 7 7 月 4 日 17:47 /dev/mapper/mpathdp1 -> ../dm-9 lrwxrwxrwx. 1 root root 8 7 月 4 日 17:47 /dev/mapper/mpathep1 -> ../dm-13 lrwxrwxrwx. 1 root root 8 7 月 4 日 17:47 /dev/mapper/mpathfp1 -> ../dm-15 lrwxrwxrwx. 1 root root 8 7 月 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 七月 4 17:47 /dev/dm-11 brw-rw----. 1 根磁盘 253,13 七月 4 17:47 /dev/dm-13 brw-rw----. 1 根磁盘 253,15 七月 4 17:47 /dev/dm-15 brw-rw----. 1 根磁盘 253,3 七月 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 -> /dev/raw/raw5
[ 5 ] 复制数据库的.db和.log文件并启动数据库。
答案2
当您说“原始设备”时,您是在说“原始设备”还是“原始分区”?
原始设备就可以正常工作。
如果您使用的是原始分区,那么如果磁盘格式是 Linux 可以理解的(GPT、MBR 等),那就没问题。
根据你的SAN的功能,你可以拍摄快照并将快照安装在Linux机器上进行测试。