Showing posts with label SAN. Show all posts
Showing posts with label SAN. Show all posts

Monday, May 19, 2008

Тест с добавлением/мультпасингом LUN-ов из HP XP 1024

Исходные данные: сервер 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 минут".

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, которая отображает всю информацию по презентованным хосту дискам, Д. положил в хоум рута.
Думаю, очень интересная задачка, и с понедельника начнем.

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;

Продолжение следует ...

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 после загрузки ОС.

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

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, разделы и тома

LUN — это логическая ссылка на часть подсистемы хранения. LUN может указывать на диск, часть диска, целый дисковый массив или раздел дискового массива в подсистеме. Эта логическая ссылка, при ее назначении серверу сети SAN, играет роль физического диска, доступного для записи и чтения данных этим сервером. Применение LUN делает проще управление ресурсами хранилища в сети SAN, поскольку они служат как логическими идентификаторами, для которых можно назначать привилегии доступа и контроля.

После назначения LUN для сервера в этом LUN можно создать один или несколько разделов. С помощью разделов определяется, сколько дискового пространства будет отведено для хранилища. Чтобы операционная система смогла начать запись в раздел и чтение из него, требуется создать в разделе тома, отформатировав его в одной из файловых систем. Тома определяют, сколько логического пространства отведено для хранилища. Тома могут занимать несколько разделов.

Thursday, January 18, 2007

Oracle - 32-bit или 64-bit?

Как определить в 32- или в 64-битном режиме запущен Oracle?
1) Если Oracle запущен в 32-битном режиме то при обращении к полю address представления v$sql мы увидим 8 символов, а при обращении в 64-битном режиме - 16 символов.

Например, для 32-битного режима:

select address from v$sql where rownum <>

а для 64-битного -

select address from v$sql where rownum < 2;

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