У нас есть сервер базы данных, на котором запущен oracle rac. Недавно нам не хватало места на основном LUN, к которому он подключен. Я создал новый LUN 100 ГБ и соединил его с существующим LUN, создав новый MetaLUN. После некоторого возни мне удалось заставить Linux распознавать новое пространство. Затем я создал новый раздел на псевдоустройстве, чтобы использовать новое пространство. Ранее, когда я делал это в другой системе, следующим шагом было создание диска ASM в новом разделе и добавление этого диска в группу дисков Oracle. Однако это не удается. Мне известно о различных проблемах с ASM и powerpath, но я не думаю, что здесь проблема. Во время исследования проблемы я обнаружил, что одно из базовых логических устройств не отражает изменение размера. Увидеть ниже;
Powermt отображает все базовые логические блоки
[root@XXXXX~]# powermt display dev=emcpowerd
Pseudo name=emcpowerd
CLARiiON ID=CKM00091500009 [VFRAC2]
Logical device ID=6006016030312200787502866C65DE11 [LUN 30]
state=alive; policy=CLAROpt; priority=0; queued-IOs=0
Owner: default=SP A, current=SP A Array failover mode: 1
`==============================================================================`
---------------- Host --------------- - Stor - -- I/O Path - -- Stats ---
`### HW Path I/O Paths Interf. Mode State Q-IOs Errors`
`==============================================================================`
3 qla2xxx sde SP A0 active alive 0 0
3 qla2xxx sdj SP B0 active alive 0 0
4 qla2xxx sdo SP A1 active alive 0 0
4 qla2xxx sdt SP B1 active alive 0 0
**Fdisk on the pseudo device shows correct space.**
[root@XXXXX ~]# fdisk -l /dev/emcpowerd
Disk /dev/emcpowerd: 429.4 GB, 429496729600 bytes
255 heads, 63 sectors/track, 52216 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/emcpowerd1 1 39162 314568733+ 83 Linux
/dev/emcpowerd2 39163 52216 104856255 83 Linux
**fdisk on one of the logical units is wrong**
[root@XXXXX~]# fdisk -l /dev/sde
Disk /dev/sde: 322.1 GB, 322122547200 bytes
255 heads, 63 sectors/track, 39162 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sde1 1 39162 314568733+ 83 Linux
/dev/sde2 39163 52216 104856255 83 Linux
**fdisk on the rest of the units is fine**
[root@XXXXX ~]# fdisk -l /dev/sdj
Disk /dev/sdj: 429.4 GB, 429496729600 bytes
255 heads, 63 sectors/track, 52216 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdj1 1 39162 314568733+ 83 Linux
/dev/sdj2 39163 52216 104856255 83 Linux
Также, когда я создал раздел, linux не создавал никаких записей в каталоге / dev для второго раздела, поэтому я создал их вручную
[root@XXXXX dev]# mknod sde2 b 8 66
[root@XXXXX dev]# ls -al sd[ejot]?
brw-r----- 1 root disk 8, 65 Dec 29 14:20 sde1
brw-r--r-- 1 root disk 8, 66 Apr 8 20:31 sde2
brw-r----- 1 root disk 8, 145 Dec 29 14:19 sdj1
brw-r--r-- 1 root disk 8, 146 Apr 8 20:33 sdj2
brw-r----- 1 root disk 8, 225 Apr 6 23:12 sdo1
brw-r--r-- 1 root disk 8, 226 Apr 8 20:33 sdo2
brw-r----- 1 root disk 65, 49 Dec 29 14:19 sdt1
brw-r--r-- 1 root disk 65, 50 Apr 8 20:33 sdt2
Это рабочий сервер, который нелегко перезагрузить.
Будем очень признательны за любые идеи.
J
Помимо partprobe
попробуйте с помощью утилиты blockdev перечитать таблицу разделов устройства:
blockdev --rereadpt /dev/sde
Тогда проблема может заключаться в том, что сам LUN не был должным образом обновлен.
Вы можете попробовать выполнить команду повторного сканирования для хоста Fibre Channel или SCSI через /sys
файловая система.
Некоторое время назад я написал это scsi_rescan_bus.sh
скрипт для работы с нашими устройствами EMC Clariion:
#!/bin/sh
host_number="$1"
echo "1" > /sys/class/fc_host/host${host_number}/issue_lip
sleep 10
echo "- - -" > /sys/class/scsi_host/host${host_number}/scan
Я не совсем уверен, что он по-прежнему будет работать с современными ядрами и устройствами. Всегда проверяйте это в специальной тестовой среде, прежде чем пробовать это в продакшене!
Есть множество ошибок, поэтому обязательно прочтите эти темы:
http://forums11.itrc.hp.com/service/forums/questionanswer.do?threadId=1454807
И официальная документация Red Hat («Руководство по изменению конфигурации сетевого хранилища»): http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5/html/Online_Storage_Reconfiguration_Guide/index.html
попробуйте бежать /sbin/partprobe /dev/emcpowerd
partprobe
говорит вашему ядру повторно сканировать разделы
Я исследовал это с EMC, и мне кажется, что без перезагрузки не обойтись. Однако в качестве работы я создал новый lun, который динамически подбирался, и смог заставить oracle это распознать. J