Linux неправильно выбирает новый раздел на псевдоустройстве emc
У нас есть сервер базы данных, на котором работает oracle rac. Недавно у нас заканчивалось свободное место на главном LUN, к которому он подключен. Я создал новое LUN на 100 ГБ и соединил его с существующим LUN, создав новый MetaLUN. После некоторой путаницы мне удалось заставить linux распознавать новое пространство. Затем я создал новый раздел на псевдоустройстве, чтобы использовать новое пространство. Ранее, когда я делал это в другой системе, следующим шагом было создание диска ASM в новом разделе и добавление этого диска в группу дисков оракула. Это однако не удается. Я знаю о различных проблемах с 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
3 ответа
Помимо 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, и кажется, что без перезагрузки не обойтись. Однако, как обходной путь, я создал совершенно новый лун, который динамично поднялся и смог получить оракула, чтобы распознать это. J