安装时:
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
检查您的根文件系统是否在 RAID 阵列上来检查是否需要 RAID 模块。由于您根本没有任何 RAID 阵列,mdadm
因此会打印一个警告——但这没关系,因为update-initramfs
已经找到了它需要知道的内容。关于您的更新,您应该使用
/dev/sda
./dev/sda1
指磁盘分区,而/dev/sda
指物理磁盘本身。尝试运行该lsblk
工具并根据您发布的输出来判断df -h
,您应该得到以下内容:RAID 阵列可以分成单独的分区,因此它们在功能上与物理设备相同。
如果您像我一样,请尝试保留无警告日志。我将以下内容添加到该
mdadm.conf
警告可能导致其他人认为该脚本有问题的任何脚本中。它完成了您在“更新 1”中描述的操作,但是很容易设置它并忘记它。
第一个短语悄悄地检查
mdadm.conf
文件中是否有任何阵列设备。如果
||
没有定义数组设备,则导致执行下一个短语,如果已定义任何设备,则立即退出。中间的短语与设置文本相呼应。
通过
|
管道将设置文本传递给tee
命令。该
sudo -A
短语tee
以 root 身份运行,如果 ASK_PASS 服务正在运行,则自动运行,否则暂停以供用户输入。该
tee -a
命令将配置文本附加到文件末尾和控制台。这些
>/dev/null
行吞噬了详细的输出。我在 debian 9 之后更新了这个错误
/etc/mdadm/mdadm.conf 没有定义数组。
首先我进行检查:update-initramfs -u
其次,我在 root shell 中写这个 grep "ARRAY devices" /etc/mdadm/mdadm.conf >/dev/null || echo "阵列设备=/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