如何自动挂载假突袭?

dje*_*kyb 10 raid dmraid

硬件

  • 华硕 K8N4-E 豪华版主板
  • Sil 3114 假突袭,机上
  • 2 希捷 250 GB 高清,托管我的 /home
  • 在 /home 的单独硬盘上备份

到目前为止我所拥有的

我已经使用 Sil 3114 固件进行了突袭。我正在使用 raid 级别 1。我有一个 bash 脚本,我在收到提示后立即以 root 身份运行:

dmraid -ay
mount /dev/mapper/sil*1 /home
Run Code Online (Sandbox Code Playgroud)

问题

我必须以 root 身份登录并在每次启动时使用那个愚蠢的 bash 脚本。Ubuntu 不会自动理解突袭卷。我没有放入 raid 卷,fstab因为它在启动时不存在。如何在启动时自动挂载我的 fakeraid 中的 /home?

Dim*_*ima 6

以下是设置 fakeraid 并自动安装相关分区所需的步骤:

  1. 安装 dmraid 包:

    sudo apt-get install dmraid
    
    Run Code Online (Sandbox Code Playgroud)
  2. 重新启动(这是因为 dmraid 将自身添加到 initramfs)

  3. 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
    
    Run Code Online (Sandbox Code Playgroud)

    以上,*Dima是fakeraid设备,同时*Dima1是分区。如果你没有 *N,你需要创建一个分区表,创建一个分区,用文件系统格式化并重新启动。

  4. 在 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" 
    
    Run Code Online (Sandbox Code Playgroud)

    看到想要的是 UUID="92edd1fd-94c5-4617-b829-fa4a8378b7ae"

  5. 因此,/etc/fstab条目将是:

    UUID="92edd1fd-94c5-4617-b829-fa4a8378b7ae" /srv/dima ext4 defaults 0 0
    
    Run Code Online (Sandbox Code Playgroud)

  • 您将我的问题编辑成完全不同的内容,并提供了看起来正确的答案。然而,对我的问题来说至关重要的是,在启动时,*设备在“dmraid -ay”之后才存在*。我强烈认为您的编辑应该被撤消,然后成为一个全新的问题,这是一个很好的答案。 (2认同)

dje*_*kyb 3

我相信 @ppetraki 关于这是 ubuntu 版本中的错误的说法是正确的。一个好的解决方法是:

  1. dmraid -ay编写一个在系统启动时运行的新贵服务。
  2. 在 fstab 中,通过 UUID 挂载设备