Linux安全动态磁盘存储策略
1.软件RAID技术:
RAID0/RAID1/RAID5
2.LVM逻辑卷管理技术:
PV/VG/LV
3.案例:整合RAID和LVM的磁盘管理策略
一,软件RAID技术
*RAID技术有软件RAID以及硬件RAID之分,简称软RAID和硬RAID
(一) RAID技术产生的背景
1,普通的IDE硬盘速度不够快,性能不够稳定,不能应用于企业级的关键任务
2,高效并且稳定的SCSI硬盘价格非常昂贵,中小企业承受不起
3,RAID(Redundant Array of Inexpensive/Independent Disks),好廉价/独立磁盘冗余阵列(或简称磁盘阵列),它的出现,可以让我们把普通的IDE硬盘组成快速且安全可靠的存储设备.RAID技术的出现改变了企业级的存储结果,更多的IDE被企业使用来存储企业级的数据
(二) RAID的原理
1,RAID是一种把多块独立的硬盘按不同方式组合起来形成一个磁盘组,从而提供比单个硬盘更高的存储性能和提供数据冗余的技术.不同的组织方式成为RAID级别(RAID Levels).
(三) RAID0,RAID1,RAID5介绍
1,RAID0又称Striping(磁盘扩展).
原理:RAID0通过把连续的数据按先后顺序分散到多个磁盘上来提高存储性能,这样,数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于它自已的那部分数据请求.这种数据上的并行操作可以充分利用总线的带宽,显著提高磁盘整体的存取性能.但数据是按顺序先后连续的写入多个磁盘的,如果其中一个磁盘的数据受到损坏,则必然会打破数据的连续性,从而大大地降低RAID的安全性.
拥有帝国一切,皆有可能。欢迎访问phome.net
评价:速度最快,安全性偏低.适用于只要求存取速度但安全性要求不严格的数据存储应用.
(四) Linux中软件RAID的实现
1,首行Linux中实现软件RAID需要内核的支持(通常是默认支持的),Linux的内核可以模拟软件RAID控制器,实现Linux中的软件RAID.
2,硬件RAID(在主板上加插RAID控制卡)在Linux中的设备名对应于(虚拟)SCSI硬盘,即/dev/sdN (N=0,1,2...).软件RAID设备文件名如/dev/mdN (N=0,1,2...).
3,我们需要相应的应用软件(raidtools)创建管理RAID设备.
4,软件RAID设备可以当分区看待,需要格式化后挂载:
[root]#mkfs.ext3 /dev/md1
[root]#mount /dev/md1 /mnt/raid
(五)软件RAID的具体创建过程
1.添加硬盘
RAID设备是由多个硬盘组成的,其基本成员是硬盘分区,即需要先对硬盘分区,具分区不能同在一个物理硬盘上(一个硬盘的不同分区创建RAID是没有效果的)
2.安装raidtools
raidtools中包含有RAID创建管理工具和默认的示范性配置文件
3.编写配置文件/etc/raidtab
该配置文件可以从raidtools中的示范性配置文件里拷贝过来使用.具体的目录如下所示,注意选择对应的RAID设备文件:/usr/share/doc/raidtools-*/raid[0145].conf.sample
4.创建RAID设备
例:[root]#mkraid /dev/md0
5.格式化RAID设备
例:[root]#mkfs.ext3 /dev/md0
6.挂载使用.
例:[root]#mount /dev/md0 /opt
7.卸载md0.
例:[root]#umount /opt
8.停止RAID设备
例:[root]#raidstop /dev/md0
以创建RAID0为例,请参考:
拥有帝国一切,皆有可能。欢迎访问phome.net
1.添加硬盘,并为硬盘分区.
假设现有两个硬盘为/dev/sdb和/dev/sdc.使用fdisk分别在各硬盘上只创建一个分区如:/dev/sdb1以及/dev/sdc1.
2.复制RAID0的示例文件为/etc/raidtab
[root]#cp /usr/share/doc/raidtools-*/raid0.conf.sample /etc/raidtab
3.编辑/etc/raidtab文件.注意指定创建RAID设备的硬盘数和对应分区,修改后保存退出
4.创建raid设备md0. [root]#mkraid md0
5.格式化md0 [root]#mkfs.ext3 /dev/md0
6.挂载md0 (在不使用RAID设备后需要先卸载RAID设备再使用raidstop命令去除RAID)
注意:还可以使用以下命令检测构面raid设备的组件是否有损坏及应用状态:
[root]#lsraid -A -a /dev/md0
通过以下命令查看RAID设备的内核状态:
[root]#more /proc/mdstat
通过以下命令可以模拟RAID设备失效,通常用于测试RAID设备:
[root]#raidsetfaulty /dev/md0 /dev/sdb1 (指定md0设备的sdb1出现问题)
以下命令当RAID设备成员出现损坏时向RAID设备中添加新的硬盘分区成员:
[root]#raidhotadd /dev/md0 /dev/sdd1 (如果此时查看RAID设备的内核状态则 可以发现RAID1或RAID5会利用新增的成员自动对数据进行恢复)
以下命令用于去除RAID设备成员
[root]#raidhotremove /dev/md0 /dev/sdb1
|