Исходные данные: сервер HP Proliant DL360 на Linux Centos 4.6 с базой Oracle 10.2.0.3 с ASM, который создан на основе LUN'а из массива HP EVA5000.
Задача: необходимо перевести базу на LUN'ы массива HP XP1024.
Итак, необходимо "увидеть" презентованные из XP1024 луны, настроить для них multipathing при помощи device-mapper'а. Затем данные луны добавить в существующую дисковую группу и в случае успешных тестов вывести старый диск EVA5000 из существующей дисковой группы.
В случае успеха провести данную операцию на боевом сервере.
От 23 мая - к сожалению тест пока завершился неуспешно. Презентованные LUNы видны, но каждый получаемый путь в /dev/mpath содержит отдельный путь к презентованному LUNу. Позже нашел в документе с www.hp.com "Installation and Reference Guide Device Mapper Multipath Enablement Kit for HP StorageWorks Disk Arrays", где для XP1024 было примечание -
*If you useXP128/1024,the system modes 140 and 293 must be switched on,otherwise
the XP does not respond to a SCSI inquiry to code page 0x83 with a unique serial number (scsi_id tool). This prevents the HPDM Multipath from detecting the redundant paths.
Таких режимов 140 и 293 в прошивке нашего XP1024 не оказалось.
Ссылка на документы
Т.о. продолжение тестов отложено до начала июня, когда Д. вернется из штатов с форума HP-шников.
p.s. Спустя 7 часов ближе к концу раб. дня Д. позвонил в Москву в HP и спросил об этих режимах. Там сообщили, что есть такие режимы и что перезвонят через "10 минут".
Showing posts with label SAN. Show all posts
Showing posts with label SAN. Show all posts
Monday, May 19, 2008
Saturday, May 17, 2008
По переводу ASM с EVA5000 на XP1024
Сегодня, в субботу, в 10.40 час. позвонил Д.(человек круглосуточно болеет за дело и обдумывает его), спросил как вчера прошли работы (я вчера вечером просто срестартил одну базу по ченджу) и попросил пока не ставить restore базы ITC в тестовую, т.к. там какие-то проблемы еще с DataProtector. Я сказал, что Restore запустил вчера вечером и еще не прилетало сообщения ни об ошибке ни об успехе. Д. предположил, что ресторинг заклинило на mount request (позже в понедельник М.С. сказал, что так и было - были mount request'ы, которые ему приходилось проталкивать вручную все выходные).
Затем Д. озвучил в своем стиле то ради чего и звонил - просьбу-задачку провести тесты с настройкой Multipathing'а для дисков массива XP1024 на тестовой машине, на которой я месяцев сколько-то назад настроил его для дисков EVA5000 по подобию боевого сервера.
Т.е. нужно сделать Multipathing на оба массива как на EVA так и на XP, протестировать failover, "выдернув шнурочек" и на основе тестов разработать план перевода ASM боевого ITC c EVA5000 на XP1024.
Утилиту xpinfo, которая отображает всю информацию по презентованным хосту дискам, Д. положил в хоум рута.
Думаю, очень интересная задачка, и с понедельника начнем.
Затем Д. озвучил в своем стиле то ради чего и звонил - просьбу-задачку провести тесты с настройкой Multipathing'а для дисков массива XP1024 на тестовой машине, на которой я месяцев сколько-то назад настроил его для дисков EVA5000 по подобию боевого сервера.
Т.е. нужно сделать Multipathing на оба массива как на EVA так и на XP, протестировать failover, "выдернув шнурочек" и на основе тестов разработать план перевода ASM боевого ITC c EVA5000 на XP1024.
Утилиту xpinfo, которая отображает всю информацию по презентованным хосту дискам, Д. положил в хоум рута.
Думаю, очень интересная задачка, и с понедельника начнем.
Wednesday, August 08, 2007
Добавление восьмого LUN'а с EVA5000 в Centos
После включения поддержки ядром max_scsi_luns для автоматического подключения scsi-разделов презентовали дополнительный LUN на основе, которого нужно было сделать asm_diskgroup. Как я это сделал.
1) Вручную добавил данный LUN через
echo "scsi add-single-device 0 0 0 8" > /proc/scsi/scsi
echo "scsi add-single-device 0 0 1 8" > /proc/scsi/scsi
echo "scsi add-single-device 1 0 0 8" > /proc/scsi/scsi
echo "scsi add-single-device 1 0 1 8" > /proc/scsi/scsi
после чего появился файл /dev/dm-14
2) Вручную добавил вь-14
# multipathd -k
multipathd> add map dm-14
ok
после чего в /dev/mpath/ появилась ссылка на /dev/dm-14
3) Создал партицию из появившейся ссылки, т.е. в моем случае
# fdisk /dev/mpath/3600508b4001039d90000600000d20000
выдели все доступное пространство от первого до последнего цилиндра
Дал команду #partprobe
После чего я ожидал увидеть /dev/mpath/3600508b4001039d90000600000d20000p1, но этого не произошло.
Поэтому очень важно увидеть создание данного файла после ребута, т.к. именно после его создания startup-скриптами будет создан raw-девайс, на базе которого создается asm_diskgroup.
А пока я создал вручную raw через
# raw /dev/raw/raw17 /dev/mpath/3600508b4001039d90000600000d20000
А далее под oracle и ORACLE_SID=+asm создал группу
SQL> create diskgroup eva01r1 external redundancy disk /dev/raw/raw17;
Теперь нужно проверить во время ночных работ с перезагрузкой сервера и переливкой RMAN-ом базы в данную asm_diskgroup следующее:
1) Похватится ли 8-й LUN системой?
2) Создастся ли /dev/mpath/3600508b4001039d90000600000d20000p1 , на базе которого должен создастся /dev/raw/raw17 ?
Скрипт создания raw
cnt=10
for md in `ls /dev/mpath/*p1`
do
raw /dev/raw/raw$cnt $md
cnt=`expr $cnt + 1`
done;
Продолжение следует ...
1) Вручную добавил данный LUN через
echo "scsi add-single-device 0 0 0 8" > /proc/scsi/scsi
echo "scsi add-single-device 0 0 1 8" > /proc/scsi/scsi
echo "scsi add-single-device 1 0 0 8" > /proc/scsi/scsi
echo "scsi add-single-device 1 0 1 8" > /proc/scsi/scsi
после чего появился файл /dev/dm-14
2) Вручную добавил вь-14
# multipathd -k
multipathd> add map dm-14
ok
после чего в /dev/mpath/ появилась ссылка на /dev/dm-14
3) Создал партицию из появившейся ссылки, т.е. в моем случае
# fdisk /dev/mpath/3600508b4001039d90000600000d20000
выдели все доступное пространство от первого до последнего цилиндра
Дал команду #partprobe
После чего я ожидал увидеть /dev/mpath/3600508b4001039d90000600000d20000p1, но этого не произошло.
Поэтому очень важно увидеть создание данного файла после ребута, т.к. именно после его создания startup-скриптами будет создан raw-девайс, на базе которого создается asm_diskgroup.
А пока я создал вручную raw через
# raw /dev/raw/raw17 /dev/mpath/3600508b4001039d90000600000d20000
А далее под oracle и ORACLE_SID=+asm создал группу
SQL> create diskgroup eva01r1 external redundancy disk /dev/raw/raw17;
Теперь нужно проверить во время ночных работ с перезагрузкой сервера и переливкой RMAN-ом базы в данную asm_diskgroup следующее:
1) Похватится ли 8-й LUN системой?
2) Создастся ли /dev/mpath/3600508b4001039d90000600000d20000p1 , на базе которого должен создастся /dev/raw/raw17 ?
Скрипт создания raw
cnt=10
for md in `ls /dev/mpath/*p1`
do
raw /dev/raw/raw$cnt $md
cnt=`expr $cnt + 1`
done;
Продолжение следует ...
Monday, July 30, 2007
Поддержка ядром Linux определенного кол-ва scsi luns
Cсылки, которые пригодились для решения этой задачи
1) How do I setup multiple LUNs on Red Hat Enterprise Linux 4?
How do I rebuild the initial ramdisk image?
2) Administer Linux on the fly с переводом на опеннете.
Ccылки к тому, что сегодня получил задание выяснить как увеличить кол-во поддерживаемых LUNs ядром Linux (Centos 4.4). Было высказано предположение, что у ядра есть параметр, подобный max scsi luns, дефолтовое значение которого 7, которое нужно увеличить. Про дефолтовое значение max_scsi_luns я не нашел ничего, но как оказалось на данном сервере после загрузки ОС вручную запускался скрипт rescan-scsi-bus.sh , использующий добавление дисков на лету echo "scsi add-single-device H C I L" > /proc/scsi/scsi и и который не без ограничений.
Вечером следующего дня я сделал установку Multiple LUNs с перестройкой образа RAM-диска по указанным ссылкам и это избавило от ручного запуска данного скрипта.
Также был автоматизирован запуск asm-экземпляра и базы Oracle и apache после загрузки ОС.
1) How do I setup multiple LUNs on Red Hat Enterprise Linux 4?
How do I rebuild the initial ramdisk image?
2) Administer Linux on the fly с переводом на опеннете.
Ccылки к тому, что сегодня получил задание выяснить как увеличить кол-во поддерживаемых LUNs ядром Linux (Centos 4.4). Было высказано предположение, что у ядра есть параметр, подобный max scsi luns, дефолтовое значение которого 7, которое нужно увеличить. Про дефолтовое значение max_scsi_luns я не нашел ничего, но как оказалось на данном сервере после загрузки ОС вручную запускался скрипт rescan-scsi-bus.sh , использующий добавление дисков на лету echo "scsi add-single-device H C I L" > /proc/scsi/scsi и и который не без ограничений.
Вечером следующего дня я сделал установку Multiple LUNs с перестройкой образа RAM-диска по указанным ссылкам и это избавило от ручного запуска данного скрипта.
Также был автоматизирован запуск asm-экземпляра и базы Oracle и apache после загрузки ОС.
Wednesday, May 02, 2007
к установке Oracle ASM on MSA1000 на HP-UX 11.11
В HP-UX 11.11 после "нарезки" LUNs массива MSA1000 при помощи hpacucli, где каждому LUNу соответствует один физический диск, для того, чтобы при создании дисковых групп ASM с normal redundancy не ошибиться в определении failgroups, юзай команды
#ioscan
#insf
#ioscan -funC disk (информация об определенных в системе дисках) и эту ссылку Interpreting Hardware Paths.
Данная ссылка поможет определить разные пути к одному и тому же диску, которые c целью обеспечения failover можно будет оформить в виде масок разных failgroup's.
Например,
SQL> alter system set asm_diskstring='/dev/rdsk/c18t0*','/dev/rdsk/c20t1*';
System altered.
SQL> create diskgroup msa1000 normal redundancy
2 failgroup fg1 disk '/dev/rdsk/c18t0*'
3 failgroup fg2 disk '/dev/rdsk/c20t1*';
Diskgroup created.
После установки библиотеки клиента DP и интеграции c Oracle, проверить доступность ленточек можно через
#ioscan -funC tape
#ioscan
#insf
#ioscan -funC disk (информация об определенных в системе дисках) и эту ссылку Interpreting Hardware Paths.
Данная ссылка поможет определить разные пути к одному и тому же диску, которые c целью обеспечения failover можно будет оформить в виде масок разных failgroup's.
Например,
SQL> alter system set asm_diskstring='/dev/rdsk/c18t0*','/dev/rdsk/c20t1*';
System altered.
SQL> create diskgroup msa1000 normal redundancy
2 failgroup fg1 disk '/dev/rdsk/c18t0*'
3 failgroup fg2 disk '/dev/rdsk/c20t1*';
Diskgroup created.
После установки библиотеки клиента DP и интеграции c Oracle, проверить доступность ленточек можно через
#ioscan -funC tape
Tuesday, February 13, 2007
тест по интеграции Secure Path с Oracle ASM
Cегодня реализовал подготовку теста по интеграции Secure Path с Oracle ASM (ОС - HP-UX 11.23, дисковый массив HP Storage Works EVA5000, Secure Path - HPswsp A.3.0F.02F.00F for Active-Active Disk Arrays).
Стола задачка - создать дисковую группу ASM на базе Virtual device file-ов, созданных Secure Path'ом, доступ к которым обеспечивается multipathing-ом.
Идея реализована - лишь для чистоты эксперимента сегодня
будет проверена доступность данных после краха одного из "путей" SP……путем "вытыкания" одного из шнурочков из порта :)
Вечером: тест с "вытыканием" сработал.
Похоже, это решение будет реплицироваться дальше.
======
HP StorageWorks Enterprise Virtual Array 5000 - Overview
HP StorageWorks Secure Path, Overview & Features
Active/active vs. active/passive arrays
==
LUN, разделы и тома
Стола задачка - создать дисковую группу ASM на базе Virtual device file-ов, созданных Secure Path'ом, доступ к которым обеспечивается multipathing-ом.
Идея реализована - лишь для чистоты эксперимента сегодня
будет проверена доступность данных после краха одного из "путей" SP……путем "вытыкания" одного из шнурочков из порта :)
Вечером: тест с "вытыканием" сработал.
Похоже, это решение будет реплицироваться дальше.
======
HP StorageWorks Enterprise Virtual Array 5000 - Overview
HP StorageWorks Secure Path, Overview & Features
Active/active vs. active/passive arrays
==
LUN, разделы и тома
LUN — это логическая ссылка на часть подсистемы хранения. LUN может указывать на диск, часть диска, целый дисковый массив или раздел дискового массива в подсистеме. Эта логическая ссылка, при ее назначении серверу сети SAN, играет роль физического диска, доступного для записи и чтения данных этим сервером. Применение LUN делает проще управление ресурсами хранилища в сети SAN, поскольку они служат как логическими идентификаторами, для которых можно назначать привилегии доступа и контроля.
Thursday, January 18, 2007
Oracle - 32-bit или 64-bit?
Как определить в 32- или в 64-битном режиме запущен Oracle?
1) Если Oracle запущен в 32-битном режиме то при обращении к полю address представления v$sql мы увидим 8 символов, а при обращении в 64-битном режиме - 16 символов.
ADDRESS
----------------
78BA1040787F3E44
2) #file $ORACLE_HOME/bin/oracle
Например,
#file /u01/app/oracle/product/10.2.0/Db_1/bin/oracle
/u01/app/oracle/product/10.2.0/Db_1/bin/oracle: ELF 64-bit MSB executable SPARCV 9 Version 1, dynamically linked, not stripped
#file /u01/app/oracle/product/10.2.0/db_1/bin/oracle
/u01/app/oracle/product/10.2.0/db_1/bin/oracle: setuid setgid ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), not stripped
==============================================
Определить битовость на HPUX
# getconf KERNEL_BITS
1) Если Oracle запущен в 32-битном режиме то при обращении к полю address представления v$sql мы увидим 8 символов, а при обращении в 64-битном режиме - 16 символов.
Например, для 32-битного режима:
select address from v$sql where rownum <>
а для 64-битного -
ADDRESS
----------------
78BA1040787F3E44
2) #file $ORACLE_HOME/bin/oracle
Например,
#file /u01/app/oracle/product/10.2.0/Db_1/bin/oracle
/u01/app/oracle/product/10.2.0/Db_1/bin/oracle: ELF 64-bit MSB executable SPARCV 9 Version 1, dynamically linked, not stripped
#file /u01/app/oracle/product/10.2.0/db_1/bin/oracle
/u01/app/oracle/product/10.2.0/db_1/bin/oracle: setuid setgid ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), not stripped
==============================================
Определить битовость на HPUX
# getconf KERNEL_BITS
Thursday, December 28, 2006
Скриптец для удаления множества пакаджей Солярки
#pkginfo|grep Northern выдает кучу лишних пакаджей типа:
system SUNWnafos Northern Africa OS Support
system SUNWnafow Northern Africa OW Support
Скриптик помогает создать файлик, при запуске которого можно удалить все эти пакаджи разом.
1) Наваять скрипт 1.pl
#/bin/perl
while (){
(undef, my $a, undef)=split;
print "pkgrm -n $a\n";}
2) pkginfo|grep Northern | perl 1.pl > aaa
3) chmod 755 aaa
Запустить aaa
system SUNWnafos Northern Africa OS Support
system SUNWnafow Northern Africa OW Support
Скриптик помогает создать файлик, при запуске которого можно удалить все эти пакаджи разом.
1) Наваять скрипт 1.pl
#/bin/perl
while (
(undef, my $a, undef)=split;
print "pkgrm -n $a\n";}
2) pkginfo|grep
3) chmod 755 aaa
Запустить aaa
Subscribe to:
Posts (Atom)