Linux下制作raid1
2016-10-10 15:56:10   来源:   浏览: 次

导读:制作raid1raid1是Linux服务器最常用的一种硬盘冗余备份的方案,它能在硬盘损坏的情况下保证硬盘数据内的安全。需要至少两块硬盘,最好是完

制作raid1

raid1是L inux服务器最常用的一种硬盘冗余备份的方案,它能在硬盘损坏的情况下保证硬盘数据内的安全。需要至少两块硬盘,最好是完全相同的两块硬盘,所创建的若磁盘中有谁损坏,则备用盘自动替补上去。

一、搭建Linux raid1环境

1.        准备好要制作raid1的硬盘,至少两块,最好是两块同型号同容量的硬盘。

2.        用fdisk工具对硬盘进行分区(用sda做示例)

#fdisk /dev/sda

#m(你可以键入m命令获取帮助信息)

#n(添加新的分区,选择primary分区类型,再选择分区起止位置,如果你要将整张盘划分为一个分区的话,全部选择default)

#t(更改分区类型,你可以输入字母l获取类型列表,这里我们选择fd,即linuxraid

auto类型)

#w(保存并退出)

3.        安装mdadm

可以用apt-get进行安装:

#apt-getinstall mdadm

二、使用mdadm工具创建和管理磁盘阵列

1.        创建md0磁盘阵列,类型为raid1,磁盘数量为2,备用磁盘数量为1:

2.        #mdadm --create  --auto=yes /dev/md0 --level=1 --raid-devices=2  /dev/sdb1  /dev/sdc1

3.        建立文件系统, 文件系统设置成ext3:

#mkfs  -t  ext3  /dev/md0

4.        在/dev/md0下创建三个分区:

/dev/md0p1

/dev/md0p2

/dev/md0p3

5.        建立文件系统, 文件系统设置成ext3

#mkfs  -t  ext3  /dev/md0p1

#mkfs  -t  ext3  /dev/md0p2

#mkfs  -t  ext3  /dev/md0p3

6.        挂载磁盘阵列, 将磁盘阵列挂载到下:

#mount /dev/md0p1  /home

#mount  /dev/md0p2  /mnt

#mount  /dev/md0p3  /root

7.        将磁盘阵列设置为开机自动挂载:

#mdadm -D -s >>/etc/mdadm.conf (先将磁盘阵列信息保存到配置文件,否则系统启动时会将其命名为/dev/md127)

#vi /etc/fstab

编辑fstab文件,加入如下脚本:

/dev/md0p1  /home  ext3  defaults 0 0

/dev/md0p2  /mnt  ext3  defaults 0 0

/dev/md0p3  /root  ext3  defaults 0 0

8.        查看磁盘阵列的状态:

#mdadm --detail  /dev/md0

三、磁盘阵列的一些操作

1.        删除磁盘阵列:

#mdadm/dev/md0 --f ail/dev/sda1 --remove /dev/sda1

#mdadm/dev/md0 --f ail/dev/sdb1 --remove /dev/sdb1(标记sda1磁盘为坏盘,并从阵列中移除)

#mdadm--stop /dev/md0

#mdadm--zero-superblock/dev/sda1

#mdadm--zero-superblock/dev/sdb1(清除磁盘中的raid标记)

2.        更换并同步数据

#mdadm /dev/md0 --f ail/dev/sda1 --remove /dev/sda1(标记sda1磁盘为坏盘,并从阵列中移除)

#mdadm /dev/md0 --add/dev/sdc1(这里假设sdc为新硬盘,sdc1为fdisk工具处理后的新硬盘分区,完成后,数据则会自动从sda1中同步到sdc1)

#cat/proc/mdstat(查看md状态,可以是sync、resync等状态)

3.        有一块硬盘坏了, 换上另一块盘

#mdadm--create --auto=yes/dev/md0 --level=1 --force --raid-devices=1 /dev/sda1

#mount/dev/md0/mnt(挂载,不格式化)

附:启动硬盘挂载文件:/etc/fstab

1.        fstab文件的作用

文件/etc/fstab存放的是系统中的文件系统信息。当正确的设置了该文件,则可以通过"mount  /directoryname"命令来加载一个文件系统,每种文件系统都对应一个独立的行,每行中的字段都有空格或tab键分开。同时fsck、 mount、umount的等命令都利用该程序。

2.        格式详解:

挂载硬盘的格式为:

fs_spec fs_file fs_type fs_options fs_dump fs_pass

fs_spec :该字段定义希望加载的文件系统所在的设备或远程文件系统,对于一般的本地块设备情况来说:IDE设备一般描述为 /dev/hdaXN,X是IDE 设备通道(a, b, or c),N代表分区号;SCSI设备一描述为/dev/sdaXN。对于NFS情况,格式一般为:,例如: `knuth.aeb.nl:/'。对于procfs,使用`proc'来定义。

fs_file:该字段描述希望的文件系统加载的目录点,对于swap设备,该字段为none;对于加载目录名包含空格的情况,用40来表示空格。

fs_type:定义了该设备上的文件系统,一般常见的文件类型为ext2 (Linux设备的常用文件类型)、vfat(Windows系统的fat32格式)、NTFS、iso9600等。  

fs_options:指定加载该设备的文件系统是需要使用的特定参数选项,多个参数是由逗号分隔开来。对于大多数系统使用"defaults"就可以满足需要。其他常见的选项包括:

选项

含义

ro

以只读模式加载该文件系统

sync

不对该设备的写操作进行缓冲处理,这可以防止在非正常关机时情况下破坏文件系统,但是却降低了计算机速度

user

允许普通用户加载该文件系统

quota

强制在该文件系统上进行磁盘定额限制

noauto

不再使用mount -a命令(例如系统启动时)加载该文件系统

 fs_dump:该选项被"dump"命令使用来检查一个文件系统应该以多快频率进行转储,若不需要转储就设置该字段为0;

fs_pass:该字段被fsck命令用来决定在启动时需要被扫描的文件系统的顺序,根文件系统"/"对应该字段的值应该为1,其他文件系统应该为2。若该文件系统无需在启动时扫描则设置该字段为0;