Bug 29471 - Плохо работает очистка дисков при установке
: Плохо работает очистка дисков при установке
Status: ASSIGNED
: Sisyphus
(All bugs in Sisyphus/alterator-vm)
: unstable
: all Linux
: P3 normal
Assigned To:
:
: http://www.altlinux.org/Installer/pro...
:
:
: 27685 30940
  Show dependency tree
 
Reported: 2013-10-14 12:26 by
Modified: 2016-12-11 19:58 (History)


Attachments
src/cleaner.sh (2.95 KB, text/plain)
2013-10-14 17:04, Michael Shigorin
no flags Details


Note

You need to log in before you can comment on or make changes to this bug.


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

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

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

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

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

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

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

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

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

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

Нашёл 2 hdd, вроде бы живые. Если завтра будет, с чем пробовать, попробую
успеть (планирую работы на вторую половину дня). Сам я образ быстро не соберу,
а времени на изучение механизма современного не осталось.
------- Comment #11 From 2013-10-25 19:12:26 -------
6c5526d29d436e049ae4d52293968a04 
http://ftp.linux.kiev.ua/pub/Linux/ALT/people/mike/iso/mkimage-profiles/tmp/regular-server-20131025-x86_64.iso
------- Comment #12 From 2013-10-25 20:30:52 -------
(In reply to comment #11)

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

gzip < /dev/sdX > /path/S2600GZ.gz
------- Comment #17 From 2014-02-05 00:02:40 -------
ping
------- Comment #18 From 2014-02-07 19:57:58 -------
(В ответ на комментарий №1)
> Помнится, в ApplianceWare имени SaM-Solutions был тщательно обученный скриптик
С тех пор mdadm научили --zero-superblock.
------- Comment #19 From 2014-09-19 02:00:16 -------
*** Bug 30332 has been marked as a duplicate of this bug. ***
------- Comment #20 From 2014-09-19 21:41:18 -------
В скрипте нужно добавить строку для очистки последних 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 From 2014-09-24 17:22:50 -------
Благодарю, осталось набраться решимости туда опять слазить. :)
------- Comment #22 From 2015-11-10 19:11:04 -------
Как подсказывает prividen@, полезно wipefs(8):
https://lists.altlinux.org/pipermail/community/2015-November/684790.html
------- Comment #23 From 2016-11-28 18:06:13 -------
(В ответ на комментарий №20)
> В скрипте нужно добавить строку для очистки последних 4-х секторов, вот патч:
Думаю, вместо dd проще и надёжней пользоваться готовым wipefs; как тут ещё
подсказывают: http://www.opennet.ru/openforum/vsluhforumID3/109727.html#496,
при полной очистке дисков может пригодиться mdadm --zero-superblock (хотя нужен
ли он после wipefs -a, надо смотреть).

Но всё это надо дёргать именно по той галке+подтверждению из alterator-vm.
------- Comment #24 From 2016-11-28 18:08:47 -------
И это блокер для дистрибутива Альт Сервер 8.1, как мне кажется:
> Потому как, если ранее устройства/разделы уже входили в массив и имели
> другую версию суперблока, то на финишной прямой мы имеем почти 100%
> вероятность получить "Невозможно выполнить скрипт" (вольный пересказ,
> дословно не помню уже). После этого резко вспоминаешь, что уже подрывался
> на такой мине три года назад, чистишь суперблоки, и снова запускаешь
> инсталлятор.
-- http://www.opennet.ru/openforum/vsluhforumID3/109727.html#496
------- Comment #25 From 2016-11-28 18:37:08 -------
Сейчас это 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 From 2016-11-28 23:40:53 -------
Похоже, дело в отсутствующей реализации 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 From 2016-12-11 19:58:06 -------
Сделал хотя бы страничку для возможности упоминания в примечаниях к выпуску.
До завтра мы это явно не починим...