У нас есть база данных SYBASE IQ, работающая на Solaris, использующая сырые устройства в качестве основного хранилища для базы данных. Мы хотели бы перенести эту среду с Solaris на Linux. Можно ли просто переназначить диски SAN, используемые SYBASE в качестве необработанных устройств, для нашего нового развертывания Linux, чтобы SYBASE просто забрала их и смогла получить доступ ко всем своим старым данным?
Я обеспокоен тем, что, поскольку две операционные системы используют разные методы маркировки дисков, SYBASE может быть не в состоянии обнаружить предыдущие блоки данных. Мы бы не хотели выполнять операцию экспорта и импорта базы данных из-за требований к размеру. Параллельная работа двух систем невозможна.
Удалось ли кому-нибудь достичь этого, и если да, то с какими препятствиями встретились?
Мы доказали этот точный сценарий в течение последних двух месяцев здесь. Это обзор того, что мы сделали.
[1] Мы запускаем Sybase IQ 15.2 на сырых устройствах.
[2] Все Lun-файлы в системе Solaris X86 были созданы с помощью fdisk и Solaris EFI vtoc label. SAN был Clariion CX4.
239: EFI_FS *
Id Act Bhead Bsect Bcyl Ehead Esect Ecyl Rsect Numsect 238 0 255 63 1023 255 63 1023 1 1006632958
[3] Мы выделили / dev / rdsk / c3t600601604E402D002C5763C4D3F8E011d0s0 для Sybase IQ, а также адреса других LUN разделом 's0'. НАПРИМЕР.
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
[1] Мы импортировали LUN на сервер Linux.
[2] LUNS представлены в Linux следующим образом:
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 активно готово работает
mpathd (36006016077202f00bc2278c54fa6e111) dm-5 DGC, размер RAID 10 = 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 = 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 = 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 активно готово работает
mpathf (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 активно готово работает
lrwxrwxrwx. 1 root root 7 июля 4 17:47 / dev / mapper / mpathc -> ../dm-2 lrwxrwxrwx. 1 root root 7 июля 4 17:47 / dev / mapper / mpathcp1 -> ../dm-3 lrwxrwxrwx. 1 root root 7 июля 4 17:47 / dev / mapper / mpathcp9 -> ../dm-4 lrwxrwxrwx. 1 root root 7 июля 4 17:47 / dev / mapper / mpathd -> ../dm-5 lrwxrwxrwx. 1 root root 7 июля 4 17:47 / dev / mapper / mpathdp1 -> ../dm-9 lrwxrwxrwx. 1 root root 8 4 июля 17:47 / dev / mapper / mpathdp9 -> ../dm-10 lrwxrwxrwx. 1 root root 7 июля 4 17:47 / dev / mapper / mpathe -> ../dm-7 lrwxrwxrwx. 1 root root 8 4 июля 17:47 / dev / mapper / mpathep1 -> ../dm-13 lrwxrwxrwx. 1 root root 8 4 июля 17:47 / dev / mapper / mpathep9 -> ../dm-14 lrwxrwxrwx. 1 root root 7 июля 4 17:47 / dev / mapper / mpathf -> ../dm-8 lrwxrwxrwx. 1 root root 8 4 июля 17:47 / dev / mapper / mpathfp1 -> ../dm-15 lrwxrwxrwx. 1 root root 8 4 июля 17:47 / dev / mapper / mpathfp9 -> ../dm-16 lrwxrwxrwx. 1 root root 7 июля 4 17:47 / dev / mapper / mpathg -> ../dm-6 lrwxrwxrwx. 1 root root 8 4 июля 17:47 / dev / mapper / mpathgp1 -> ../dm-11 lrwxrwxrwx. 1 root root 8 4 июля 17:47 / dev / mapper / mpathgp9 -> ../dm-12
[3] Мы представили устройства RAW в Sybase IQ, создав необработанные устройства вручную и привязав их к разделам p1 перечисленных выше LUNS:
lrwxrwxrwx. 1 root root 7 июл 4 17:47 / dev / mapper / mpathcp1 -> ../dm-3 lrwxrwxrwx. 1 root root 7 июля 4 17:47 / dev / mapper / mpathdp1 -> ../dm-9 lrwxrwxrwx. 1 root root 8 4 июля 17:47 / dev / mapper / mpathep1 -> ../dm-13 lrwxrwxrwx. 1 root root 8 4 июля 17:47 / dev / mapper / mpathfp1 -> ../dm-15 lrwxrwxrwx. 1 root root 8 4 июля 17:47 / dev / mapper / mpathgp1 -> ../dm-11
/ 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
брв-рв ----. 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, 4 июля, 17:47 / dev / dm-3 brw-rw ----. 1 корневой диск 253, 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 и запустил базу данных.
когда вы говорите «сырые устройства», вы говорите «сырые устройства» или «сырые разделы»?
сырые устройства будут работать.
если вы используете необработанные разделы, то если формат диска понятен Linux (GPT, MBR и т. д.), все в порядке.
в зависимости от возможностей вашей SAN, вы можете сделать снимок и смонтировать его на Linux-сервере для тестирования.