Make-initrd development discussion
 help / color / mirror / Atom feed
From: Leonid Krivoshein <klark@basealt.ru>
To: "Michael Shigorin" <mike@altlinux.org>,
	"Alexey Shabalin" <shaba@basealt.ru>,
	"Андрей Черепанов" <cas@basealt.ru>,
	make-initrd@lists.altlinux.org
Subject: Re: [make-initrd] [degraded md-raid] make-initrd в p9 и в Сизифе
Date: Mon, 17 Feb 2020 18:59:59 +0300
Message-ID: <5d349ed6-df75-94af-524d-380ade8dba5c@basealt.ru> (raw)
In-Reply-To: <20200217152312.suvw3d3snuquenfz@comp-core-i7-2640m-0182e6>


17.02.2020 18:23, Alexey Gladkov пишет:
> On Mon, Feb 17, 2020 at 02:27:30PM +0300, Leonid Krivoshein wrote:
>> Привет, Алексей, ещё раз! :-)
>>
>>
>> 17.02.2020 13:42, Alexey Gladkov пишет:
>>> On Sun, Feb 16, 2020 at 08:31:37PM +0300, Leonid Krivoshein wrote:
>>>> Всем привет!
>>>>
>>>>
>>>> На p8 была попытка исправить проблему загрузки с деградированного массива:
>>>>
>>>> http://git.altlinux.org/gears/m/make-initrd.git?p=make-initrd.git;a=commitdiff;h=9f1bee4172c43ae7208855c6cb991e0e415d7f08
>>>>
>>>> В коде исправлялось сразу две проблемных ситуации (inactive и read-auto),
>>>> но, если не ошибаюсь, исправить удалось только одну из них, вторую надо было
>>>> лечить где-то в другом месте. Однако в новом коде такого файла (050-mdstart)
>>>> больше нет, есть только это:
>>>>
>>>> http://git.altlinux.org/gears/m/make-initrd.git?p=make-initrd.git;a=blob;f=features/mdadm/data/lib/uevent/extenders/100-mdstart;h=3df8f9ea40654d2eeb5551ad14f7358834c03396;hb=c52b3398d8547c8d00412c153c0679968af8a58a
>>>>
>>>> Две ситуации исправляются руками тривиально: в случае inactive одного из
>>>> дисков просто mdadn -IRs разово, в случае read-auto (что типично для корня
>>>> или свопа на рейде) -- перевести его обратно в режим чтения/записи командой
>>>> mdadm -w /dev/MDDEV. В старом коде make-initrd была задержка в 1/3 времени
>>>> таймаута, то есть, 1 минута, которая запускает этот траблешуттер, если
>>>> корень не обнаружился. В новом -- я вообще не понимаю, как должно работать,
>>>> но по факту никак не работает. Система не грузится даже с только что
>>>> созданного рейда, который не досинхронизирован до конца. Плюс к тому: shaba@
>>>> что-то говорил, что в новом LVM другой принцип обработки обнаруженных томов
>>>> (это уже про ситуацию, когда LVM поверх MD).
>>>>
>>>> Ещё такой момент: ситуацию хорошо бы исправлять для всех дисков на раннем
>>>> этапе, а не только если корень не нашёлся. Да и неправильно это ждать минуту
>>>> не пойми чего, когда диск который часть рейда или LVM нашёлся, о нём уже всё
>>>> известно. Есть какие-нибудь идеи, камрады?
>>> Вы много написали, но я явно не в контекте. Давайте по порядку.
>>>
>>> Есть features/mdadm/data/lib/uevent/extenders/100-mdstart.
>>>
>>> Он решает проблему и не решает какую проблему ?
>>> Какие ещё проблемы есть ?
>> Не решает ни одну из двух проблем:
> ok. Значит он перестал работать совсем.

Не уверен. У меня пока не получилось воспроизвести то, что получилось в 
пятницу. Сейчас шаг за шагом проверяю, тут ещё и в грабе обнаружилась 
коряква, просто немного отвлекли...


> Нужно будет написать тест про degraded raid. Я примерно понимаю как это
> должно выглядеть. А вот с read-auto сложнее. Что это ?

После установки машина не грузится, но можно загрузиться в ALT Rescue, 
да посмотреть, как это выглядит и починить:

