Summary: | Плохо работает очистка дисков при установке | ||||||
---|---|---|---|---|---|---|---|
Product: | Sisyphus | Reporter: | Sergey Y. Afonin <asy> | ||||
Component: | alterator-vm | Assignee: | Олег Соловьев <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
Sergey Y. Afonin
2013-10-14 12:26:07 MSK
Помнится, в ApplianceWare имени SaM-Solutions был тщательно обученный скриптик, который добивал метаданные (но DDF тогда вроде не было). Created attachment 5968 [details]
src/cleaner.sh
Вот, нашёлся src/cleaner.sh в rbi-0.3.3-aw23 (в спеке указана лицензия GNU GPL).
Может делать dd if=/dev/zero ... ? И мегабайт по 10 в начало и в конец HDD... Должно быть не сильно долго и весьма универсально. Пропатчил EVMS: теперь при создании раздела, затираются его первые и последние 4 мб данных Просьба проверить на dos и gpt таблице. Если проблема решена и нет регрессий, отправлю пакет в сизиф task #107100 Принято, спасибо, проверим. Сергей, если вдруг есть возможность на той или аналогичной платформе провести аналогичный эксперимент (зарядить собраться зеркало или хотя бы degraded raid1, затем на те же диски встать инсталером) -- пожалуйста, подготовьте стенд, надеюсь к вечеру или завтра выкатить пробный образ. (In reply to comment #5) > Сергей, если вдруг есть возможность на той или аналогичной платформе провести аналогичный эксперимент Скорее всего, уже нет: мне его надо завтра в работу вводить, а 2 свободных SATA-диска могу не успеть найти сегодня. Но если найду вдруг, завтра время будет немного. (In reply to comment #4) > Пропатчил EVMS: теперь при создании раздела, затираются его первые и последние > 4 мб данных Именно на разделе ? Боюсь, в моём случае присутствовала информация не в тех разделах, которые видел и создавал инсталлятор. И да, лучше создать новый баг, с просьбой затирать старые данные на новом разделе (чтобы быть уверенным, что новый раздел "чист" и там нет остатков raid'а). А этот баг закрыть, ибо "очистить все диски перед применением профиля" обрабатывается правильно и тут нечего добавить (In reply to comment #8) Как раз наоборот. Этот баг именно про то, что "хвосты" остаются после "очистить все диски перед применением профиля". (In reply to comment #5) > Сергей, если вдруг есть возможность на той платформе Нашёл 2 hdd, вроде бы живые. Если завтра будет, с чем пробовать, попробую успеть (планирую работы на вторую половину дня). Сам я образ быстро не соберу, а времени на изучение механизма современного не осталось. 6c5526d29d436e049ae4d52293968a04 http://ftp.linux.kiev.ua/pub/Linux/ALT/people/mike/iso/mkimage-profiles/tmp/regular-server-20131025-x86_64.iso (In reply to comment #11) Встало в том же месте с "destination filesystem remount error". Кстати, не по теме, но, видимо, где-то галочка стояла "форматировать с проверкой": минут 20 ждал, пока разделы приготовятся. HDD постараюсь сохранить в таком виде, сколько получится. Какое-то время можно будет пробовать на обычном компьютере. О! Прошу по возможности вытащить оттуда запрошенное в bug 29452, comment 14: - `find /tmp /var/log -name '*.log'` из инсталятора (в т.ч. evms-engine.log) - `mdadm --examine --scan --verbose` оттуда же - содержимое /proc/mdstat оттуда же Отчасти перекликается с bug #29554. HDD с остатками RAID, сделанного в BIOS S2600GZ, у меня всё ещё лежат, но поставить некуда пока, чтобы продолжить. Но как только, так сразу. Постарайся сделать сжатые образы таких дисков, пожалуйста -- мне попросту не на чем проверить (если есть на чём, то пока об этом не подозреваю). gzip < /dev/sdX > /path/S2600GZ.gz ping (В ответ на комментарий №1)
> Помнится, в ApplianceWare имени SaM-Solutions был тщательно обученный скриптик
С тех пор mdadm научили --zero-superblock.
*** Bug 30332 has been marked as a duplicate of this bug. *** В скрипте нужно добавить строку для очистки последних 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 Благодарю, осталось набраться решимости туда опять слазить. :) Как подсказывает prividen@, полезно wipefs(8): https://lists.altlinux.org/pipermail/community/2015-November/684790.html (В ответ на комментарий №20) > В скрипте нужно добавить строку для очистки последних 4-х секторов, вот патч: Думаю, вместо dd проще и надёжней пользоваться готовым wipefs; как тут ещё подсказывают: http://www.opennet.ru/openforum/vsluhforumID3/109727.html#496, при полной очистке дисков может пригодиться mdadm --zero-superblock (хотя нужен ли он после wipefs -a, надо смотреть). Но всё это надо дёргать именно по той галке+подтверждению из alterator-vm. И это блокер для дистрибутива Альт Сервер 8.1, как мне кажется: > Потому как, если ранее устройства/разделы уже входили в массив и имели > другую версию суперблока, то на финишной прямой мы имеем почти 100% > вероятность получить "Невозможно выполнить скрипт" (вольный пересказ, > дословно не помню уже). После этого резко вспоминаешь, что уже подрывался > на такой мине три года назад, чистишь суперблоки, и снова запускаешь > инсталлятор. -- http://www.opennet.ru/openforum/vsluhforumID3/109727.html#496 Сейчас это 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 зачисткой... Похоже, дело в отсутствующей реализации 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 на предмет древних патчей... Сделал хотя бы страничку для возможности упоминания в примечаниях к выпуску. До завтра мы это явно не починим... Я тут увидел вдруг у 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, Очистка дисков сильно переработана, могло и починиться |