我正在尝试在两个相同的 4TB 非启动驱动器上创建(两个)软件 RAID1 阵列。我遵循了几个论坛帖子中的建议,但总是遇到麻烦。以下是我到目前为止所做的:
对于每个全新的驱动器(/dev/sdb 和 /dev/sdc):
sudo fdisk <drive>
“o” 创建一个新的分区表(我认为这是必要的?)
“n” 创建新分区
“p”和“1”创建主分区#1
“2048”(默认)分区起始
“+3500M”分区在 3.5GB 处结束。
重复“p”、“2”、“+500M”以创建较小的 500MB 分区
这将创建 /dev/sdb1、/dev/sdb2、/dev/sdc1、/dev/sdc2
创建 RAID 阵列:
sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1
- 使用 /dev/md0、/dev/sdb2、/dev/sdc2 重复
创建文件系统:
sudo mkfs -t ext4 /dev/md0
创建文件系统不会产生任何错误,但如果我运行,sudo fdisk -l /dev/md0
我会得到:
Disk /dev/md0: 3667 MB, 3667853312 bytes
2 heads, 4 sectors/track, 895472 cylinders, total 7163776 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000
Disk /dev/md0 doesn't contain a valid partition table
我似乎无法修复“不包含有效分区表”的问题。这是个问题吗?还是本来就应该如此?
附加问题:假设我让这两个阵列工作,那么安装它们的“标准”位置是什么?根?
答案1
由于您没有创建分区表,而且只有一个分区,是的,应该是这样。
例子:
$ dd if=/dev/zero of=/tmp/file bs=4096 count=$((1024*1024 / 4096))
$ mkfs -t ext4 /tmp/file
mke2fs 1.42.9 (4-Feb-2014)
/tmp/file is not a block special device.
Proceed anyway? (y,n) y
$ fdisk -l !$
fdisk -l /tmp/file
Disk /tmp/file: 1 MB, 1048576 bytes
255 heads, 63 sectors/track, 0 cylinders, total 2048 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: 0x00000000
Disk /tmp/file doesn't contain a valid partition table
要创建分区表,您可以使用就像是:
parted /dev/md0 mklabel msdos
和fdisk
:
$ fdisk /tmp/file
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0xb1f4c1d2.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
You must set cylinders.
You can do this from the extra functions menu.
Command (m for help): w
只需用 打开它fdisk
即可创建分区表。使用w
保存它。您需要在其中创建一个新分区。
如果整个设备都进入一个分区,则可能不需要它。