作为测试,我想在 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,请使用以下步骤:
- 运行 Ubuntu Desktop 的 livecd
- 使用 gparted 在您想要在 btrfs RAID10 设置中使用的所有磁盘上创建 btrfs 分区,确保在磁盘开头为 GRUB 留出 1 MB 空间。(我在所有磁盘上都留出 1 MB,这样当我用新的/更大的磁盘替换磁盘时,我总能将 grub 移动到另一个磁盘。
- 保存新的分区表
- 关闭
- 启动 Ubuntu 服务器安装程序
- 在分区步骤中,退出安装程序并进入终端
在终端中输入以下命令为数据和元数据创建 btrfs RAID10(注意使用分区,而不是磁盘!):
mkfs.btrfs -m raid10 -d raid10 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1
重要:执行以下命令:
btrfs dev scan
- 返回安装程序的分区部分
- 选择任意一个磁盘并选择将其用作 btrfs 和挂载点根
- 正常进行安装
所以这工作得很好,但是,我后来发现这并没有达到我的预期。我有 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 的回答对我帮助很大,谢谢!然而,我最终使用了一种略有不同的方法,为了完整起见,我想在这里提一下:
准备磁盘分区。
您可以使用 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
启动默认的 Ubuntu 12.04 Server 安装,直到磁盘分区部分。暂时不要做任何选择。
按 CTRL-ALT-F2 进入控制台。发出以下命令,将在 /dev/sda1 和 /dev/sdb1 上创建 RAID-1 btrfs 文件系统,并将其标记为 RAID1:
make.btrfs -L RAID1 -m raid1 -d raid1 /dev/sda1 /dev/sdb1 && btrfs 设备扫描
按 CTRL-ALT-F1 返回安装程序并选择手动对磁盘进行分区。
您现在可以选择 /dev/sda1 并定义挂载点“/”。重要的:不要选择格式化文件系统,因为这会删除您之前创建的 RAID-1!(当然,您现在也可以选择使用之前定义的交换设备。)
继续正常安装。所有数据现在将安装在您的 RAID-1 btrfs 上!
不确定是否需要这样做,但有些人提到必须运行
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