LINUX.ORG.RU
решено ФорумAdmin

Восстановить Volume

 ,


0

1

Сломал volume /u01 с базой при попытке увеличить размер. В vmware админ увеличил диск с 500 до 800. Далее по инструкции из инета я всё сломал.

  1. сделал rescan диска sdb. fdisk -l показал новый размер.
  2. далее fdiskом удалил партицию и создал новую с новым размером (потом только подумал что надо было parted использовать для увеличения)
  3. указал type 8e (LVM), нажал w. появилась ошибка что kernel uses old table. partprobe не помог, отправил в ребут.
  4. машина не запустилась, не смогло примонтировать u01_LV в /u01 . закоментил в fstab. запустился.
  5. в /etc/lvm/backup и в /etc/lvm/archive есть бэкап конфига и архив моей VG.
  6. пробовал vgcfgrestore –test -f /etc/lvm/backup/u01_vg u01_VG пишет ошибку couldnt find device with uuid ..
  7. Значит надо pvcreate . выполняю pvcreate –test –uuid «xxxx-xxxx-xxx» –restorefile /etc/lvm/backup/test_vg /dev/sdb1 пишет successfully created

команды pvcreate и vgcfgrestore без –test ещё не выполнял. Всё верно? Такими шагами восстановится раздел?


Вместо того чтобы на форумах красноглазить покупай билет туда где тебя не смогут найти

cobold ★★★★★
()
Ответ на: комментарий от cobold

покупай билет туда где тебя не смогут найти

На другую планету

serg002 ★★★★
()

Действуй в соответствии с планом отката, который ты подготовил перед тем, как увеличить раздел.

bigbit ★★★★★
()
Ответ на: комментарий от bigbit

А ты шутник. Ты правда думаешь, что человек, что не стал отрабатывать такое на тестовой виртуалке (раз впервые делает), имеет план отката?

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от Vsevolod-linuxoid

Ты хочешь сказать, что кто-то станет увеличивать диск, не имея плана отката? На продакшене? Да ну, бред же.

bigbit ★★★★★
()
Ответ на: комментарий от bigbit

Что-то злой я стал.

@flint1: fdisk’ом удалять партицию можно, я сто раз так делал. «kernel still uses the old partition table» - норма. Единственное - надо убедиться, что свежесозданный раздел будет начинаться с того же самого сектора, что и старый. Видимо, ты этого не сделал, из-за этого проблемы.

Я бы тебе не рекомендовал продолжать теми командами, которые ты написал, чтобы не ухудшать ситуацию. Единственное, что ты пока запорол - первый сектор диска. Данные целы. Пока еще.

Вместо этого я бы посоветовал определить первоначальный адрес раздела и воссоздать его.

Покажи текущий вывод команды fdisk -l, может быть я тебе подскажу бывшее правильное начало раздела.

bigbit ★★★★★
()
Последнее исправление: bigbit (всего исправлений: 1)
Ответ на: комментарий от bigbit

добрый день.

было: Disk /dev/sdb: 536.9 GB, 536870912000 bytes 255 heads, 63 sectors/track, 65270 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x0001735e Device Boot Start End Blocks Id System /dev/sdb1 1 65271 524287999+ 8e Linux LVM

стало: Disk /dev/sdb: 859.0 GB, 858993459200 bytes 255 heads, 63 sectors/track, 104433 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x0001735e Device Boot Start End Blocks Id System /dev/sdb1 1 104433 838858041 8e Linux LVM

flint1
() автор топика
Ответ на: комментарий от flint1

Раздел надо создавать с тем же смещением. Если бы ты сейчас сделал pvcreate, то похерил бы файловую систему.

anonymous
()
Ответ на: комментарий от anonymous

Пока pvcreate не делал. поэтому тут и спросил. сделал в fdisk команду d , потом сразу n . Смещения не указывал, делал по умолчанию. думаю что с 1 сектора он и создал.

flint1
() автор топика
Ответ на: комментарий от flint1

