Bug 29471

Summary: Плохо работает очистка дисков при установке
Product: Sisyphus Reporter: Sergey Y. Afonin <asy>
Component: alterator-vmAssignee: Олег Соловьев <mcpain>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P3 CC: aen, boyarsh, imz, mcpain, mike, sbolshakov, sem, stas.grumbler, zerg
Version: unstable   
Hardware: all   
OS: Linux   
URL: http://www.altlinux.org/Installer/problems/MD-RAID-cleanup
Bug Depends on:    
Bug Blocks: 27685, 30940    
Attachments:
Description Flags
src/cleaner.sh none

Description Sergey Y. Afonin 2013-10-14 12:26:07 MSK
Выбор пункта "очистить все диски перед применением профиля", на самом деле, не чистит всё. Некоторые хвосты, например, остатки старых RAID, остаются неудалёнными: Bug 29452
Comment 1 Michael Shigorin 2013-10-14 17:00:59 MSK
Помнится, в ApplianceWare имени SaM-Solutions был тщательно обученный скриптик, который добивал метаданные (но DDF тогда вроде не было).
Comment 2 Michael Shigorin 2013-10-14 17:04:01 MSK
Created attachment 5968 [details]
src/cleaner.sh

Вот, нашёлся src/cleaner.sh в rbi-0.3.3-aw23 (в спеке указана лицензия GNU GPL).
Comment 3 Sergey Y. Afonin 2013-10-14 17:06:50 MSK
Может делать dd if=/dev/zero ... ? И мегабайт по 10 в начало и в конец HDD... Должно быть не сильно долго и весьма универсально.
Comment 4 timonbl4@altlinux.org 2013-10-25 13:09:58 MSK
Пропатчил EVMS: теперь при создании раздела, затираются его первые и последние 4 мб данных

Просьба проверить на dos и gpt таблице. Если проблема решена и нет регрессий, отправлю пакет в сизиф

