硬件
- 华硕 K8N4-E 豪华主板
- Sil 3114 假袭击,船上
- 2 Seagate 250 GB 硬盘,托管我的 /home
- 在 /home 的单独硬盘上进行备份
我目前拥有的
我使用 Sil 3114 固件创建了 raid。我使用的是 raid 级别 1。我有一个 bash 脚本,只要收到提示,我就会以 root 身份运行它:
dmraid -ay
mount /dev/mapper/sil*1 /home
问题
每次启动时我都必须以 root 身份登录并使用那个愚蠢的 bash 脚本。Ubuntu 不会自动理解 raid 卷。我没有放入 raid 卷,fstab
因为它在启动时不存在。如何让 fakeraid 中的 /home 在启动时自动挂载?
答案1
以下是设置 fakeraid 和自动安装相关分区所需的步骤:
安装 dmraid 包:
sudo apt-get install dmraid
重新启动(这是因为 dmraid 将自身添加到 initramfs 中)
fakeraid 设备应该出现如下界面:
$ ls /dev/mapper/* brw-rw---- 1 root disk 252, 0 Dec 6 16:21 /dev/mapper/isw_dhdhchcbaf_Dima brw------- 1 root root 252, 1 Dec 6 16:21 /dev/mapper/isw_dhdhchcbaf_Dima1 crw------- 1 root root 10, 236 Dec 6 16:22 /dev/mapper/control
上面
*Dima
是 fakeraid 设备,而*Dima1
是分区。如果您没有 *N,则需要创建分区表、创建分区、使用文件系统格式化 ot 并再次重启。在Ubuntu中,所有分区默认都是按UUID挂载的,我们来看一下UUID:
$ sudo blkid [sudo] password for xnox: /dev/sda: TYPE="isw_raid_member" /dev/sdb: TYPE="isw_raid_member" /dev/mapper/isw_dhdhchcbaf_Dima1: UUID="92edd1fd-94c5-4617-b829-fa4a8378b7ae" TYPE="ext4" /dev/sdc1: UUID="A904-D2E7" TYPE="vfat" /dev/sdc2: UUID="6669d411-80c3-41cc-a629-ad84e1ee6854" TYPE="ext4" /dev/sdc3: UUID="2bf263f1-753f-4b2e-92a6-b00381515e0c" TYPE="swap" /dev/sdd1: UUID="C499-1A68" TYPE="vfat"
看到通缉犯是
UUID="92edd1fd-94c5-4617-b829-fa4a8378b7ae"
因此
/etc/fstab
条目将是:UUID="92edd1fd-94c5-4617-b829-fa4a8378b7ae" /srv/dima ext4 defaults 0 0
答案2
这应该只是工作因为 dmraid 包会将钩子安装到 ramdisk 中以探测假 raid 设备。如果这不起作用,则说明您遇到了真正的错误。要恢复正常基线,请执行:
sudo -s
apt-get install --reinstall dmraid
update-initramfs -u -k all
reboot
如果该设备仍然没有出现在 /dev/mapper 中,请提交错误报告。
答案3
我相信 @ppetraki 的说法是正确的,这是 ubuntu 版本中的一个错误。一个好的解决方法是:
dmraid -ay
编写一个在系统启动时运行的 upstart 服务。- 在 fstab 中,通过 UUID 挂载设备
答案4
在 fstab 中尝试这个:
/dev/mapper/sil*1 /home reiserfs user,nosuid,exec,nodev 0 0
然后执行sudo mount -a
或重启