如何在 RAID10 模式下使用 btrfs 安装?

如何在 RAID10 模式下使用 btrfs 安装?

作为测试,我想在 raid10 模式下将 Ubuntu 11.10 安装到 btrfs 文件系统上。但是,我不知道该怎么做。我尝试了安装程序,然后在终端中创建了 fs。但是,这没有奏效。当我返回图形界面时,我无法安装。因为它没有任何挂载点。那么,我该怎么做呢?

使用备用安装程序并进入 shell 后,我执行以下操作:mkfs.btrfs -m raid10 -d raid10 /dev/sda /dev/sdb /dev/sdc /dev/sdd 然后您还需要运行:btrfs dev scan

然后在选择要安装的分区时,选择上面的分区之一并将其挂载到 /。保持所有分区不变。

这样就可以安装系统,但是安装引导加载程序失败......

答案1

好的,我的问题部分是我想安装 Ubuntu Server。我终于成功了。要在 btrfs RAID10 上安装 Ubuntu Server,请使用以下步骤:

  1. 运行 Ubuntu Desktop 的 livecd
  2. 使用 gparted 在您想要在 btrfs RAID10 设置中使用的所有磁盘上创建 btrfs 分区,确保在磁盘开头为 GRUB 留出 1 MB 空间。(我在所有磁盘上都留出 1 MB,这样当我用新的/更大的磁盘替换磁盘时,我总能将 grub 移动到另一个磁盘。
  3. 保存新的分区表
  4. 关闭
  5. 启动 Ubuntu 服务器安装程序
  6. 在分区步骤中,退出安装程序并进入终端
  7. 在终端中输入以下命令为数据和元数据创建 btrfs RAID10(注意使用分区,而不是磁盘!):

    mkfs.btrfs -m raid10 -d raid10 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1
    
  8. 重要:执行以下命令:btrfs dev scan

  9. 返回安装程序的分区部分
  10. 选择任意一个磁盘并选择将其用作 btrfs 和挂载点根
  11. 正常进行安装

所以这工作得很好,但是,我后来发现这并没有达到我的预期。我有 16-G、500G 和 2x 750G 硬盘。

我预计可以使用 910G。但是,btrfs 中的 raid 有点不同,我得到了 320G。我想使用的是突袭1,因为这将创建每个数据块的 2 个副本,即使您添加 4 个磁盘(与普通 raid1 不同)。所以现在,在 btrfs 中使用 raid1 我确实得到了 910G。

答案2

我花了几个小时尝试在 RAID-1 btrfs 系统上安装 Ubuntu 12.04 Beta 2 Server。balchmar 的回答对我帮助很大,谢谢!然而,我最终使用了一种略有不同的方法,为了完整起见,我想在这里提一下:

  1. 准备磁盘分区。
    您可以使用 LiveCD 或(就我的情况而言)之前安装的 12.04 Ubuntu 服务器安装。重要提示:我必须了解到,与 btrfs wiki 中提到的相反,我必须使用分区而不是整个设备比如 /dev/sda,这样 grub 就可以通过 Ubuntu 安装程序安装到 MBR 中。所以,这是我使用的分区。请注意,我使用两个相同的 500GB 磁盘和两个分区,一个用于 btrfs,一个用于 swap:

    Disk /dev/sda: 500.1 GB, 500107862016 bytes
    255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
    
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x0004f49a
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sda1   *        2048   945508351   472753152   83  Linux
    /dev/sda2       945508352   976771071    15631360   82  Linux swap / Solaris
    
    Disk /dev/sdb: 500.1 GB, 500107862016 bytes
    255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x0002505f
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sdb1            2048   945508351   472753152   83  Linux
    /dev/sdb2       945508352   976771071    15631360   82  Linux swap / Solaris
    
  2. 启动默认的 Ubuntu 12.04 Server 安装,直到磁盘分区部分。暂时不要做任何选择。

  3. 按 CTRL-ALT-F2 进入控制台。发出以下命令,将在 /dev/sda1 和 /dev/sdb1 上创建 RAID-1 btrfs 文件系统,并将其标记为 RAID1:

    make.btrfs -L RAID1 -m raid1 -d raid1 /dev/sda1 /dev/sdb1 && btrfs 设备扫描

  4. 按 CTRL-ALT-F1 返回安装程序并选择手动对磁盘进行分区。

  5. 您现在可以选择 /dev/sda1 并定义挂载点“/”。重要的:不要选择格式化文件系统,因为这会删除您之前创建的 RAID-1!(当然,您现在也可以选择使用之前定义的交换设备。)

  6. 继续正常安装。所有数据现在将安装在您的 RAID-1 btrfs 上!

  7. 不确定是否需要这样做,但有些人提到必须运行

    btrfs 文件系统平衡

首次启动后。您可以通过发出以下命令来检查结果:

$ sudo btrfs 文件系统显示

Label: 'RAID1'  uuid: 49d2eaed-d598-462f-a768-e6e0d43dc7ce
       Total devices 2 FS bytes used 635.45MB
       devid    1 size 450.85GB used 1.26GB path /dev/sda1
       devid    2 size 450.85GB used 1.26GB path /dev/sdb1

Btrfs Btrfs v0.19

要查看 RAID-1 是否实际用于数据和元数据,请发出

$ sudo btrfs 文件系统 df /

Data, RAID1: total=1.00GB, used=568.07MB
System, RAID1: total=8.00MB, used=4.00KB
System: total=4.00MB, used=0.00
Metadata, RAID1: total=256.00MB, used=67.37MB

相关内容