我正在尝试设置一个Ubuntu具有以下磁盘的服务器:
/dev/sda
是一个 2TB 的磁盘,将承载大部分操作系统。它目前的分区如下:
/dev/sda1
:EFI Boot 分区(488.3GB),挂载为/boot/efi
/dev/sda2
:LVM 分区,添加到mymachine_vg
LVM 卷组。
卷组mymachine_vg
仅包含一个分区(/dev/sda2
),具有两个逻辑卷:
mymachine_swap
:一个122.1GB的交换分区(/dev/dm-0
)。mymachine_root
:一个 1.4TB BTRFS 分区(/dev/dm-1
),挂载为/
。
我还有两个 8TB 硬盘,/dev/sdb
我/dev/sdc
想在北卡罗莱纳州root
。我按如下方式格式化这些驱动器(除非另有说明,否则列出的所有命令均以运行方式列出):
mkfs.btrfs -m raid1 -d raid1 /dev/sdb /dev/sdc
我已经安装了一个底座Ubuntu系统,并且/dev/sda
当前只挂载了磁盘的分区等。
如果我运行btrfs filesystem show
,我会得到以下输出:
$ btrfs filesystem show
Label: none uuid: 357d0492-9802-48f4-9656-4011c32d9e62
Total devices 1 FS bytes used 1.80GiB
devid 1 size 1.22TiB used 4.04GiB path /dev/dm-1
Label: none uuid: 0ed53e28-cdee-40e3-9316-69446f34e6af
Total devices 2 FS bytes used 640.00KiB
devid 1 size 7.28TiB used 2.03GiB path /dev/sdb
devid 2 size 7.28TiB used 2.01GiB path /dev/sdc
Btrfs v3.12
理想情况下,我会喜欢要实现的是使用 RAID1 阵列来存储/opt
&/srv
目录;大概是作为 BTRFS子卷. 所有其他目录都属于根逻辑卷/dev/dm-1
设备。
这可能吗?如果可以,我需要做什么北卡罗莱纳州配置、子卷、设备添加等?
看来我只能在已安装设备的子目录中创建子卷。我也不确定将 RAID1 阵列添加到/dev/dm-1
设备会有什么后果。
感谢您提供的任何帮助。如果您需要更多信息,请直接询问!
(作为进一步的背景介绍,我正在替换32 位 Ubuntu 14.03无法升级到较新版本的服务器Ubuntu版本,因为一些软件需要 64 位操作。此系统必须首先设置为64 位 Ubuntu 14.03服务器,以便我可以从旧服务器传输数据,然后执行必要的升级。因此,我只能使用Ubuntu 14.03版本btrfs-tools
。我借此机会切换到北卡罗莱纳州作为实验性的补充。)
答案1
好的,我想我已经明白了,尽管有点冗长......
如果有人可以简化以下内容,请告诉我!
root
除非另有说明,所有命令均以 形式输入。
首先,需要挂载 RAID1 卷。
笔记:安装此卷时,可以指定属于阵列的任一磁盘。也就是说,最好使用阵列的 UUID /etc/fstab
(为简单起见,我们在此使用设备)。
# mkdir /mnt/raid1
# mount -t btrfs /dev/sdb /mnt/raid1
接下来,我们需要为稍后要指定的目录和挂载点创建子卷,在本例中为/opt
和/srv
:
# btrfs subvolume create /mnt/raid1/opt
# btrfs subvolume create /mnt/raid1/srv
# btrfs subvolume list /mnt/raid1 -a -p
ID 258 gen 12 parent 5 top level 5 path opt
ID 259 gen 13 parent 5 top level 5 path srv
记下每个子卷的 ID 号,因为我们稍后会需要它们...
下一步是卸载 RAID1 阵列:
# umount /mnt/raid1
最后,需要编辑/etc/fstab
以挂载我们刚刚创建的子卷。(我们不需要挂载 RAID1 根子卷。)执行此操作时,使用 UUID 值(来自btrfs filesystem show
或blkid
,它们应该显示与 RAID1 阵列相同的值)和子卷 ID(来自上述btrfs subvolume list
命令):
# Original /etc/fstab contents, with the following appended:
# Mount opt subvolume of BTRFS RAID1 array as /opt
UUID=0ed53e28-cdee-40e3-9316-69446f34e6af /opt btrfs defaults,subvolid=258 0 2
# Mount srv subvolume of BTRFS RAID1 array as /srv
UUID=0ed53e28-cdee-40e3-9316-69446f34e6af /srv btrfs defaults,subvolid=259 0 2
请注意,两个挂载点都使用相同的 UUID(BTRFS 中 RAID1 阵列的 UUID),其中 subvolid 挂载选项标识正在挂载的子卷。
为了确保万无一失,请检查文件内容是否正常:
# mount -a
如果没有报告错误,那就很好。
我绝对不想做的一件事就是将 RAID1 阵列设备添加到根逻辑卷。哎呀!
我现在将其标记为已接受的答案,但如果您有更好的建议,我一定会考虑的!