Linux

將原始 SAN 磁碟從 Solaris 重新分配到 Linux

  • August 27, 2012

我們有一個在 Solaris 上執行的 SYBASE IQ 數據庫,使用原始設備作為數據庫的底層儲存。我們希望將此環境從 Solaris 遷移到 Linux。是否可以只將 SYBASE 用作原始設備的 SAN 磁碟重新分配給我們的新 Linux 部署,以便 SYBASE 能夠拾取這些磁碟並設法訪問其所有舊數據?

我擔心由於 2 個作業系統使用不同的磁碟標記技術,SYBASE 可能無法檢測到它以前的數據塊。出於對大小要求的考慮,我們不希望進行數據庫導出和導入操作。並行執行兩個系統不是一種選擇。

是否有人成功地實現了這一目標,如果是,遇到了什麼障礙?

我們在過去兩個月內證明了這個確切的場景。這是我們所做工作的概述。

索拉里斯

$$ 1 $$我們在原始設備上執行 Sybase IQ 15.2。
$$ 2 $$Solaris X86 系統上的所有 Luns 都是使用 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 $$我們已通過“s0”分區將 /dev/rdsk/c3t600601604E402D002C5763C4D3F8E011d0s0 以及其他 LUN 地址分配給 Sybase IQ。例如。 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 中的顯示如下: 多路徑 -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 active ready running

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 active ready running

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 active ready running

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:160 active ready running

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:0:5 sdm 8:192 active ready running

ls -l /dev/mapper/mpath*

lrwxrwxrwx。1 根 7 Jul 4 17:47 /dev/mapper/mpathc -> ../dm-2 lrwxrwxrwx。1 根 7 Jul 4 17:47 /dev/mapper/mpathcp1 -> ../dm-3 lrwxrwxrwx。1 根 7 Jul 4 17:47 /dev/mapper/mpathcp9 -> ../dm-4 lrwxrwxrwx。1 根 7 Jul 4 17:47 /dev/mapper/mpathd -> ../dm-5 lrwxrwxrwx。1 根 7 Jul 4 17:47 /dev/mapper/mpathdp1 -> ../dm-9 lrwxrwxrwx。1 根 8 Jul 4 17:47 /dev/mapper/mpathdp9 -> ../dm-10 lrwxrwxrwx。1 根 7 Jul 4 17:47 /dev/mapper/mpathe -> ../dm-7 lrwxrwxrwx。1 根 8 Jul 4 17:47 /dev/mapper/mpathep1 -> ../dm-13 lrwxrwxrwx。1 根 8 Jul 4 17:47 /dev/mapper/mpathep9 -> ../dm-14 lrwxrwxrwx。1 根 7 Jul 4 17:47 /dev/mapper/mpathf -> ../dm-8 lrwxrwxrwx。1 根 8 Jul 4 17:47 /dev/mapper/mpathfp1 -> ../dm-15 lrwxrwxrwx。1 個根 17 年 7 月 4 日 8 日:47 /dev/mapper/mpathfp9 -> ../dm-16 lrwxrwxrwx。1 根 7 Jul 4 17:47 /dev/mapper/mpathg -> ../dm-6 lrwxrwxrwx。1 根 8 Jul 4 17:47 /dev/mapper/mpathgp1 -> ../dm-11 lrwxrwxrwx。1 根 8 Jul 4 17:47 /dev/mapper/mpathgp9 -> ../dm-12

$$ 3 $$我們通過手動創建原始設備並將它們綁定到上面列出的 LUN 的 p1 分區,將原始設備呈現給 Sybase IQ: ls -l /dev/mapper/mpath?p1

lrwxrwxrwx。1 根 7 Jul 4 17:47 /dev/mapper/mpathcp1 -> ../dm-3 lrwxrwxrwx。1 根 7 Jul 4 17:47 /dev/mapper/mpathdp1 -> ../dm-9 lrwxrwxrwx。1 根 8 Jul 4 17:47 /dev/mapper/mpathep1 -> ../dm-13 lrwxrwxrwx。1 根 8 Jul 4 17:47 /dev/mapper/mpathfp1 -> ../dm-15 lrwxrwxrwx。1 根 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:綁定到major 253,minor 3 /dev/raw/raw5:綁定到major 253,minor 15

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,7 月 15 日 17:47 /dev/dm-15 brw-rw—-。1 根磁碟 253,7 月 3 日 17:47 /dev/dm-3 brw-rw—-。1 根磁碟 253, 9 Jul 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 文件並啟動數據庫。

引用自:https://serverfault.com/questions/403053