現在の RAID 1 を RAID0+1 に変換しようとしていますが、ブートローダーのインストールで問題が発生しています。私が行っていることをご確認ください。
現在の構成は RAID1(2*10GB) です。
[root@localhost ~]# mdadm --detail /dev/md0
/dev/md0:
Version : 1.0
Creation Time : Thu May 8 20:13:26 2014
Raid Level : raid1
Array Size : 10279808 (9.80 GiB 10.53 GB)
Used Dev Size : 10279808 (9.80 GiB 10.53 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Intent Bitmap : Internal
Update Time : Wed May 14 21:49:34 2014
State : active
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Name : livecd.centos:0
UUID : 877ab4b2:7d4a61f7:a732e1c0:115c9ee5
Events : 72
Number Major Minor RaidDevice State
0 8 2 0 active sync /dev/sda2
1 8 18 1 active sync /dev/sdb2
次に、RAID1 を低下させた後、VM に 2 * 2GB ドライブを追加します。故障したドライブと新しいドライブを使用して、raid0 を作成しました。
[root@localhost ~]# mdadm /dev/md0 -f /dev/sdb2 -r /dev/sdb2
mdadm: set /dev/sdb2 faulty in /dev/md0
mdadm: hot removed /dev/sdb2 from /dev/md0
[root@localhost ~]# fdisk /dev/sdc
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (1-261, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-261, default 261):
Using default value 261
Command (m for help): t
Selected partition 2
Hex code (type L to list codes): fd
Changed system type of partition 2 to fd (Linux raid autodetect)
Command (m for help): wq
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[root@localhost ~]# mkfs.ext4 /dev/sdc2
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
131072 inodes, 524112 blocks
26205 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=536870912
16 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 38 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
[root@localhost ~]# mdadm --zero-superblock /dev/sdb2
RAID1に参加できるようにRAID0を構築する
[root@localhost ~]# mdadm --create /dev/md5 --name=5 --homehost=livecd.centos -l 0 -n 2 /dev/sdb2 /dev/sdc2
mdadm: /dev/sdb2 appears to contain an ext2fs file system
size=10279808K mtime=Wed May 14 21:28:53 2014
mdadm: /dev/sdc2 appears to contain an ext2fs file system
size=2096448K mtime=Thu Jan 1 04:00:00 1970
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md5 started.
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid0] [raid1]
md5 : active raid0 sdc2[1] sdb2[0]
12375552 blocks super 1.2 512k chunks
md0 : active raid1 sda2[0]
10279808 blocks super 1.0 [2/1] [U_]
bitmap: 1/1 pages [4KB], 65536KB chunk
md1 : active raid0 sdb1[1] sda1[0]
408576 blocks super 1.1 512k chunks
unused devices: <none>
劣化した RAID1 に RAID0 を追加する
[root@localhost ~]# mdadm --add /dev/md0 /dev/md5
mdadm: /dev/md5 を追加しました
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid0] [raid1]
md5 : active raid0 sdc2[1] sdb2[0]
12375552 blocks super 1.2 512k chunks
md0 : active raid1 md5[2] sda2[0]
10279808 blocks super 1.0 [2/2] [UU]
bitmap: 0/1 pages [0KB], 65536KB chunk
md1 : active raid0 sdb1[1] sda1[0]
408576 blocks super 1.1 512k chunks
unused devices: <none>
[root@localhost ~]# mdadm --detail /dev/md0
/dev/md0:
Version : 1.0
Creation Time : Thu May 8 20:13:26 2014
Raid Level : raid1
Array Size : 10279808 (9.80 GiB 10.53 GB)
Used Dev Size : 10279808 (9.80 GiB 10.53 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Intent Bitmap : Internal
Update Time : Wed May 14 22:13:20 2014
State : active
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Name : livecd.centos:0
UUID : 877ab4b2:7d4a61f7:a732e1c0:115c9ee5
Events : 191
Number Major Minor RaidDevice State
0 8 2 0 active sync /dev/sda2
2 9 5 1 active sync /dev/md5
次はブートローダーをインストールする時です。このステップで失敗してしまい、助けが必要です。
[root@localhost ~]# grub
Probing devices to guess BIOS drives. This may take a long time.
Unknown partition table signature
GNU GRUB version 0.97 (640K lower / 3072K upper memory)
[ Minimal BASH-like line editing is supported. For the first word, TAB
lists possible command completions. Anywhere else TAB lists the possible
completions of a device/filename.]
grub> find /boot/grub/grub.conf
find /boot/grub/grub.conf
(hd0,1)
grub> device (hd1) /dev/sdb
device (hd1) /dev/sdb
grub> root (hd1,1)
root (hd1,1)
Filesystem type is ext2fs, partition type 0xfd
grub> setup (hd1)
setup (hd1)
Checking if "/boot/grub/stage1" exists... no
Checking if "/grub/stage1" exists... no
Error 2t: Bad file or directory type
grub>
私の場合、ブートローダーはどこにインストールすればよいですか?
md5 には /dev/sdb2 と /dev/sdc2 がありますが、ブートローダはどこにインストールすればよいでしょうか?
これら /dev/sdb2 または /dev/sdc2 は grub では表示されません。
raid0 のブートローダーがインストールされたら、/dev/sda2 に対して同じ手順を繰り返します。