При установке:
sudo apt-get install \
linux-image-extra-$(uname -r) \
linux-image-extra-virtual
Я получаю:
W: mdadm: /etc/mdadm/mdadm.conf defines no arrays.
Я обнаружил, что у кого-то была похожая проблема: apt-get update mdadm страшные предупреждения
Итак, я выполнил инструкции:
/usr/share/mdadm/mkconf > /etc/mdadm/mdadm.conf
Затем:
update-initramfs -u
Но результат такой:
update-initramfs: Generating /boot/initrd.img-4.10.0-30-generic
W: mdadm: /etc/mdadm/mdadm.conf defines no arrays.
lsb_release -a
LSB Version: core-9.20160110ubuntu5-amd64:core-9.20160110ubuntu5-noarch:security-9.20160110ubuntu5-amd64:security-9.20160110ubuntu5-noarch
Distributor ID: Ubuntu
Description: Ubuntu 17.04
Release: 17.04
Codename: zesty
vim /etc/mdadm/mdadm.conf
# mdadm.conf
#
# Please refer to mdadm.conf(5) for information about this file.
#
# by default (built-in), scan all partitions (/proc/partitions) and all
# containers for MD superblocks. alternatively, specify devices to scan, using
# wildcards if desired.
#DEVICE partitions containers
# automatically tag new arrays as belonging to the local system
HOMEHOST <system>
# instruct the monitoring daemon where to send mail alerts
MAILADDR root
# definitions of existing MD arrays
# This configuration was auto-generated on Thu, 10 Aug 2017 15:23:15 +0000 by mkconf
/ etc / fstab
LABEL=cloudimg-rootfs / ext4 defaults 0 0
/var/swap.1 swap swap defaults 0 0
Думаю, это началось после того, как я добавил:
/var/swap.1 swap swap defaults 0 0
Что мне еще нужно сделать?
Я запускаю виртуальную машину с помощью Vagrant.
ОБНОВЛЕНИЕ 1
Я нашел еще один вопрос, похожий на свой ": https://askubuntu.com/questions/834903/i-dont-have-a-raid-but-get-the-warning-mdadm-conf-defines-no-arrays
Я добавил:
ARRAY <ignore> devices=/dev/sda1
Я добавил 1 в конце, потому что у меня нет /dev/sda
стоять в одиночестве.
Filesystem Size Used Avail Use% Mounted on
udev 473M 0 473M 0% /dev
tmpfs 97M 3.1M 94M 4% /run
/dev/sda1 19G 4.8G 15G 26% /
tmpfs 483M 0 483M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 483M 0 483M 0% /sys/fs/cgroup
vagrant_ 384G 48G 337G 13% /vagrant
vagrant_www_ 384G 48G 337G 13% /vagrant/www
tmpfs 97M 0 97M 0% /run/user/1000
Я правильно это делаю? Что это значит?
Предупреждения исчезли.
Это предупреждение нормально. Игнорируй это.
update-initramfs
необходимо выяснить, какие модули ядра потребуются для загрузки вашей системы. В этом случае он проверяет, понадобятся ли модули RAID, запустив mdadm
чтобы проверить, находится ли ваша корневая файловая система в массиве RAID. Поскольку у вас вообще нет RAID-массивов, mdadm
выводит предупреждение - но это нормально, потому что update-initramfs
нашел то, что ему нужно знать.
Что касается вашего обновления, вы должны использовать /dev/sda
. /dev/sda1
относится к разделу диска, а /dev/sda
относится к самому физическому диску. Попробуйте запустить lsblk
инструмент и судя по выводу, который вы опубликовали из df -h
, вы должны получить что-то вроде:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 19G 0 disk
└─sda1 8:1 0 19G 0 disk /
RAID-массивы можно разделить на отдельные разделы, чтобы они считались функционально идентичными физическим устройствам.
У меня после debian 9 была обновлена эта ошибка
/etc/mdadm/mdadm.conf не определяет массивов.
Сначала делаю Проверку: update-initramfs -u
Во-вторых, я пишу это в корневой оболочке grep «ARRAY devices» /etc/mdadm/mdadm.conf> / dev / null || echo "Устройства ARRAY = / dev / sda" | sudo -A tee -a /etc/mdadm/mdadm.conf> / dev / null;
В-третьих, снова делаю Проверку update-initramfs -u
И ошибки в оболочке не было
Затем я проверил mdam.conf kate /etc/mdadm/mdadm.conf
Решение
Устройства ARRAY = / dev / sda
Если вы похожи на меня, вы стараетесь вести журналы без предупреждений. Я добавляю следующее к любому скрипту, где это mdadm.conf
предупреждение может заставить кого-то другого подумать, что сценарий содержит ошибки.
grep "ARRAY devices" /etc/mdadm/mdadm.conf >/dev/null || echo "ARRAY devices=/dev/sda" | sudo -A tee -a /etc/mdadm/mdadm.conf >/dev/null;
Он делает то, что вы описали в своем «ОБНОВЛЕНИИ 1», но очень просто установите и забудьте об этом.
Первая фраза спокойно проверяет mdadm.conf
файл для любых устройств массива.
В ||
вызывает выполнение следующей фразы, если устройства массивов не определены, или немедленно завершает работу, если какие-либо были определены.
Средняя фраза перекликается с текстом настройки.
В |
передает текст настройки в tee
команда.
В sudo -A
фраза работает tee
как root, автоматически, если служба ASK_PASS запущена, или приостанавливает ввод данных пользователем в противном случае.
В tee -a
команда добавляет текст конфигурации в конец файла и на консоль.
В >/dev/null
строки проглатывают подробный вывод.