Раздел на правильном месте, возможно fdisk затёр ему что-то когда ты его заново создавал. Он иногда спрашивает вопросы вида «там где ты хочешь создать раздел уже есть фс, затереть её сигнатуру?», но затирание касается максимум нескольких секторов. Не помнишь таких вопросов?

firkax ★★★★★
()
Ответ на: комментарий от firkax

Любую потенциально опасную процедуру неплохо бы проверять на виртуалке. Особенно если копипастишь команды из гугла без понимания, что они делают. Но ТС и так мучал ВМ, мог бы заснапшотить предварительно.

undef ★★★
()
Ответ на: комментарий от firkax

По идее uuid раздела еще меняется в таблице разделов

cobold ★★★★★
()
Ответ на: комментарий от undef

Если ты копипастишь команды без понимания то тесты на виртуалке не помогут. Вполне одни и те же команды могут прокатить в одном случае и не прокатить в другом, и нуб даже не поймёт в чём разница.

firkax ★★★★★
()
Ответ на: комментарий от firkax

Если предположение о затертом fdisk’ом заголовке PV верно, то тест на виртуалке наглядно б продемонстрировал, что соглашаться не надо.

undef ★★★
()
Ответ на: комментарий от undef

действия в fdisk: d - n - 1 - p - t - 8e - w . Fdisk ничего лишнего не написал. После w «the partition table has been altered! calling ioctl … warning:… error 16: device busy… kernel uses old table..» далее ребут, фс не примонтировалась. ну и всё, больше пока ничего не делал. запускал команду vgcfgrestore и pvcreate с ключом –test.
fdisk -l у диска показывает стартовый сектор 1 до и после увеличения размера.

flint1
() автор топика
Ответ на: комментарий от firkax

pvs, vgs, lvs интересующий volume не показывают.

flint1
() автор топика
Ответ на: комментарий от firkax

Мне – нет, я такое уже делал, и знаю, как правильно. Но ТС явно впервые, причем не на уровне LVM накосячил, а как раз ранее, с классической разметкой — до LVM он не добрался, когда уже все сломал.

Собственно, вся проблема из-за того началась, что вместо диска целиком в LVM, как обычно делают, зачем-то сверху ещё и MBR с одним разделом сделали. И именно его ресайз был неправильным.

Vsevolod-linuxoid ★★★★★
()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 1)
Ответ на: комментарий от flint1

У тебя же в цилиндрах координаты начала раздела, а не в секторах.
Никогда так не делай.
С какого сектора начинается раздел, по-прежнему непонятно.

bigbit ★★★★★
()
Ответ на: комментарий от flint1

У меня вопрос — у тебя хотя бы бекап или снимок диска сейчас этого есть? Чтобы не сломать всё совсем.

Если есть до измений, то просто откатись и всё.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от bigbit

Всё нормально у него с этим, при увеличении увеличивается общее количество цилиндров, а сами цилиндры одинаковые. Неудобно конечно что единицы измерения странные, но ломаться там нечему. Проблема скорее всего именно в том что fdisk затёр какие-то метаданные lvm при создании нового раздела.

firkax ★★★★★
()
Ответ на: комментарий от Vsevolod-linuxoid

Если хочешь ему помочь - создай в виртуалке диск с его старой геометрией (он её тут приводил), сделай на ней такой же раздел и lvm на нём, и потом сравнивай hexdump-ы метаданных правильных и тех что у него сейчас там (скорее всего у него там занулённый первый сектор). Вполне возможно что можно просто скопировать правильный сектор на место удалённого. Проверив, разумеется, что где-то ещё метаданные не затёрлись.

firkax ★★★★★
()
Ответ на: комментарий от flint1

Попробуй пересоздать раздел, указав 2048 сектор (не цилиндр!) в качестве начала. Это типичное смещение начала раздела. Хуже ты этим не сделаешь, зато есть хороший шанс угадать.

Если при записи раздела fdisk тебе скажет «/dev/sdb: device contains a valid LVM signature», это значит, что ты угадал. Главное - не отвечай «y» на его предложение затереть эту сигнатуру.

Если не хочешь угадывать, то сдампь первые 10Mb /dev/sdb и выложи куда-нибудь.