[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md126 : active (auto-read-only) raid1 sdb3[1] sda3[0]
       2304755704 blocks super 1.0 [2/2] [UU]
           resync=PENDING

md127 : active (auto-read-only) raid1 sdb2[1] sda2[0]
       2097088 blocks [2/2] [UU]

unused devices: <none>
[root@localhost ~]# mdadm -w /dev/md127
[root@localhost ~]# mdadm -w /dev/md126
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md126 : active raid1 sdb3[1] sda3[0]
       2304755704 blocks super 1.0 [2/2] [UU]
       [>....................]  resync =  0.6% (15523904/2304755704) 
finish=340.8min speed=111936K/sec

md127 : active raid1 sdb2[1] sda2[0]
       2097088 blocks [2/2] [UU]

Вуаля. В данном примере обе проблемы на лицо.


> Можно тебя попросить написать тест (я готов ответить на любые вопросы про
> новые end-to-end тесты) ?

Вот тут я не очень понял, но как воспроизвести, и как починить, точно 
могу написать.


>> - не "чинит" MD-устройства в состоянии "read-auto", поэтому после перехода в
>> stage2 корень на RAID нельзя перемонтировать в режим чтения-записи.
>>
>> - по сравнению с make-initrd0.8.x, теперь вообще нельзя загрузиться с
>> MD-RAID, который в состоянии "degraded", хотя для больших дисков это норма
>> сразу после инсталляции -- они просто ещё не успели до-синхронизироваться. В
>> старой версии отрабатывал troubleshutter by mike@, который я перетянул из
>> p7/c7 в p8 и c8/c8.1. Во времена p7 ты утянул этот troubleshutter в
>> тогдашний Сизиф, но видимо теперь оно совсем нерабочее.
>>
>> В идеале решать обе проблемы в новом make-initrd2 для любых обнаруживаемых
>> блочных дисков, а не только для тех, на которых корень, аккуратно пытаться
>> исправить приведёнными командами. Очевидно, обработка должна находиться не
>> здесь, а где-то ещё.
>>
>> Сейчас я воспроизведу на виртуалке и отпишу более детально...
> Было бы здорово, если бы ты выложил это куда-нибудь, чтобы мне можно тоже
> было посмотреть.

Чтобы не успело просинхронизироваться, приходится делать большие 
виртуальные диски (>2Tb каждый), такое нет смысла тащить, а доступ к PVE 
снаружи у нас, к сожалению, прикрыли.


-- 
С уважением,
Леонид Кривошеин.



  parent reply	other threads:[~2020-02-17 15:59 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-17 11:27   ` Leonid Krivoshein
2020-02-17 15:23     ` Alexey Gladkov
2020-02-17 15:28       ` Michael Shigorin
2020-02-18  0:51         ` Leonid Krivoshein
2020-02-17 15:59       ` Leonid Krivoshein [this message]
2020-02-17 19:21       ` Leonid Krivoshein
2020-02-18 20:08           ` Michael Shigorin
2020-02-18 20:42             ` Leonid Krivoshein
2020-02-27 20:10       ` Alex Gladkov
2020-02-27 20:30         ` Michael A. Kangin
2020-02-27 21:35           ` Leonid Krivoshein
2020-02-27 22:05           ` Alexey Gladkov
2020-02-27 22:12             ` Michael A. Kangin
2020-02-27 23:34               ` Alexey Gladkov
2020-03-06 20:32           ` Michael Shigorin
2020-02-27 21:26         ` Leonid Krivoshein
2020-02-27 23:27           ` Alexey Gladkov
2020-02-28  0:17             ` Leonid Krivoshein
2020-02-28 13:33               ` Alexey Gladkov
2020-02-28 21:43                 ` Leonid Krivoshein
2020-02-28 23:39                   ` Alexey Gladkov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5d349ed6-df75-94af-524d-380ade8dba5c@basealt.ru \
    --to=klark@basealt.ru \
    --cc=cas@basealt.ru \
    --cc=make-initrd@lists.altlinux.org \
    --cc=mike@altlinux.org \
    --cc=shaba@basealt.ru \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Make-initrd development discussion

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/make-initrd/0 make-initrd/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 make-initrd make-initrd/ http://lore.altlinux.org/make-initrd \
		make-initrd@lists.altlinux.org make-initrd@lists.altlinux.ru make-initrd@lists.altlinux.com
	public-inbox-index make-initrd

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.make-initrd


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git