Ⅰ 服务器没做RAID,linux系统怎样实现数据安全
原文:软RAID 0的技术概要及实现v0.1b (正在修订之中) 1 什么是RAID,RAID的级别和特点; 什么是RAID呢?全称是 A Case for Rendant Arrays of Inexpensive Disks (RAID),在1987年,由加州大学伯克利大学发表的论文而来,其实就是这个标题的缩写就是RAID;中译为磁盘阵列; RAID就是把几个物理磁盘组合在一起成为一个大的虚拟物理磁盘,主要目的和用途主要有:把若干小容量物理磁盘组成一个大容量虚拟存储设备(以前的物理磁盘的容量都比较小);提高物理存储效率(读、写),或提供冗余以提高数据存储的安全性。 根据应用方向的不同,RAID也分不不同级别 ,有LINEAR、RAID0、RAID1、RAID5、RAID10、RAID4、RAID6、MULTIPATH。常用的有RAID0、RAID1、RAID5、RAID10(其实就是0+1)、LINEAR 1.1 什么是硬件RAID和软RAID; RAID 还分为硬件RAID 和软件RAID,硬件RAID是通过RAID 卡来实现的,而软件RAID是通过软件来实现的;在企业级应用领域,大部份都是硬件RAID。而软件RAID由于性价比高,大多被中小型企业所采用; 硬件RAID是通过RAID卡把若干同等容量大小的硬盘,根据使用方向的不同,聚合起来成为一个大的虚拟RAID设备(或RAID0,或RAID1,或者RAID5,或RAID10),如果每个硬盘容量不一致,以最小容量的硬盘为基础;它的成员是整个硬盘; 软RAID是软把若干同等容量大小的硬盘或分区,根据使用方向的不同,聚合起来成为一个大的虚拟RAID设备(或RAID0,或RAID1,或者RAID5,或RAID10),如果每个硬盘或分区容量不一致,以最小容量的硬盘或分区为基础。软RAID的成员是整个硬盘或分区; 1.2 RAID 的级别及特点; RAID 有几种级别,LINEAR,RAID0 (striping), RAID1 (mirroring), RAID4, RAID5, RAID6, RAID10, MULTIPATH, and FAULTY.其中我们常用有RAID0、RAID1、RAID5、RAID10。 下面我们说说常用的RAID0、RAID1、RAID5以及RAID10; 1.21 什么是软RAID0及特点; RAID0 是把两个或两个以上的容量相同的硬盘或分区,通过RAID控制器(硬RAID是通过RAID卡来实现的,软RAID 是通过软件来实现的),结合为一个在容量上是RAID0下成员的容量的总和,在写入时,要向每个硬盘或分区同时写入数据。 在硬RAID中,RAID0的成员是以整个硬盘为单位的,把两个硬盘或两个以上的硬盘通过RAID卡绑定成为一个虚拟的磁盘设备,而每个硬盘就是RAID0的成员; 在软RAID0中,RAID0的成员是整个硬盘或分区,容量是加入RAID0的所有成员容量的总和。在RAID0中每个成员的容量都是相同一致的。比如我们把/dev/sdb 、/dev/sdc、/dev/sdd 三个容量大小为80G的硬盘做成RAID0,这时RAID0设备的容量就是三个硬盘的总和80x3=240G。当然我们也可以,在写入数据时,系统要向每个硬盘同时写入数据,是以条块的形式写入。比如我们存一份数据linuxsir.tar.gz 到RAID0的设备中,这份数据是分拆成若干份被分散的写入到RAID0中的每个成员中。只有RAID0中的每个成员正常运行,并且RAID0也正常运行的情况下,这份数据才是完整的。RAID0中任何一个成员(硬盘分区)有有问题时,RAID0便不能运行,同时数据也不是完整的; RAID0 在读写速度上是比较快的,是普通不做RAID的两倍左右(注:实际速度和机器的硬件配置有关),所以RAID0常被用于对存储效率要求较高,但对数据安全性要求不高的应用解决方案中; 安全性:RAID0中有任何一个成员出现故障,整个RAID0就不能被激活。数据不能保障; 1.22 什么是软RAID1及特点; RAID1就是把若干相同容量的硬盘或分区,成员与成员之间是镜像关系。在容量上,RAID1设备是单个成员的容量。比如两个80G的硬盘做成RAID1,这个RAID1的设备容量仍是80G。比如我们写入一个份数据linuxsir.tar.bz2 到RAID1设备时,其实是向RAID的每个成员都写了一份。比如RAID1设备下有两个成员/dev/sdb和/dev/sdc ,我们写入linuxsir.tar.bz2 到RAID1时,/dev/sdb和/dev/sdc都有一份完整的linuxsir.tar.bz2。 所以RAID1是冗余的阵列,一般被用于安全性要求比较高的应用中。 因为RAID1在由于镜像冗余,所以磁盘利用效率并不高,或者说是浪费。这种方案相对来说性价比并不高,一般很少应用。数据读写效率要比RAID0慢。 安全性:RAID1 中只要有一个成员是健康的,RAID1完全可以激活,而且数据绝对是完整安全的。如果所有的成员有故障,RAID1也就报废了。哈哈,这不是废话吗? 1.23 什么是软RAID5及特点; 软RAID5也是冗余安全的,RAID5是把至少三个硬盘或分区通过软件虚拟成为一个大的存储设备。在容量上是(n-1)x单个硬盘(分区)容量 ,比如我们用三块80G硬盘做成RAID5,容量就是两块容量的和160G。在写入上,数据被分拆成若干份,分别向RAID5的每个成员下写入。比如把linuxsir.tar.bz2写入RAID5时, 要先把linuxsir.tar.bz2分拆成若干份,分别写入RAID5成员中。因为涉及到冗余,所以数据在读入速度上并不是很快,没办法和RAID0相比,但RAID5的写入数据速度没有RAID1和RAID0快,也没有不做RAID的磁盘写入速度要快; 因为RAID5在容量损失比较小,有冗余安全保障,另外写入速度比较快,从整体上来看,性价比比较高,所以被大范围内采用; 安全性:当RAID5中的成员中有一个发生故障时,RAID5一样能启动和正常运行,只要n-1(注n>3)块硬盘或分区的不出故障,RAID5上的数据就是安全,对于一个文件存到RAID5设备中,只有成员是n-1(注n>3)无故障时,这份文件才是完整的。 比如RAID5有四个硬盘(或分区)做的,当一个硬盘或分区挂掉了,并不影响整个RAID5上数据的完整性和安全性。 1.24 什么是软RAID10及特点; 软RAID10也是冗余安全阵列,是RAID0+1的集成,RAID10是把至少四个硬盘或分区通过软件虚拟成为一个大的存储设备。在容量是:n/2x单个硬盘(分区)容量 ,比如我们用四块80G硬盘做成RAID5,容量就是两块容量的和4/2x80=160G。做RAID10所需要的硬盘或分区个数是偶数的。
Ⅱ raid0怎么组装,以及在组装raid0后,怎么装linux系统啊。求高手指教啊
Raid0就是把两块盘并成一块,并且是没有赘余存储。组raid以后,就象平常安装系统一样安装Linux就是,如果无法识别硬盘,则要用软件驱加载Raid驱动,然后再安装,一般厂商都会提供驱动的。
Ⅲ Linux软RAID系统崩溃的修复
你可以检查下硬盘,没有问题的话,应该是/分区的Label没了,或者查看你grub的设定, kernel 这部份 label 的指向那个分区,
或者直接指向分区, 如 kernel /boot/vmlinux-xxxxx root=/dev/sda1
等等.分区的时候没指定分区的type.默认就是 id:83 也就是linux类型。
Disk /dev/sdb: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 123 987966 83 Linux
/dev/sdb2 124 246 987997+ 83 Linux
其实我们只要在分区的时候手动指定分区的类型为soft raid格式即可解决问题。
/dev/sdb2 124 246 987997+ fd Linux raid autodetect
这样我们重启机器后所作的raid设备依然可以用fdisk -l来查看到。
如果你当初的raid,没指定分区的type,其实你也可以重新制定分区的type后,也是可以的。。
指定type的方式为 fdisk --- t----fd----w
Ⅳ raid0 在linux上怎么安装
同 Windows ,硬件的主板或者RAID卡设置,之后装系统时加载驱动(有的需要有的不需要)。
如果是软件的,那么需要 Linux 系统支持,建议安装时直接设置 LVM (逻辑卷管理,可以设置软 RAID)。
Ⅳ RAID与linux的问题
我以前也这样做过。
因为你用raid卡做的阵列会因为没有linux下的驱动而无法认到。
后来安装linux的时候做
软raid
.
阵列卡
似乎没有办法的。
不过似乎有高手可以自己写驱动。期待中。。
Ⅵ 如何在RAID 0下装LINUX
这个似乎不简单,看你的raid0是怎么做的,要是通过主板上的raid芯片实现的,那么必须在安装linux的过程中加载raid芯片的驱动。
建议尝试ubuntu的最新版本,它是驱动最丰富的linux版本。要是无法检测到,那就只能试着做软raid了。
Ⅶ 如何在linux下做软raid实现方法
磁盘阵列软RAID实例.
前言:raid0, 容量倍增,加速。 raid1, 安全镜像备份。 raid5, 奇偶数据校验保证安全,磁盘利用率(n-1)。
****************************************
1. 准备硬盘分区。
****************************************
raid5 至少需要3快硬盘,我手上只有一块闲置硬盘,就拿它练手。
在一块硬盘上实现raid 是没有意义的,这里仅是为了实验,知道其过程。
分区如下:
主分区 /sdb1, 扩展分区/sdb10 随便干别的事情。
扩展分区/sdb{5..9} 做raid5
----------------------------------------
[root@hjj ~]# fdisk -l /dev/sdb
----------------------------------------
Disk /dev/sdb: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x86ea33f5
Device Boot Start End Blocks Id System
/dev/sdb1 1 3241 26033301 83 Linux
/dev/sdb2 3242 19457 130255020 5 Extended
/dev/sdb5 3242 6482 26033301 fd Linux raid autodetect
/dev/sdb6 6483 9723 26033301 fd Linux raid autodetect
/dev/sdb7 9724 12964 26033301 fd Linux raid autodetect
/dev/sdb8 12965 16205 26033301 fd Linux raid autodetect
/dev/sdb9 16206 19446 26033301 fd Linux raid autodetect
/dev/sdb10 19447 19457 88326 83 Linux
----------------------------------------
[root@hjj ~]# partprobe /dev/sdb
----------------------------------------
重新检测分区要通过, 可能需要重启系统。
****************************************
2. 创建raid5 设备/dev/md0
****************************************
raid 设备文件名,习惯上用md0, md1....等命名
注意: 创建需要内核支持, 选中相应的raid 选项,重编译内核,否则该命令不能通过,错误为invalid parameter
2.1 创建
--------------------------------------------------------------------------------
[root@hjj ~]# mdadm -C /dev/md0 -a yes -l 5 -n 4 -x 1 /dev/sdb{5..9}
--------------------------------------------------------------------------------
mdadm: Defaulting to version 1.2 metadata
解释一下:
-C ---> create
-a ---> autodetected
-l ---> level raid5
-n ---> raid devices 4 (使用)
-x ---> spare devices 1(备用)
给一个参考多硬盘命令
[root@hjj ~]# mdadm -C /dev/md0 -a yes -l 5 -n 3 /dev/sd[bcd]1
2.2: 设备名称查询
[root@hjj ~]# ll /dev/md* -d
drwxr-xr-x 2 root root 60 Nov 7 01:51 /dev/md
brw-rw---- 1 root disk 9, 0 Nov 7 01:52 /dev/md0
2.3: 设备信息查询
----------------------------------------
[root@hjj ~]# mdadm --detail /dev/md0
----------------------------------------
/dev/md0:
Version : 1.2
Creation Time : Thu Nov 7 01:14:01 2013
Raid Level : raid5
Array Size : 78096384 (74.48 GiB 79.97 GB)
Used Dev Size : 26032128 (24.83 GiB 26.66 GB)
Raid Devices : 4
Total Devices : 5
Persistence : Superblock is persistent
Update Time : Thu Nov 7 01:43:21 2013
State : clean, degraded, recovering
Active Devices : 3
Working Devices : 5
Failed Devices : 0
Spare Devices : 2
Layout : left-symmetric
Chunk Size : 512K
Rebuild Status : 63% complete
Name : hjj.localdomain:0 (local to host hjj.localdomain)
UUID : 9dee9c47:58dfe491:5c8db1c6:9686eba5
Events : 25
Number Major Minor RaidDevice State
0 8 21 0 active sync /dev/sdb5
1 8 22 1 active sync /dev/sdb6
2 8 23 2 active sync /dev/sdb7
5 8 24 3 spare rebuilding /dev/sdb8
4 8 25 - spare /dev/sdb9
****************************************
3: 格式化raid 设备(磁盘)
[root@hjj ~]# mkfs -t ext4 /dev/md0
****************************************
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=128 blocks, Stripe width=384 blocks
4882432 inodes, 19524096 blocks
976204 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
596 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424
Writing inode tables: done
Creating journal (32768 blocks):
done
Writing superblocks and filesystem accounting information:
done
This filesystem will be automatically checked every 34 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
****************************************
4. 挂载及使用raid 磁盘
****************************************
[root@hjj ~]# mount /dev/md0 /mnt
[root@hjj ~]# cd /mnt
[root@hjj /mnt]# ls
lost+found
使用raid 设备(虚拟盘)
[root@hjj /mnt]# echo "haha" > abc.txt
[root@hjj /mnt]# cat abc.txt
haha
[root@hjj ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/VolGroup-lv_root
51475068 40659416 8177828 84% /
tmpfs 1015868 224 1015644 1% /dev/shm
/dev/sda1 487652 67236 390720 15% /boot
/dev/mapper/VolGroup-lv_home
97521332 10652080 81892408 12% /home
/dev/md0 76739624 53016 72765408 1% /mnt
****************************************
5. 设置开机启动RAID
****************************************
[root@hjj ~]# mdadm --detail --scan
ARRAY /dev/md0 metadata=1.2 spares=2 name=hjj.localdomain:0 UUID=9dee9c47:58dfe491:5c8db1c6:9686eba5
[root@hjj ~]# mdadm --detail --scan >/etc/mdadm.conf
经以上操作,系统重启时自动命名为md0, 否则会是md127 等等值, 不固定。
[root@hjj ~]# vim /etc/fstab
添加:
/dev/md0 /mnt ext4 defaults 0 0
****************************************
6. 其它:停用设备,插拔磁盘
更详细文档: man mdadm
****************************************
停用raid 盘:
[root@hjj ~]# mdadm --stop /dev/md0
查询
[root@hjj ~]# ll /dev/md* , 无设备
mdadm 还可模拟拔出硬盘,修复硬盘,插入硬盘
[root@hjj ~]# mdadm /dev/md0 --remove /dev/sdb5
验证:
[root@hjj ~]# mdadm --zero-superblock --force /dev/md0
[root@hjj ~]# mdadm /dev/md0 --add /dev/sdb5
验证:
验证方法:
[root@hjj ~]# mdadm --detail /dev/md0
删除该raid 设备, 完整的操作过程如下示例。 比较规范,系统无错误。
当然,不按规范删除也可以。反正你也不要设备上的所有数据了。
mdadm /dev/md0 --fail /dev/sdb5 --remove /dev/sdb5
mdadm /dev/md0 --fail /dev/sdb6 --remove /dev/sdb6
mdadm /dev/md0 --fail /dev/sdb7 --remove /dev/sdb7
mdadm /dev/md0 --fail /dev/sdb8 --remove /dev/sdb8
mdadm /dev/md0 --fail /dev/sdb9 --remove /dev/sdb9
mdadm --remove /dev/md0
mdadm --stop /dev/md0
mdadm --misc --zero-superblock /dev/sdb5
mdadm --misc --zero-superblock /dev/sdb6
mdadm --misc --zero-superblock /dev/sdb7
mdadm --misc --zero-superblock /dev/sdb8
mdadm --misc --zero-superblock /dev/sdb9
即: 先删除RAID中的所有设备,然后停止,删除该RAID即可
为了防止系统启动时候启动raid, 应检查,修改相应的配置。
例如mdadm.conf, fstab 等
Ⅷ linux raid0怎么做
fdisk 分2个区(2或2的倍数给)
fdisk /dev/sda 分区
mdadm -C /dev/md0 -l 0 -n 2 -x 1 /dev/sda{5,6,7}
意思就是创意一个raid名字叫md0 -l 级别 0 磁盘数量2 备用盘数量1 使用的磁盘 sda{5,6,7}
根据实际小改动就可以
Ⅸ linux磁盘阵列怎么做 raid0
需要在服务器上做的 不是在linux系统里面做
不同的服务器做的方法不太一样 可以根据服务器型号去查