22 января 2013 г., 20:08 пользователь Dmitry V. Levin написал: > On Tue, Jan 22, 2013 at 08:03:13PM +0400, Alexey Shabalin wrote: >> 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 >> >> 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. Я полагаю, что игнорирование всех ошибок - это неправильное изменение. >> > 2. Зачем вообще нужен mdadm-activation.service? У нас штатный >> > /lib/udev/rules.d/64-md-raid.rules, который предназначен для >> > инкрементальной сборки массивов, не функционирует? >> >> отправил на сборку mdadm без mdadm-activation.service. >> В виртуалках virtio для raid использовать не рекомендуется, используйте scsi. > > Давайте сперва разберемся, почему с virtio не работает. Подозрений несколько: 1) в 60-persistent-storage.rules: # virtio-blk KERNEL=="vd*[!0-9]", ATTRS{serial}=="?*", ENV{ID_SERIAL}="$attr{serial}", SYMLINK+="disk/by-id/virtio-$env{ID_SERIAL}" KERNEL=="vd*[0-9]", ATTRS{serial}=="?*", ENV{ID_SERIAL}="$attr{serial}", SYMLINK+="disk/by-id/virtio-$env{ID_SERIAL}-part%n" # scsi devices KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", IMPORT{program}="scsi_id --export --whitelisted -d $devnode", ENV{ID_BUS}="scsi" KERNEL=="sd*|sr*|cciss*", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}" Возможно для virtio нужен аналог scsi_id. 2) в 60-persistent-storage.rules: # by-path (parent device path) ENV{DEVTYPE}=="disk", DEVPATH!="*/virtual/*", IMPORT{builtin}="path_id" ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="?*", SYMLINK+="disk/by-path/$env{ID_PATH}" ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="?*", SYMLINK+="disk/by-path/$env{ID_PATH}-part%n" Мне кажется это совсем не работает - у меня и на рабочей машине нет /dev/disk/by-path Прикладываю вывод udevadm info для дисков virtio(vdb) и scsi(sda) - может кто увидит, что не хватает для virtio? Для virtio надо обязательно назначать серийный номер, иначе "udevadm info" почти совсем пустой. -- Alexey Shabalin