From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on sa.int.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,SPF_HELO_PASS, SPF_PASS autolearn=ham version=3.2.5 Message-ID: <520CA24A.8040203@complife.ru> Date: Thu, 15 Aug 2013 13:41:30 +0400 From: "Michael A. Kangin" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130605 Thunderbird/17.0.6 MIME-Version: 1.0 To: ALT Linux sysadmins' discussion References: <52036BBD.8090603@elserv.msk.su> <520A3ADE.8080901@elserv.msk.su> In-Reply-To: <520A3ADE.8080901@elserv.msk.su> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: Re: [Sysadmins] =?utf-8?b?W9Cz0YDRj9C30L3Ri9C5INGF0LDQuiDQtNC70Y8g?= =?utf-8?b?0L7QsdGK0LXQt9C00LBdIFA3OiDQn9GA0L7QsdC70LXQvNCwINGBIHNvZnRS?= =?utf-8?b?QUlEINC/0YDQuCDRgdGC0LDRgNGC0LUg0YHQuNGB0YLQtdC80Ys=?= X-BeenThere: sysadmins@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux sysadmins' discussion List-Id: ALT Linux sysadmins' discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 15 Aug 2013 09:41:40 -0000 Archived-At: List-Archive: 13.08.2013 17:55, Alex Moskalenko пишет: > По результатам дискуссии поправил /etc/rc.d/scripts/raidstart следующим > образом: Да, у меня похожий хак вышел: if [ -x "$f" ]; then echo -n "(using mdadm) " for i in 1 2 3 4 5 6 7 8 9 10; do grep -q inactive /proc/mdstat || break echo wait arrays ready... sleep 1s done Тут ждём потому что иногда у меня очень долго стартует модуль для четырёх дисков из восьми всего (они на другом чипе) sleep 1s if grep -q inactive /proc/mdstat ; then problem_md=$(grep inactive /proc/mdstat |cut -f1 -d:) "$f" --stop /dev/$problem_md "$f" --assemble /dev/$problem_md fi return $? fi > --- raidstart.orig 2013-02-07 02:27:40.000000000 +0400 > +++ raidstart 2013-08-13 14:38:03.000000000 +0400 > @@ -32,11 +32,16 @@ > > start_raid_using_mdadm() > { > - local f > + local f arr > > f="$(absolute mdadm 2>/dev/null)" > if [ -x "$f" ]; then > echo -n "(using mdadm) " > +#fix bitmap on ro root fs > + for arr in $(awk '/^m.*: inactive/{print "/dev/"$1}' > /proc/mdstat); do > + "$f" --stop "$arr" > + done > +#end fix > "$f" --assemble --scan > return $? > fi > > То есть тупо останавливаются все найденные массивы в состоянии inactive, > после чего продолжается штатное исполнение - запускается mdadm > --assemble --scan. > > Мыслей о правильном решении проблемы так и не появилось... Думал о 2х > вариантах - 1) не собирать массивы udev'ом вообще или 2) запускать udev > после того, как / будет перемонтирован в rw. Оба варианта не нравятся. > > Еще вариант объезда - не использовать external bitmap. > > Прошу сообщество поделиться мыслями на этот счет. Возможно, есть смысл > завести багу на что-нибудь?... > -- wbr, Michael A. Kangin