bigbit ★★★★★
()
Ответ на: комментарий от firkax

Было:

[root@bi11-db ~]# fdisk -l Disk /dev/sda: 53.7 GB, 53687091200 bytes 255 heads, 63 sectors/track, 6527 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x000e7761

Device Boot Start End Blocks Id System

/dev/sda1 * 1 64 512000 83 Linux

Partition 1 does not end on cylinder boundary.

/dev/sda2 64 6528 51915776 8e Linux LVM

Disk /dev/sdb: 536.9 GB, 536870912000 bytes 255 heads, 63 sectors/track, 65270 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x0001735e

Device Boot Start End Blocks Id System

/dev/sdb1 1 65271 524287999+ 8e Linux LVM

Стало:

[root@bi11-db ~]# fdisk -l

Disk /dev/sda: 53.7 GB, 53687091200 bytes 255 heads, 63 sectors/track, 6527 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x000e7761

Device Boot Start End Blocks Id System

/dev/sda1 * 1 64 512000 83 Linux

Partition 1 does not end on cylinder boundary.

/dev/sda2 64 6528 51915776 8e Linux LVM

Disk /dev/sdb: 859.0 GB, 858993459200 bytes 255 heads, 63 sectors/track, 104433 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x0001735e

Device Boot Start End Blocks Id System

/dev/sdb1 1 65271 524287999+ 8e Linux LVM

flint1
() автор топика
Ответ на: комментарий от Vsevolod-linuxoid

Да, ребят. Сейчас эти потуги не должны быть напрасными.

перед всеми работами я сделал оракловый полный бэкап БД би. но весь раздел долго восстанавливать.. софт оракловый с нуля ставить и далее рестор рманом. Сделать снапшот или копии виртуалки не было возможности, прав нет, админ не был доступен, а я торопился/меня торопили.

сейчас я сделал снапшот, и копирую полностью виртуалку перед тем как что-то пытаться реанимировать …

flint1
() автор топика
Ответ на: комментарий от firkax

Не нормально. 63 сектор в качестве начала раздела - это вообще ужас. Все выравнивание идет нахрен.

Современные версии fdisk выравнивают начало на 2048 сектор. Это какой-то очень старый fdisk, раз он до сих пор цилиндрами оперирует. В таких древних версиях fdisk при создании раздела приходилось входить в expert mode, чтобы указывать смещение.

bigbit ★★★★★
()
Ответ на: комментарий от bigbit

Это всё отдельная тема. Речь о том, что ломаться в плане битья разметки там нечему. У него и старая разметка - раздел с первого цилиндра.

firkax ★★★★★
()
Ответ на: комментарий от firkax

Как раз есть чему ломаться, если существующий раздел был создан с указанием смещения в экспертном режиме. Обычный режим этого не покажет.

bigbit ★★★★★
()
Ответ на: комментарий от Vsevolod-linuxoid

прошу прощения, буфер обмена не работает через мой путь к рабочей консоле. тут интернет, а рабочая машина через wireguard-rdp-rdp.
поэтому пытался хоть как-то текст заредактировать …. через текст из письма три апострофа сначали и с конца как-то не сработали.

flint1
() автор топика
Ответ на: комментарий от bigbit

А, не знал. Ну 2048 мимо т.к. 63*255 = 16065. Осталось проверить вдруг где-то среди секторов цилиндра 1 есть начало.

firkax ★★★★★
()
Ответ на: комментарий от flint1

Значит или RHEL 6.8, или OEL, можешь

uname -a
cat /etc/oracle-release

глянуть… но это не так важно… просто это ответ на вопрос о том, откуда такой древний fdisk.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от bigbit

У него OEL 6, там старое все… вопрос где начался раздел ранее сложен…

Vsevolod-linuxoid ★★★★★
()

Cдампь первые 10Mb /dev/sdb и выложи на какой-нибудь файлообменник. Найдем начало раздела.

bigbit ★★★★★
()
Ответ на: комментарий от bigbit

Желательно 16065*1024 сдампить (цилиндры 0 и 1)

firkax ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.