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: Fri, 28 Feb 2020 14:33:37 +0100 From: Alexey Gladkov <gladkov.alexey@gmail.com> To: make-initrd@lists.altlinux.org Message-ID: <20200228133337.tx6kxq2jdwcb2nxl@comp-core-i7-2640m-0182e6> References: <f25ac057-0b29-b2a4-9bff-bdb94c093f4e@basealt.ru> <20200217104230.m2t7xvp4pv2f2lyq@comp-core-i7-2640m-0182e6> <b616e663-a19c-2716-707b-277553376b86@basealt.ru> <20200217152312.suvw3d3snuquenfz@comp-core-i7-2640m-0182e6> <20200227201003.mjh46m7ibmk4vkpf@comp-core-i7-2640m-0182e6> <14676039-c12b-489f-2b8f-e9deaaeb5519@gmail.com> <20200227232737.wqerot2yslzd3egz@comp-core-i7-2640m-0182e6> <3e3e05f2-0a8b-7885-58e4-2571fad8aaae@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <3e3e05f2-0a8b-7885-58e4-2571fad8aaae@gmail.com> Subject: Re: [make-initrd] =?utf-8?q?=5Bdegraded_md-raid=5D_make-initrd_=D0=B2?= =?utf-8?b?IHA5INC4INCyINCh0LjQt9C40YTQtQ==?= 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: Fri, 28 Feb 2020 13:33:41 -0000 Archived-At: <http://lore.altlinux.org/make-initrd/20200228133337.tx6kxq2jdwcb2nxl@comp-core-i7-2640m-0182e6/> List-Archive: <http://lore.altlinux.org/make-initrd/> On Fri, Feb 28, 2020 at 03:17:12AM +0300, Leonid Krivoshein wrote: > > КажетÑÑ Ñ‚Ñ‹ не понÑл назначение $tsfile. Его Ñодержимое не важно, кроме > > того Ñ ÐµÐ³Ð¾ не перезапиÑываю. Важен его mtime, который менÑет touch. Ðтот > > touch не под проверкой на наличие PID-файла, потому что 100-timeout может > > выполнÑÑ‚ÑÑ ÐºÐ¾Ð½ÐºÑƒÑ€ÐµÐ½Ñ‚Ð½Ð¾ и каждый процеÑÑ Ð±ÑƒÐ´ÐµÑ‚ Ñдвигать таймаут > > отноÑительно $now. > > Видимо Ñ Ñтого не понÑл, да. Потому что вижу, что конкуренции нет: поÑле > проверки на ÑущеÑтвование PID-файла, Ñразу выход. Ðо до выхода он уÑпевает > дотронутÑÑ Ð´Ð¾ файла. Так что ли и задумывалоÑÑŒ? Да. Ð’ Ñтом меÑте и предуÑмотрена конкуренциÑ. ЕÑли Ñкрипт будет выполнен параллельно (одновременно), то они Ñделают touch now+delay на $tsfile Ñ‚.е. mtime Ñтого файла будет Ñдвинут примерно на одно значение. Блокировки на изменение mtime будет делать Ñдро. > > Да, mdadm нужно выполнÑть только еÑли что-то из /sys/block/md* изменилоÑÑŒ. > > Ðтот патч решал проблему таймаута. Ðтот код мигрировал из > > /lib/uevent/extenders/100-mdstart. > > > > ПонÑтно, но Ñ Ð¸Ð¼ÐµÐ» ввиду Ñто: > > http://git.altlinux.org/gears/m/make-initrd.git?p=make-initrd.git;a=blob;f=features/mdadm/data/lib/initrd/trouble/050-mdstart;h=e594a0663695ac71c19a042c468d3f4339e2aaeb;hb=9f1bee4172c43ae7208855c6cb991e0e415d7f08 > > (Ñтроки #4-13) Ðтот код не предлагалÑÑ Ð´Ð»Ñ master. ПоÑтому Ñ ÐµÐ³Ð¾ не иÑпользовал. Да, нужно Ñделать так или даже ещё хитрее. > > > Виталий там напиÑал, почему Ð¸Ð´ÐµÑ Ð½Ðµ очень: дейÑтвительно имена md будут > > > другими. > > Я не понÑл Ñтого аргумента в тогда, так не пониманию ÑÐµÐ¹Ñ‡Ð°Ñ (может ты > > объÑÑнишь). Зачем вам Ñтабильные имена Ñтих девайÑов ? > > Ðекоторые пропиÑывают ноды девайÑов в /etc/fstab. Ðу Ñто ÑовÑем не аргумент. Ðти некоторые должны понимать, что имена могут менÑтьÑÑ. Ð”Ð»Ñ Ñтого уже давно еÑть UUID= и LABEL= Ð´Ð»Ñ Ð¾Ñ‚Ð²Ñзки от имён девайÑов. ЕÑли еÑть вероÑтноÑть, что Ð¸Ð¼Ñ Ð¼Ð¾Ð¶ÐµÑ‚ изменитьÑÑ (например как в Ñтом Ñлучае), то нужно иÑпользовать UUID. Ð’Ñпомни про иÑторию Ñ Ð¸Ð¼ÐµÐ½Ð°Ð¼Ð¸ Ñетевых интерфейÑов. > Потом не забывай, что Ñто только у Ñ‚ÐµÐ±Ñ systemd нет, у большинÑтва > пользователей альта он работает и динамичеÑки Ñоздаёт девайÑ-таргеты. Я творение моих коллег даже обÑуждать не хочу. ЕÑли в systemd проблемы, то и решатьÑÑ Ð¾Ð½Ð¸ должны там. > Ðу и, может, где ещё ÑÑылки на /dev/mdX еÑть, не знаю. Многие > предпочитают /dev/md0 вмеÑто /dev/md127. Так и делаетÑÑ. ПоÑмотри в /dev/disk/*. Вот их и нужно иÑпользовать. > Ðо главный аргумент в другом: желательно Ñобрать рейды до перехода в > корень и Ñразу починить Ñитуацию Ñ read-auto. ЕÑли Ñтого не Ñделать, вÑÑ‘ > равно нормально ÑиÑтема не загрузитÑÑ. ЕÑли корень Ñобран, то загрузитÑÑ. ЕÑли в корне лежит не вÑÑ‘, что нужно Ð´Ð»Ñ Ð·Ð°ÐºÑ€ÑƒÐ·ÐºÐ¸, то Ñто Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ. КÑтати, make-initrd умеет ждать не только рут, но и другие точки монтированиÑ. Ð”Ð»Ñ Ñтого можно либо добавить точку Ð¼Ð¾Ð½Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² MOUNTPOINTS, либо добавить x-initrd-mount в опции точки Ð¼Ð¾Ð½Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² fstab. > Даже еÑли загрузитÑÑ, как показали мои предыдущие > ÑкÑперименты, уже не нормально, что SWAP в ÑоÑтоÑнии read-only и по Ñути > отключен. Ðто значит, что неÑÐ¼Ð¾Ñ‚Ñ€Ñ Ð½Ð° удачную загрузку, в каких-то > конфигурациÑÑ… прилетит нежданчиик ООМ. Зачем swap на рейд ?! Ðе делай так. > > ÐœÐµÐ½Ñ Ð±ÐµÑпокоит, что в Ñтом Ñлучае Ð»ÑŽÐ±Ð°Ñ Ð¿Ñ€Ð¾Ð±Ð»ÐµÐ¼Ð° Ñ Ð»ÑŽÐ±Ñ‹Ð¼ рейдом в ÑиÑтеме > > может привезти к невозможноÑти загрузки. > > ЕÑли Ñтавить целью перейти как можно быÑтрее в корень, как только Ð´Ð»Ñ Ñтого > образуетÑÑ Ð»ÑŽÐ±Ð°Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñть, то да. Ðо, мне кажетÑÑ, Ñто Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ Ñ†ÐµÐ»ÑŒ, и > не надо беÑпокоитьÑÑ Ð¾ невозможноÑти загрузки рейдов на Ñтой Ñтадии. Как раз > наоборот. Либо вÑÑ‘ починили и грузимÑÑ, либо беÑтолку грузитьÑÑ, поÑкольку > ещё неизвеÑтно, что там поломано и как оно ÑÐµÐ±Ñ Ð¿Ð¾Ð²ÐµÐ´Ñ‘Ñ‚. Рейд как раз и нужен Ð´Ð»Ñ Ñ‚Ð¾Ð³Ð¾ чтобы загрузитÑÑ ÐµÑли диÑк вылетел. Ты, видимо, никогда не чинил Ñервера удалённо через Ñуппорт ÑÐµÑ€Ð²Ð¸Ñ ... > Рабочий корень Ñто ещё не ÑредÑтво Ð´Ð»Ñ Ñ€ÐµÐ¼Ð¾Ð½Ñ‚Ð°. Ты ошибаешьÑÑ. Ð”Ð»Ñ Ñтого у Ð½Ð°Ñ ÐµÑть деление на /bin, /sbin и /usr . Только не нужно мне раÑÑказывать о моих коллегах, которые вÑÑ‘ перенеÑли в /usr. > Ðо еÑли уж так ÑовÑем боÑзно, можно > предуÑмотреть загрузочную опцию типа NO_REPAIR=1 и пиÑать о ней в конце при > невозможноÑти авто-ремонта. Вот подумай, как ты Ñможешь ввеÑти Ñтот параметр, еÑли ты _уже_ не Ñмог загрузитьÑÑ ? Поедешь не площадку к Ñерверу, чтобы Ñтот параметр ввеÑти ? -- Rgrds, legion