此配置由 mkconf 于 2018 年 3 月 30 日星期五 13:01:54 +0200 自动生成

此配置由 mkconf 于 2018 年 3 月 30 日星期五 13:01:54 +0200 自动生成

安装时:

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

由于我没有/dev/sda独立的,所以我在最后添加了 1。

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

我这样做对吗?这有什么用?

警告已经消失。

答案1

此警告很正常。请忽略它。

update-initramfs需要确定启动系统需要哪些内核模块。在这种情况下,它会检查是否需要 RAID 模块,方法是运行以mdadm检查根文件系统是否位于 RAID 阵列上。由于您根本没有任何 RAID 阵列,因此mdadm会打印警告 —— 但这是可以接受的,因为update-initramfs已经找到了它需要知道的信息。

答案2

关于您的更新,您应该使用/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 阵列可以分成单独的分区,因此它们在功能上被视为与物理设备相同。

答案3

如果您和我一样,会尝试保留无警告的日志。我会在任何脚本中添加以下内容,因为警告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命令。

如果 ASK_PASS 服务正在运行,则该sudo -A短语将以 root 身份自动运行,否则将暂停以等待用户输入。tee

命令tee -a附加将配置文本发送到文件末尾和控制台。

这些>/dev/null行吞噬了详细的输出。

答案4

我在 Debian 9 更新后遇到了这个错误

/etc/mdadm/mdadm.conf 没有定义数组。

首先我进行检查:update-initramfs -u

其次我在根 shell 中写入此内容 grep "ARRAY devices" /etc/mdadm/mdadm.conf >/dev/null || echo "ARRAY devices=/dev/sda" | sudo -A tee -a /etc/mdadm/mdadm.conf >/dev/null;

第三,我再次检查 update-initramfs -u

shell 中没有错误

然后我检查了 mdam.conf kate /etc/mdadm/mdadm.conf

解决方案

此配置由 mkconf 于 2018 年 3 月 30 日星期五 13:01:54 +0200 自动生成

阵列设备=/dev/sda

相关内容