原文作者:Martti Kuparinen <martti.kuparinen@iki.fi> 更新日期:2006-12-14
来源:http://users.piuha.net/martti/comp/ubuntu/raid.html
翻译:chinakr(http://www.edu-map.com/chinakr) 日期:2007-05-06
来源:http://blog.sina.com.cn/u/551c238e010009im
摘要
这篇文档描述了作者在自己的PC上安装配置Ubuntu 6.06.1 LTS的过程。这台PC有两块一样的SATA硬盘,并被配置为RAID-1,这样做是为了减小使用单块硬盘时磁盘失效的风险。虽然作者使用了RAID-1,但是他仍然坚持定期备份,因为众所周知不应该用RAID来代替一个良好的备份系统。
目录
1. 安装
2. 验证
3. 在磁盘失效后重建
安装
用Ubuntu Alternate安装CD启动,确信安装程序正确发现了两块硬盘(图1)。接下来删除之前Windows使用的所有分区。
http://users.piuha.net/martti/comp/ubuntu/ubuntu1.png
图1 安装程序正确识别出两块硬盘
分别在两块硬盘上创建3个分区:给/分配10GB,给swqp分配500MB,剩下的空间分配给/home。需要注意的是在这一步分区类型应该设置为“RAID物理卷(0xFD)”而不是“Ext3日志文件系统”(图2)。同时还需要注意,两块硬盘的第一个分区都必须标记为可引导(图3,B标志),否则你的系统就必须通过CD才能引导了。
http://users.piuha.net/martti/comp/ubuntu/ubuntu1a.png
图2 设置分区类型和可引导标志
http://users.piuha.net/martti/comp/ubuntu/ubuntu2.png
图3 创建好的分区,其中的B是可引导标志
下一步选择“配置软RAID”,然后保存设置。
我创建了3个MD(multidisk)设备,均配置为2块磁盘和0 hostspace的RAID-1(图4、图5)。
http://users.piuha.net/martti/comp/ubuntu/ubuntu3.png
图4 创建MD设备
http://users.piuha.net/martti/comp/ubuntu/ubuntu4.png
图5 创建RAID-1
这一步需要为RAID-1选择所包含的分区(图6),必须选择两个尺寸完全一致的分区,在这里是:md0=sda1+sdb1,md1=sda2+sdb2,md2=sda3+sdb3。
http://users.piuha.net/martti/comp/ubuntu/ubuntu5.png
图6 设置MD组件(选择分区)
最后为每个MD设备选择文件系统和挂载点。在这里是md0设置为ext3挂载于/,md1设置为swap,md2设置为ext3挂载于/home。从这一步开始,Ubuntu的安装就和普通的安装过程一样了。
http://users.piuha.net/martti/comp/ubuntu/ubuntu6.png
图7 文件系统和挂载点
验证
安装完成后需要验证一下所有东西是不是都真的放在RAID-1磁盘上了(root文件系统、swap和/home)。
martti@ubuntu:~$ grep /dev/md /etc/fstab
/dev/md0 / ext3 defaults,errors=remount-ro 0 1
/dev/md2 /home ext3 defaults 0 2
/dev/md1 none swap sw 0 0
martti@ubuntu:~$ df -h / /home
Filesystem Size Used Avail Use% Mounted on
/dev/md0 9.2G 2.1G 6.7G 24% /
/dev/md2 11G 129M 9.5G 2% /home
下面检查每个RAID磁盘的当前状态。需要注意的是每个mdN包含了哪两个sdXN磁盘,以及每个mdN是怎么显示它的两个磁盘组建的并且是标记为U。更多的细节可以在mdadm工具中找到。
martti@ubuntu:~$ cat /proc/mdstat
Personalities : [raid1]
md2 : active raid1 sda3[0] sdb3[1]
10707200 blocks [2/1] [UU]
md1 : active raid1 sda2[0] sdb2[1]
489856 blocks [2/2] [UU]
md0 : active raid1 sda1[0] sdb1[1]
9767424 blocks [2/2] [UU]
martti@ubuntu:~$ sudo mdadm –query –detail /dev/md0
/dev/md0:
Version : 00.90.03
Creation Time : Fri May 12 00:57:28 2006
Raid Level : raid1
Array Size : 9767424 (9.31 GiB 10.00 GB)
Device Size : 9767424 (9.31 GiB 10.00 GB)
Raid Devices : 2
Total Devices : 2
Preferred Minor : 0
Persistence : Superblock is persistent
Update Time : Fri May 12 04:38:19 2006
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
UUID : 754cd310:4f102bc3:b590c767:672a9c4e
Events : 0.11700
Number Major Minor RaidDevice State
0 8 1 0 active sync /dev/sda1
1 8 17 1 active sync /dev/sdb1
在磁盘失效后重建
这一步我把/dev/sdb拔掉来模拟一次磁盘失效事故。系统依然能够引导,但会提示/dev/sdb1、/dev/sdb2和/dev/sdb3从系统中消失了,/dev/mdN的状态域被标记为“退化”(degraded)。
martti@ubuntu:~$ cat /proc/mdstat
Personalities : [raid1]
md2 : active raid1 sda3[0]
10707200 blocks [2/1] [U_]
md1 : active raid1 sda2[0]
489856 blocks [2/1] [U_]
md0 : active raid1 sda1[0]
9767424 blocks [2/1] [U_]
unused devices:
martti@ubuntu:~$ sudo mdadm –query –detail /dev/md0
/dev/md0:
Version : 00.90.03
Creation Time : Fri May 12 00:57:28 2006
Raid Level : raid1
Array Size : 9767424 (9.31 GiB 10.00 GB)
Device Size : 9767424 (9.31 GiB 10.00 GB)
Raid Devices : 2
Total Devices : 1
Preferred Minor : 0
Persistence : Superblock is persistent
Update Time : Fri May 12 04:45:52 2006
State : active, degraded
Active Devices : 1
Working Devices : 1
Failed Devices : 0
Spare Devices : 0
UUID : 754cd310:4f102bc3:b590c767:672a9c4e
Events : 0.11812
Number Major Minor RaidDevice State
0 8 1 0 active sync /dev/sda1
1 0 0 – removed
接下来我把磁盘重新连接上,并命令系统自动重建。重建以后一切再次恢复正常了。
martti@ubuntu:~$ sudo mdadm –add /dev/md0 /dev/sdb1
mdadm: hot added /dev/sdb1
martti@ubuntu:~$ sudo mdadm –add /dev/md1 /dev/sdb2
mdadm: hot added /dev/sdb2
martti@ubuntu:~$ sudo mdadm –add /dev/md2 /dev/sdb3
mdadm: hot added /dev/sdb3
martti@ubuntu:~$ cat /proc/mdstat
Personalities : [raid1]
md2 : active raid1 sdb3[2] sda3[0]
10707200 blocks [2/1] [U_]
resync=DELAYED
md1 : active raid1 sda2[0] sdb2[1]
489856 blocks [2/2] [UU]
md0 : active raid1 sdb1[2] sda1[0]
9767424 blocks [2/1] [U_]
[>………………..] recovery = 2.2% (215168/9767424) finish=16.2min speed=9780K/sec
unused devices:
最后我重新安装了引导程序(boot loader),这样即便以后主磁盘(sda)消失了系统也能够引导(即在sdb上安装了GRUB,这样用sdb也能引导系统了)。
martti@ubuntu:~$ sudo grub-install /dev/sda
martti@ubuntu:~$ sudo grub
grub> device (hd0) /dev/sdb
grub> root (hd0,0)
grub> setup (hd0)
grub> quit
就是这样。接下来回过头去看我的Ubuntu安装指南了,看看配置我新安装的系统有多么简单。
(欢迎转载, 转载请注明作者和出处)
Good dispatch and this post helped me alot in my college assignement. Thanks you on your information.