apt-get install linux-image-extra得到“W:mdadm:/etc/mdadm/mdadm.conf定义没有数组。”

安装时:

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需要弄清楚启动你的系统需要哪些内核模块。 在这种情况下,通过运行mdadm来检查您的根文件系统是否在RAIDarrays上,以检查是否需要RAID模块。 由于您根本没有任何RAIDarrays,因此mdadm一条警告信息 – 但这没有问题,因为update-initramfs已经find了需要了解的信息。

如果你像我一样,你会尽量保持无警告的日志。 我将以下内容添加到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”中做了你所描述的事情,但是在一个简单的设置中却​​忘记了它的方式。

第一句静静地检查任何arrays设备的mdadm.conf文件。
|| 导致下一个短语被执行,如果没有定义数组设备,或者如果已经定义了立即退出。

中间的短语呼应设置文本。

| 将设置文本input到tee命令。

sudo -A短语以root身份运行,如果ASK_PASS服务正在运行,则会自动运行,否则会暂停用户input。

tee -a命令configuration文本追加到文件末尾和控制台。

>/dev/null行吞下详细的输出。

关于你的更新,你应该使用/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 / 

RAIDarrays可以拆分成不同的分区,因此它们在function上与物理设备相同。