软件raid+单独分区?

软件raid+单独分区?

我使用两个 250GB 硬盘设置软件 RAID1 阵列。有两个数组 - 一个被命名md0为保存系统,另一个md1用作交换:

# cat /proc/mdstat 
md0 : active raid1 sda1[1] sdb1[0]
      239256512 blocks [2/2] [UU]

md1 : active raid1 sda2[1] sdb2[0]
      4940736 blocks [2/2] [UU]

为了让事情更有条理,我希望将来对/tmp/home/var、 & 等使用单独的分区。/opt我是否需要为每个分区创建单独的阵列,或者我可以以某种方式让我的当前分区md0包含所有这些分区,而无需创建十几个额外的阵列吗?

谢谢

答案1

马特已经说过了。我将为您提供一个软件 raid 和 LVM 标准布局的快速示例:

  • sd[ab]1: /boot, 256MB - 可以作为 Raid1 (md0) 运行,在两个分区上安装 grub
  • sd[ab]2: /, 3GB - 作为 Raid1 (md1) 运行
  • sd[ab]3: md2 - 用于 VG 系统:

创建 md2 后:

  1. pvcreate /dev/md2
  2. vgcreate system /dev/md2
  3. lvcreate -n vartmp -L 2G system
  4. mkfs -t ext3 -L vartemp /dev/system/vartemp
  5. mount /dev/system/vartemp /var/tmp

我希望这足以让我明白这个想法。您可以像使用分区一样使用 LV。如果 / 足够大,您可以先在那里安装所有内容,然后设置 LV,并在从救援 ISO/DVD/CD 启动后将内容移动到那里。

答案2

旧版本的 mdadm 实用程序和 Linux 内核 (2.4) 不支持软件 RAID 分区。这是在 2.6 内核中引入的,但所谓的“非分区”数组的分区直到 2.6.28 才引入。

来自 mdadm 手册页:

非分区数组(2.4 及更早版本中唯一可用的 md 数组类型)的标准名称采用以下形式

          /dev/mdNN

   where NN is a number.  The standard names for partitionable arrays
   (as available from 2.6 onwards) are of the form

          /dev/md_dNN

   Partition numbers should be indicated by added "pMM" to these,
   thus "/dev/md/d1p2".

   From kernel version, 2.6.28 the "non-partitioned array" can actually
   be partitioned.  So the "md_dNN" names are  no longer needed, and
   partitions such as "/dev/mdNNpXX" are possible.

如果您使用的 mdadm 版本早于 3.0,则 mdadm 负责创建所有设备节点(请参阅该--auto选项)。后续版本依赖udev。

相关内容