[devel] [SCM] packages/mdadm: tags/3.2.6-alt2

Alexey Shabalin a.shabalin на gmail.com
Пн Янв 21 18:09:07 MSK 2013


2013/1/18 Dmitry V. Levin :
> On Thu, Jan 17, 2013 at 09:27:00PM +0000, Alexey Shabalin wrote:
>> Update of /people/shaba/packages/mdadm.git
> [...]
>> commit 4916715824549203a6ca380ec79839a0acb7d6b1
>> Author: Alexey Shabalin <shaba на altlinux>
>> Date:   Fri Jan 18 01:21:30 2013 +0400
>>
>>     Ignore exit code.
>>     For system without raid disks.
>>
>> Full diff since `3.2.6-alt1' follows:
>> diff --git a/alt/mdadm-activation.service b/alt/mdadm-activation.service
>> index 77bd093..dc7a81a 100644
>> --- a/alt/mdadm-activation.service
>> +++ b/alt/mdadm-activation.service
>> @@ -12,7 +12,7 @@ ConditionKernelCommandLine=!noraidtab
>>
>>  [Service]
>>  Type=oneshot
>> -ExecStart=/sbin/mdadm --assemble --scan
>> +ExecStart=-/sbin/mdadm --assemble --scan
>>  RemainAfterExit=yes
>>
>>  [Install]
>
> 1. Я полагаю, что игнорирование всех ошибок - это неправильное изменение.
у systemd ограниченные возможности conditions,
и как использовать что-то подобное:
grep -qs '^ARRAY[[:space:]]' /etc/mdadm.conf || return 1
я придумать не могу.
По-этому запускаю /sbin/mdadm --assemble --scan в любом случае, есть
раид или нет.
Если не игнорировать код выхода, тогда будет ошибка при отсутствии
raid в системе.

> 2. Зачем вообще нужен mdadm-activation.service?  У нас штатный
> /lib/udev/rules.d/64-md-raid.rules, который предназначен для
> инкрементальной сборки массивов, не функционирует?
Специально проверил сейчас:
- установил виртуалку на простой(не-раид) диск
- добавил два диска к виртуалке
- на дисках создал партиции типа fd.
- сделал raid1 /dev/md0
- обновил /etc/mdadm.conf
- добавил монтирование в fstab

при наличии mdadm-activation.service - все нормально
Если его нет, загрузка обламывается и выпадает в emergency mode.
значит в /lib/udev/rules.d/64-md-raid.rules чего-то не хватает.

--
Alexey Shabalin


Подробная информация о списке рассылки Devel