如何在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

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

这会安装系统,但安装引导加载程序失败…

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

  1. 运行Ubuntu Desktop的livecd
  2. 使用gparted在要在btrfs RAID10设置中使用的所有磁盘上创建btrfs分区,确保在磁盘的开头留下1 MB用于GRUB。 (我在所有磁盘上留下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和mountpoint root
  11. 正常进行安装

所以这很好,但后来我发现这不符合我的预期。 我有16-G,500G和2x 750G硬盘。

我希望能够使用910G。 但是,在我得到320G的btrfs中raid有点不同。 我想要使​​用的是raid1 ,因为这将为每个数据块创建2个副本,即使你添加了4个磁盘(与普通的raid1不同)。 所以现在,在btrfs中使用raid1,我确实得到了910G。

我花了几个小时尝试在RAID-1 btrfs系统上安装Ubuntu 12.04 Beta 2 Server。 balchmar的答案对我帮助很大,谢谢! 但是,我最终使用了一种稍微不同的方法,并想在此提及它的完整性:

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

     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服务器安装,直到磁盘分区部分。 不要在那里做任何选择。

  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 device scan

  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