RHEL54下创建RAID.docx
- 文档编号:24369725
- 上传时间:2023-05-26
- 格式:DOCX
- 页数:17
- 大小:20.20KB
RHEL54下创建RAID.docx
《RHEL54下创建RAID.docx》由会员分享,可在线阅读,更多相关《RHEL54下创建RAID.docx(17页珍藏版)》请在冰豆网上搜索。
RHEL54下创建RAID
RHEL5.4下创建RAID
关于在linux下面创建软件RAID的讨论,
RAID介绍,
RAID就是廉价冗余磁盘阵列
常用的级别是RAID0RAID1RAID5
RAID分为软RAID和硬件RAID
软件RAID是基于系统的软件工作
优点:
廉价
缺点:
不稳定,如果系统坏了,RAID整列也就损坏,容易造成数据丢失
硬件RAID,这就是各大厂商提供的,存储解决方案。
有专门的设备负责处理磁盘间的数据流。
相对于软件RAID
优点:
可靠性高,易管理。
稳定
缺点:
成本过高
RAID0:
最少由两块硬盘组成,优点是大大的提高了硬盘的读写性能,缺点是没有冗余机制,一旦一块硬盘坏了,将无法恢复。
可用空间n
RAID1:
必须是2的倍数组成,优点是可以完全的备份数据,有冗余机制,缺点是降低了写入的性能,而且成本最高。
可用空间n/2
RAID5:
最少由三块硬盘组成,raid5整合了raid1和raid0的优点,既有冗余机制,而且提升了读写的性能,一旦一块硬盘坏了,可以恢复数据。
可用空间n-1
(ps:
n为硬盘总大小)
热备盘
热备盘只在有冗余机制的raid的里面,当raid里面的成员down掉了,热备盘会立即的提升成raid成员,保证raid正常工作。
现在开始实战
题目:
建立一个RAID5级别的分区使用一个分区给这个RAID做热备份,并挂在到本地的/mnt/raid目录。
1. 创建物理分区
首先创建四个分区,三块做raid5,一块做热备盘。
[root@localhost~]#fdisk/dev/sda
Thenumberofcylindersforthisdiskissetto1958.
Thereisnothingwrongwiththat,butthisislargerthan1024,
andcouldincertainsetupscauseproblemswith:
1)softwarethatrunsatboottime(e.g.,oldversionsofLILO)
2)bootingandpartitioningsoftwarefromotherOSs
(e.g.,DOSFDISK,OS/2FDISK)
Command(mforhelp):
n
Firstcylinder(1316-1958,default1316):
Usingdefaultvalue1316
Lastcylinderor+sizeor+sizeMor+sizeK(1316-1958,default1958):
+100M
Command(mforhelp):
n
Firstcylinder(1329-1958,default1329):
Usingdefaultvalue1329
Lastcylinderor+sizeor+sizeMor+sizeK(1329-1958,default1958):
+100M
Command(mforhelp):
n
Firstcylinder(1342-1958,default1342):
Usingdefaultvalue1342
Lastcylinderor+sizeor+sizeMor+sizeK(1342-1958,default1958):
+100M
Command(mforhelp):
n
Firstcylinder(1355-1958,default1355):
Usingdefaultvalue1355
Lastcylinderor+sizeor+sizeMor+sizeK(1355-1958,default1958):
+100M
然后在分区主界面按“t”来转换分区类型,raid的id为fd
Command(mforhelp):
t
Partitionnumber(1-11):
8
Hexcode(typeLtolistcodes):
fd
Changedsystemtypeofpartition8tofd(Linuxraidautodetect)
Command(mforhelp):
t
Partitionnumber(1-11):
9
Hexcode(typeLtolistcodes):
fd
Changedsystemtypeofpartition9tofd(Linuxraidautodetect)
Command(mforhelp):
t
Partitionnumber(1-11):
10
Hexcode(typeLtolistcodes):
fd
Changedsystemtypeofpartition10tofd(Linuxraidautodetect)
Command(mforhelp):
t
Partitionnumber(1-11):
11
Hexcode(typeLtolistcodes):
fd
Changedsystemtypeofpartition11tofd(Linuxraidautodetect)
Command(mforhelp):
完成分区后,按“p”来查看我们做的操作是否正确。
Command(mforhelp):
p
Disk/dev/sda:
16.1GB,16106127360bytes
255heads,63sectors/track,1958cylinders
Units=cylindersof16065*512=8225280bytes
DeviceBootStartEndBlocksIdSystem
/dev/sda1*11310439183Linux
/dev/sda214535419296583Linux
/dev/sda3536105741929658Linux
/dev/sda4105819587237282+5Extended
/dev/sda510581188105222682Linuxswap/Solaris
/dev/sda61189125352208183Linux
/dev/sda712541315497983+83Linux
/dev/sda813161328104391fdLinuxraidautodetect
/dev/sda913291341104391fdLinuxraidautodetect
/dev/sda1013421354104391fdLinuxraidautodetect
/dev/sda1113551367104391fdLinuxraidautodetect
Command(mforhelp):
确定没有问题后,按“wq”保存并退出。
Command(mforhelp):
wq
Thepartitiontablehasbeenaltered!
Callingioctl()tore-readpartitiontable.
WARNING:
Re-readingthepartitiontablefailedwitherror16:
Deviceorresourcebusy.
Thekernelstillusestheoldtable.
Thenewtablewillbeusedatthenextreboot.
Syncingdisks.
[root@localhost~]#
退出后一定要用partprobe工具来让刚才的操作立即生效。
[root@localhost~]#partprobe/dev/sda
[root@localhost~]#
创建分区到这里就结束了,
下面开始创建设备文件。
2. 创建阵列设备
系统默认有个md0可以给我使用,如果要多个raid的话,就需要自己去创建。
创建md1这个设备文件
创建设备文件用mknod命令
#mknod/dev/md1b91
Mknod是命令/dev/md1是设备名称
后面得b代表是创建的是个设备
9是主设备号1代表从设备号
主设备号不能改,从设备号是系统中唯一的。
创建好了之后,可以使用ls/dev/md1来查看
[root@localhost~]#mknod/dev/md1b91
[root@localhost~]#
[root@localhost~]#ls/dev/md0
/dev/md0
[root@localhost~]#ls/dev/md1
/dev/md1
[root@localhost~]#
当然也可以不需要去创建这个阵列设备,可以在创建raid的时候加上-ayes,系统自动的创建设备文件,可以看到,md0这个设备文件,我们没有去创建,这个系统默认就有的。
创建设备文件到这里就结束了,
下面开始创建raid设备。
3. 创建raid设备
使用mdadm工具来创建raid5
#mdadm–C/dev/md1-ayes-l5-n3-x1/dev/sda8/dev/sda9/dev/sda10/dev/sda11
[root@localhost~]#
[root@localhost~]#mdadm-C/dev/md1-ayes-l5-n3-x1/dev/sda8/dev/sda9/dev/sda10/dev/sda11
mdadm:
array/dev/md1started.
[root@localhost~]#
raid5就已经创建成功了,就是/dev/md1
关于创建raid里面的参数意义
/dev/md1raid设备的名字
-ayes创建raid的时候同时创建raid的设备文件
-l5raid设备的级别
-n3raid设备的磁盘的数量
-x1热备盘数量
/dev/sda8,9,10,11raid是由哪些盘组成的
Raid的设备就创建成功了,下面来查看下刚才创建的raid5
可以使用#mdadm–D/dev/md0来查询raid的信息
[root@localhost~]#mdadm-D/dev/md1
/dev/md1:
Version:
0.90
CreationTime:
SatFeb2012:
24:
092010
RaidLevel:
raid5
ArraySize:
208640(203.78MiB213.65MB)
UsedDevSize:
104320(101.89MiB106.82MB)
RaidDevices:
3
TotalDevices:
4
PreferredMinor:
1
Persistence:
Superblockispersistent
UpdateTime:
SatFeb2012:
24:
102010
State:
clean
ActiveDevices:
3
WorkingDevices:
4
FailedDevices:
0
SpareDevices:
1
Layout:
left-symmetric
ChunkSize:
64K
UUID:
ea1f12df:
849bd58d:
5c766fdc:
5dccd818
Events:
0.2
NumberMajorMinorRaidDevice State
0880activesync/dev/sda8
1891activesync/dev/sda9
28102activesync/dev/sda10
3811-spare/dev/sda11
[root@localhost~]#
通过mdadm–D/dev/md1命令,可以看到关于raid的很多信息
可以看到mdadm的版本,什么时候创建的,raid的级别,raid的大小,每个设备的大小,raid的组成成员,总共有几个设备,raid的状态,等等很多信息。
还可以看到刚才创建raid5的可用空间是200MB
创建raid设备就到这里了,
下面开始格式化raid设备
4.要想去使用raid,还是先得格式化
#mkfs.ext3/dev/md1
[root@localhost~]#mkfs.ext3/dev/md1
mke2fs1.39(29-May-2006)
Filesystemlabel=
OStype:
Linux
Blocksize=1024(log=0)
Fragmentsize=1024(log=0)
52208inodes,208640blocks
10432blocks(5.00%)reservedforthesuperuser
Firstdatablock=1
Maximumfilesystemblocks=67371008
26blockgroups
8192blockspergroup,8192fragmentspergroup
2008inodespergroup
Superblockbackupsstoredonblocks:
8193,24577,40961,57345,73729,204801
Writinginodetables:
done
Creatingjournal(4096blocks):
done
Writingsuperblocksandfilesystemaccountinginformation:
done
Thisfilesystemwillbeautomaticallycheckedevery24mountsor
180days,whichevercomesfirst.Usetune2fs-cor-itooverride.
[root@localhost~]#
格式化成功,接下来就是要挂载了。
5. 挂载raid设备
挂载raid的命令是
#mount/dev/md1/mnt/raid5
[root@localhost~]#
[root@localhost~]#mount/dev/md1/mnt/raid5/
[root@localhost~]#df
Filesystem1K-blocksUsedAvailable Use% Mountedon
/dev/sda340615722311856154006861%/
/dev/sda6505604105654689353%/home
/dev/sda240615721856572199535249%/var
/dev/sda1101086135888227915%/boot
tmpfs19213201921320%/dev/shm
/dev/hdc293537029353700 100% /media/RHEL_5.4i386DVD
/dev/md120204759201856954% /mnt/raid5
[root@localhost~]#cd/mnt/raid5/
[root@localhostraid5]#ls
lost+found
[root@localhostraid5]#
挂载成功
整个raid的创建和使用就是这么多了。
复制一些数据到/mnt/raid5里面去,方便等下做实验。
[root@localhost~]#cp/boot/*/mnt/raid5/
cp:
omittingdirectory`/boot/grub'
cp:
omittingdirectory`/boot/lost+found'
[root@localhost~]#cd/mnt/raid5/
[root@localhostraid5]#ls
config-2.6.18-164.el5symvers-2.6.18-164.el5.gz
initrd-2.6.18-164.el5.imgSystem.map-2.6.18-164.el5
initrd-2.6.18-164.el5kdump.imgvmlinuz-2.6.18-164.el5
lost+found
[root@localhostraid5]#
下面是关于软件raid的测试和修复
首先模拟磁盘故障
将raid5中的一个成员给down掉,试试热备盘能不能主动的成为热raid中的成员。
模拟磁盘故障的命令
#mdadm/dev/md1–f/dev/sda10
[root@localhost~]#
[root@localhost~]#mdadm/dev/md1-f/dev/sda10
mdadm:
set/dev/sda10faultyin/dev/md1
[root@localhost~]#
已经模拟一块磁盘故障了
在使用mdadm–D/dev/md1来查询raid的状态
#mdadm–D/dev/md1
[root@localhost~]#
[root@localhost~]#mdadm-D/dev/md1
/dev/md1:
Version:
0.90
CreationTime:
SatFeb2012:
24:
092010
RaidLevel:
raid5
ArraySize:
208640(203.78MiB213.65MB)
UsedDevSize:
104320(101.89MiB106.82MB)
RaidDevices:
3
TotalDevices:
4
PreferredMinor:
1
Persistence:
Superblockispersistent
UpdateTime:
SatFeb2012:
41:
562010
State:
clean
ActiveDevices:
3
WorkingDevices:
3
FailedDevices:
1
SpareDevices:
0
Layout:
left-symmetric
ChunkSize:
64K
UUID:
ea1f12df:
849bd58d:
5c766fdc:
5dccd818
Events:
0.6
NumberMajorMinorRaidDevice State
0880activesync/dev/sda8
1891activesync/dev/sda9
28112activesync/dev/sda11
3810-faultyspare/dev/sda10
[root@localhost~]#
可以看到raid5以前里面的成员/dev/sda10已经坏掉了,热备盘很快的成为了raid5里面的成员,继续工作。
[root@localhost~]#cd/mnt/raid5/
[root@localhostraid5]#ls
config-2.6.18-164.el5symvers-2.6.18-164.el5.gz
initrd-2.6.18-164.el5.imgSystem.map-2.6.18-164.el5
initrd-2.6.18-164.el5kdump.imgvmlinuz-2.6.18-164.el5
lost+found
[root@localhostraid5]#
可以看到,raid5里面的数据都没有丢失。
刚才只是将raid5里面的一个成员给down掉了,由于有热备盘给自动的顶了上去,其实的raid5根本就没有什么问题,如果现在将raid5里面的另外一个成员也给down掉,raid5还可以正常工作吗。
在来模拟其中一块盘坏掉了
#mdadm/dev/md1–f/dev/sda8
[root@localhost~]#mdadm/dev/md1-f/dev/sda8
mdadm:
set/dev/sda8faultyin/dev/md1
[root@localhost~]#
在用mdadm–D/dev/md1来查看一下raid5的工作状态
#mdadm–D/dev/md1
[root@localhost~]#
[root@localhost~]#mdadm-D/dev/md1
/dev/md1:
Version:
0.90
CreationTime:
SatFeb2012:
24:
092010
RaidLevel:
raid5
ArraySize:
208640(203.78MiB213.65MB)
UsedDevSize:
104320(101.89MiB106.82MB)
RaidDevices:
3
TotalDevices:
4
PreferredMinor:
1
Persistence:
Superblockispersistent
UpdateTime:
SatFeb2012:
49:
172010
State:
clean,degraded
ActiveDevices:
2
WorkingDevices:
2
FailedDevices:
2
SpareDevices:
0
Layout:
left-symmetric
ChunkSize:
64K
UUID:
ea1f12df:
849bd58d:
5c766fdc:
5dccd818
Events:
0.10
NumberMajorMinorRaidDeviceState
0000removed
1891activesync/dev/sda9
28112activesync/dev/sda11
3810-faultyspare/dev/sda10
488-faultyspare
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- RHEL54 创建 RAID