task #107100
Comment 5 Michael Shigorin 2013-10-25 13:29:06 MSK
Принято, спасибо, проверим.  Сергей, если вдруг есть возможность на той или аналогичной платформе провести аналогичный эксперимент (зарядить собраться зеркало или хотя бы degraded raid1, затем на те же диски встать инсталером) -- пожалуйста, подготовьте стенд, надеюсь к вечеру или завтра выкатить пробный образ.
Comment 6 Sergey Y. Afonin 2013-10-25 16:51:40 MSK
(In reply to comment #5)

> Сергей, если вдруг есть возможность на той или аналогичной платформе провести аналогичный эксперимент

Скорее всего, уже нет: мне его надо завтра в работу вводить, а 2 свободных SATA-диска могу не успеть найти сегодня. Но если найду вдруг, завтра время будет немного.
Comment 7 Sergey Y. Afonin 2013-10-25 16:53:49 MSK
(In reply to comment #4)

> Пропатчил EVMS: теперь при создании раздела, затираются его первые и последние
> 4 мб данных

Именно на разделе ? Боюсь, в моём случае присутствовала информация не в тех разделах, которые видел и создавал инсталлятор.
Comment 8 timonbl4@altlinux.org 2013-10-25 17:37:00 MSK
И да, лучше создать новый баг, с просьбой затирать старые данные на новом разделе (чтобы быть уверенным, что новый раздел "чист" и там нет остатков raid'а). А этот баг закрыть, ибо "очистить все диски перед применением профиля" обрабатывается правильно и тут нечего добавить
Comment 9 Sergey Y. Afonin 2013-10-25 17:43:42 MSK
(In reply to comment #8)

Как раз наоборот. Этот баг именно про то, что "хвосты" остаются после "очистить все диски перед применением профиля".
Comment 10 Sergey Y. Afonin 2013-10-25 18:42:22 MSK
(In reply to comment #5)

> Сергей, если вдруг есть возможность на той платформе

Нашёл 2 hdd, вроде бы живые. Если завтра будет, с чем пробовать, попробую успеть (планирую работы на вторую половину дня). Сам я образ быстро не соберу, а времени на изучение механизма современного не осталось.
Comment 12 Sergey Y. Afonin 2013-10-25 20:30:52 MSK
(In reply to comment #11)

Встало в том же месте с "destination filesystem remount error". Кстати, не по теме, но, видимо, где-то галочка стояла "форматировать с проверкой": минут 20 ждал, пока разделы приготовятся. HDD постараюсь сохранить в таком виде, сколько получится. Какое-то время можно будет пробовать на обычном компьютере.
Comment 13 Michael Shigorin 2013-10-25 22:48:50 MSK
О!  Прошу по возможности вытащить оттуда запрошенное в bug 29452, comment 14:
- `find /tmp /var/log -name '*.log'` из инсталятора (в т.ч. evms-engine.log)
- `mdadm --examine --scan --verbose` оттуда же
- содержимое /proc/mdstat оттуда же
Comment 14 Michael Shigorin 2013-11-05 11:22:57 MSK
Отчасти перекликается с bug #29554.
Comment 15 Sergey Y. Afonin 2013-11-08 14:58:54 MSK
HDD с остатками RAID, сделанного в BIOS S2600GZ, у меня всё ещё лежат, но поставить некуда пока, чтобы продолжить. Но как только, так сразу.
Comment 16 Michael Shigorin 2013-11-08 21:16:49 MSK
Постарайся сделать сжатые образы таких дисков, пожалуйста -- мне попросту не на чем проверить (если есть на чём, то пока об этом не подозреваю).

gzip < /dev/sdX > /path/S2600GZ.gz
Comment 17 AEN 2014-02-05 00:02:40 MSK
ping
Comment 18 Michael Shigorin 2014-02-07 19:57:58 MSK
(В ответ на комментарий №1)
> Помнится, в ApplianceWare имени SaM-Solutions был тщательно обученный скриптик
С тех пор mdadm научили --zero-superblock.
Comment 19 Michael Shigorin 2014-09-19 02:00:16 MSK
*** Bug 30332 has been marked as a duplicate of this bug. ***
Comment 20 Стас 2014-09-19 21:41:18 MSK
В скрипте нужно добавить строку для очистки последних 4-х секторов, вот патч:

--- cleaner.sh	2014-09-19 23:31:26.815501980 +0600
+++ cleaner.new	2014-09-19 23:37:10.499500740 +0600
@@ -97,6 +97,7 @@
 
 	echo -en "Cleaning up partition table on /dev/$DISK\t\t"
 	dd if=/dev/zero of=/dev/$DISK count=1 bs=1024 >/dev/null 2>&1 && echo "[ OK ]" || "[ FAILED ]"
+	dd if=/dev/zero of=/dev/$DISK count=4 bs=512 seek=$((`fdisk -l /dev/$DISK | sed -n '/^Disk/s/.*, \([1-9][0-9]*\) sector.*/\1/p'` - 4 ))
 done
 
 evms_activate >/dev/null 2>&1
Comment 21 Michael Shigorin 2014-09-24 17:22:50 MSK
Благодарю, осталось набраться решимости туда опять слазить. :)
Comment 22 Michael Shigorin 2015-11-10 19:11:04 MSK
Как подсказывает prividen@, полезно wipefs(8):
https://lists.altlinux.org/pipermail/community/2015-November/684790.html
Comment 23 Michael Shigorin 2016-11-28 18:06:13 MSK
(В ответ на комментарий №20)
> В скрипте нужно добавить строку для очистки последних 4-х секторов, вот патч:
Думаю, вместо dd проще и надёжней пользоваться готовым wipefs; как тут ещё подсказывают: http://www.opennet.ru/openforum/vsluhforumID3/109727.html#496, при полной очистке дисков может пригодиться mdadm --zero-superblock (хотя нужен ли он после wipefs -a, надо смотреть).

Но всё это надо дёргать именно по той галке+подтверждению из alterator-vm.
Comment 24 Michael Shigorin 2016-11-28 18:08:47 MSK
И это блокер для дистрибутива Альт Сервер 8.1, как мне кажется:
> Потому как, если ранее устройства/разделы уже входили в массив и имели
> другую версию суперблока, то на финишной прямой мы имеем почти 100%
> вероятность получить "Невозможно выполнить скрипт" (вольный пересказ,
> дословно не помню уже). После этого резко вспоминаешь, что уже подрывался
> на такой мине три года назад, чистишь суперблоки, и снова запускаешь
> инсталлятор.
-- http://www.opennet.ru/openforum/vsluhforumID3/109727.html#496
Comment 25 Michael Shigorin 2016-11-28 18:37:08 MSK
Сейчас это pr-clearall, работающая (сюрприз!) тоже через libevms в итоге:
http://git.altlinux.org/gears/a/alterator-vm.git?p=alterator-vm.git;a=blob;f=interfaces/guile/vm/profile.scm;h=3d0095c0bc64f8fcebbaf32f1c1df6e546d0c6dd;hb=HEAD#l88

Н-да, в этот стек поди пристройся с сопровождаемой вне EVMS зачисткой...
Comment 26 Michael Shigorin 2016-11-28 23:40:53 MSK
Похоже, дело в отсутствующей реализации CanUnassign/UnAssign в plugins/md/

Заглянул ещё в http://mirrors.vbi.vt.edu/linux/opensuse/discontinued/distribution/10.3/repo/src-oss/suse/src/evms-2.5.5-174.src.rpm на предмет древних патчей...
Comment 27 Michael Shigorin 2016-12-11 19:58:06 MSK
Сделал хотя бы страничку для возможности упоминания в примечаниях к выпуску.
До завтра мы это явно не починим...
Comment 28 Sergey Y. Afonin 2019-12-06 11:39:47 MSK
Я тут увидел вдруг у fdisk из util-linus 2.30.2 (p8) параметры -w и -W. В 2.22.1 (p7 такого ещё не было):

-w, --wipe [when]

Wipe filesystem, RAID and partition-table signatures from the device, in order to avoid possible collisions.

-W, --wipe-partition [when]

Wipe  filesystem,  RAID and partition-table signatures from a newly created partitions,
Comment 29 Олег Соловьев 2021-09-22 10:55:19 MSK
Очистка дисков сильно переработана, могло и починиться