From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <gladkov.alexey@gmail.com> X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on sa.local.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.1 Date: Thu, 18 Feb 2021 20:37:04 +0100 From: Alexey Gladkov <gladkov.alexey@gmail.com> To: make-initrd@lists.altlinux.org Message-ID: <20210218193704.zfa6fl4j75il7xw7@example.org> References: <20200508114012.jgbjpdksisxryfg4@comp-core-i7-2640m-0182e6> <20200521133617.aekvybv5mgpqkvmd@comp-core-i7-2640m-0182e6> <88e0982a-556a-55eb-7cf2-e4bfb5fea450@gmail.com> <20210218173722.dkyamp42c6gpdigk@example.org> <21e48a26-3031-1ffa-cf83-3c524c20cf52@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <21e48a26-3031-1ffa-cf83-3c524c20cf52@gmail.com> Subject: Re: [make-initrd] I: pipeline feature X-BeenThere: make-initrd@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: make-initrd@lists.altlinux.org List-Id: <make-initrd.lists.altlinux.org> List-Unsubscribe: <https://lists.altlinux.org/mailman/options/make-initrd>, <mailto:make-initrd-request@lists.altlinux.org?subject=unsubscribe> List-Archive: <http://lists.altlinux.org/pipermail/make-initrd> List-Post: <mailto:make-initrd@lists.altlinux.org> List-Help: <mailto:make-initrd-request@lists.altlinux.org?subject=help> List-Subscribe: <https://lists.altlinux.org/mailman/listinfo/make-initrd>, <mailto:make-initrd-request@lists.altlinux.org?subject=subscribe> X-List-Received-Date: Thu, 18 Feb 2021 19:37:16 -0000 Archived-At: <http://lore.altlinux.org/make-initrd/20210218193704.zfa6fl4j75il7xw7@example.org/> List-Archive: <http://lore.altlinux.org/make-initrd/> On Thu, Feb 18, 2021 at 09:18:46PM +0300, Leonid Krivoshein wrote: > > 18.02.2021 20:38, Alexey Gladkov пишет: > > On Thu, Feb 18, 2021 at 07:55:31PM +0300, Leonid Krivoshein wrote: > > > Привет! > > > > > > > > > [...] > > > ПолучитÑÑ Ð»Ð¸ иÑпользовать Ñту фичу, чтобы дождатьÑÑ Ñборки других рейдов, не > > > ÑвÑзанных Ñ ÐºÐ¾Ñ€Ð½ÐµÐ²Ñ‹Ð¼ разделом? Дело в том, что ÑÐµÐ¹Ñ‡Ð°Ñ make-initrd вÑеми > > > правдами может Ñобрать рейд, на котором еÑÑ‚ÑŒ корневой раздел, но еÑли на > > > внешней корзине много диÑков и там неÑколько более Ñложных рейдов, Ñ ÐºÐ¾Ñ€Ð½ÐµÐ¼ > > > не ÑвÑзанных, они ÑобратьÑÑ Ð½Ðµ уÑпевают до pivot_root, так что правила > > > systemd во второй Ñтадии загрузки их тоже не могут Ñобрать, так как там > > > Ñтоит защита от ÑоÑтоÑÐ½Ð¸Ñ "inactive". Грубо говорÑ, в проÑтом Ñлучае тут > > > хватило бы какой-то проÑтой задержки, иначе Ð½Ð°Ñ‡Ð°Ð»ÑŒÐ½Ð°Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ° ломает > > > ÑобираемоÑÑ‚ÑŒ больших рейдов Ñ Ð´Ð°Ð½Ð½Ñ‹Ð¼Ð¸. > > Ðта фича не про рейды ÑовÑем. > > ПонÑл. > > > > ПопроÑить make-initrd Ñмонитровать не только > > корнефой раздел можно другими методами. > > Отлично! Об Ñтом Ñмотри в Ñамом конце.. > > > > Я не очень понÑл опиÑанную проблему. > > https://bugzilla.altlinux.org/39695 > > > > "Ð’Ñеми правдами" Ñто вы имеете в виду Ñтандартные правила Ñборки рейда из > > Ñамого mdadm ? > > Имел ввиду, что в make-initrd еÑÑ‚ÑŒ "лекарÑтво" Ð´Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ Ñ read-only и > деградированных рейдов, Ñ‚.е. когда Ñ Ð½Ð¸Ð¼Ð¸ не вÑÑ‘ в порÑдке, но данные в > принципе доÑтупны. http://git.altlinux.org/gears/m/make-initrd.git?p=make-initrd.git;a=blob;f=features/mdadm/data/lib/uevent/handlers/md-raid-member/100-timeout;h=96e07da66ee6e7e0ecac6b34359e861a6c0d2d9b;hb=4731c727c756c15776a020780828fa5e33ddef7a > > То еÑÑ‚ÑŒ, рейд Ñ ÐºÐ¾Ñ€Ð½ÐµÐ¼ он Ñоберёт даже в довольно плохом Ñлучае. > > > > ЕÑли не хватает времени, то еÑÑ‚ÑŒ rootdelay=X, который можно выÑтавить хоть > > в Ñутки. Также еÑÑ‚ÑŒ параметр raid-member-delay=X через который можно > > отключить получение degraded raid. Правильное указание Ñтих параметров > > должно решать опиÑанную проблему. > > Ðе помогло (Ñм. в баге). Ðто не помогло так как initrd не ждал Ñти разделы [1] и как только корень был Ñмонтирован, то Ñразу же загрузка пошла дальше. Можно указать, чтобы монтировал вÑе указанные рейды, но тогда initrd их Ñмонтирует. Ðто конечно не то, что ожидаетÑÑ. Проблема в том, что mdadm.conf берётÑÑ Ð¸Ð· ÑиÑтемы и Ñодержит вÑе рейды. > Уже немного разобралÑÑ, почему так проиÑходит и > даже придумал временный объезд. Возможно, проÑтой ÑпоÑоб ПРÐВИЛЬÐО решить > проблему -- иметь два _Ð ÐЗÐЫХ_ /etc/mdadm.conf на такие Ñлучаи, когда рейды > иÑпользуютÑÑ Ð½Ðµ Ð´Ð»Ñ ÐºÐ¾Ñ€Ð½Ñ. Главное, чтобы Ñти рейды Ñ Ð´Ð°Ð½Ð½Ñ‹Ð¼Ð¸ не начинал > Ñобирать интеллект в initramfs (ограничить DEVICES=...), тогда в обычной > ÑиÑтеме правила udev Ñами его Ñоберут. Я тоже мыÑлю в Ñту Ñторону [2]. Я подумываю о том, как бы Ñгенерировать mdadm.conf только Ð´Ð»Ñ MOUNTPOINTS. К Ñожалению, Ñ Ð½Ðµ уверен, что Ñто можно хорошо Ñделать. Именно поÑтому Ñ Ð¸ не Ñделал Ñтого Ñразу Ð´Ð»Ñ Ñ„Ð¸Ñ‡Ð¸ mdadm. > Ð¡ÐµÐ¹Ñ‡Ð°Ñ Ð¿Ñ€Ð¾Ð±Ð»ÐµÐ¼Ð° в том, что процеÑÑ assembly запуÑкаетÑÑ, но уÑпевает > отрабатывать лишь Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñтого RAID1 Ñ ÐºÐ¾Ñ€Ð½ÐµÐ¼, а оÑтальные RAID6 Ñ ÐºÑƒÑ‡ÐµÐ¹ > диÑков проÑто не уÑпевают ÑобратьÑÑ Ð¸, как Ñ Ð¿Ð¾Ð»Ð°Ð³Ð°ÑŽ, ÑоÑтоÑние inactive во > второй Ñтадии мешает их Ñобрать штатным правилам udev. Грубо говорÑ, наличие > второго конфига типа /etc/mdadm-initrd.conf решило бы проблему -- еÑли такой > файл еÑÑ‚ÑŒ, Ñ‚Ñнут в initramfs его, еÑли нет, Ñ‚Ñнуть обычный конфиг. Я ÑоглаÑен. Ð’Ð¾Ð¿Ñ€Ð¾Ñ Ð² том, как получить конфиг Ð´Ð»Ñ mountpoints'а. > Однако, еÑÑ‚ÑŒ одно Ñомнение: make-initrd монтирует только корень или что-то > ещё из /etc/fstab? make-initrd генерирует Ñебе fstab Ñ Ñ‚ÐµÐ¼, что его попроÑили Ñмонтировать. СоответÑтвенно ждёт он вÑех из Ñвоего fstab (еÑли не Ñказали rootonly при загрузке). > ЕÑли он монтирует вÑÑ‘, то предложенный воркÑраунд не > поможет. Тогда хорошо бы Ñкармливать какими-нибудь параметрами, каких ещё > диÑков (Ñобытий) Ñледует дождатьÑÑ Ð´Ð¾ pivot_root... [1] https://github.com/osboot/make-initrd/blob/master/data/lib/initrd/boot/scripts/mountpoints [2] https://bugzilla.altlinux.org/show_bug.cgi?id=29831 [3] https://github.com/osboot/make-initrd/blob/master/features/rootfs/bin/create-fstab -- Rgrds, legion