raid5和iscs网络存储服务i配置

来源:互联网 发布:js确认对话框 确认执行 编辑:程序博客网 时间:2024/06/07 12:16

1、RAID磁盘阵列

在Linux系统中做RAID,磁盘阵列的设备可以是一块磁盘中的三个以上的分区,也可以是三块或以上的磁盘。本文主要以几块磁

盘为例,来实现在RAID5。

实验说明:

在VMware中进行,系统中有一块磁盘sda,新添加6块SCSI磁盘,分别为sdb,sdc,sdd,sde,sdf,sdg,其中4块作为磁盘阵列的设备,1块作为预备(spare)磁盘,还有1块留作备用(用于扩展RAID)。

实验步骤:

1.先查看一下系统中磁盘设备:fdisk -l

显示结果略

2.接下来开始创建RAID了,主要会应用到mdadm命令,使用此命令需要先安装RHEL6安装光盘中自带的mdadm包,如果没有安装,先进行安装。

[root@svr ~]# mdadm --create --auto=yes/dev/md0 --level=5 --raid-devices=4 --spare-devices=1 /dev/sd[b-f]

参数说明:

--create   //表示要创建raid

--auto=yes /dev/md0   //新建立的软件磁盘阵列设备为md0,md序号可以为0-9

--level=5  //磁盘阵列的等级,这里表示创建是的raid5

--raid-devices     //添加作为磁盘阵列用的磁盘的块数

--spare-devices   //添加作为预备(spare)磁盘的块数

/dev/sd[b-f]   //磁盘阵列所使用的设备,还可写成/dev/sdb  /dev/sdc  /dev/sdd /dev/sde  /dev/sdf

另外这条命令也可以简写:

mdadm -C /dev/md0 -l5 -n4 -x1 /dev/sd[b-f]

3.查看RAID是否成功创建及是否正常运行,有两种方法(当磁盘容量越大时,磁盘阵列构建的时间越长,所以可能需要等待很长时间才能看到以下信息):

执行mdadm --detail/dev/md0 命令查看RAID的详细信息:图略

查看/proc/mdstat文件,可以比较简单明了的查看RAID创建和运行的情况:

S代表预备(spare)磁盘,4个U代表正常,出现_表示不正常

确认新建的RAID设备

执行 mdadm  -Q /dev/md0  //-Q用来查询设备信息。

4.格式化并且挂载和使用创建的RAID:

[root@svr ~]# mkfs.ext4 /dev/md0

[root@svr ~]# mkdir /raid5

[root@svr ~]# mount /dev/md0 /mnt/raid5/查看一下挂载的情况(已经挂载上):略

来查看一下新挂的RAID是否可以使用

5.设置开机自动启动RAID以及自动挂载

先建立/etc/mdadm.conf这个配置文件:

[root@svr ~]#mdadm --detail /dev/md0 |grep UUID > /etc/mdadm.conf

上面建立的这个文件需要作小小的修改:

[root@svr ~]# vi/etc/mdadm.conf    
ARRAY/dev/md0 UUID=d58ed27d:00ce5cf5:b26ed1e9:879d0805

然后再修改/etc/fstab文件,设置开机自动挂载:

[root@svr ~]# vi/etc/fstab    
/dev/md0        /mnt/raid5      ext4        defaults                00

重启一下系统,就可以检查开机自动挂载有没有设置成功了!

扩容raid磁盘阵列:

显示磁盘阵列的组成情况,4个块设备组成
# cat /proc/mdstat

把/dev/sdg增加进阵列/dev/md0:
# mdadm --add /dev/md0 /dev/sdg

把raid5阵列/dev/md0修改为5个块设备:
# mdadm --grow/dev/md0 -n5

再显示一下磁盘阵列的组成情况,现在/dev/md0是6个块设备组成,完成扩容,还需要7.7分钟。
# cat /proc/mdstat

等待扩容完成.....

执行下列命令:

验证:

6.模拟RAID5中一块磁盘损坏,检验spare磁盘的功能(raid5中允许一块磁盘损坏,我们所设置的那1块spare磁盘会立即替代损坏的磁盘,进行RAID的重建,保障数据的安全):

[root@svr ~]#mdadm --manage /dev/md0 --fail /dev/sdd

//使用此命令设置磁盘sdd成为出错的状态

来查看一下:mdadm --detail /dev/md0

可以查看cat /proc/mdstat文件查看RAID5的重建过程

再来看一下重建完后的结果

/mnt/raid5还可以正常使用

7.将出错的磁盘删除并加入新的磁盘:

先删除损坏的磁盘sdd:

[root@svr raid5]#mdadm --manage /dev/md0    --remove/dev/sdd       //将损坏的磁盘sdd从RAID中删除

再添加一块新的磁盘作为spare磁盘:

[root@svr raid5]#mdadm --manage /dev/md0 --add /dev/sdg       //添加新的磁盘sdg

OK,再来查看一下:

执行以下命令

mdadm  --detail /dev/md0查看结果

8关闭软件RAID的方法:

当你不再需要已经设置的RAID的时候,可以用以下方法关闭RAID

1)卸载/dev/md0,并且删除或注释掉/etc/fstab文件中的配置:

[root@svr ~]#umount /dev/md0    
[root@svr ~]# vi /etc/fstab    
#/dev/md0        /mnt/raid5        ext4        defaults            00

2)注释掉或删除/etc/mdadm.conf中的设置:    
[root@svr ~]# vi /etc/mdadm.conf    
#ARRAY /dev/md0 UUID=d58ed27d:00ce5cf5:b26ed1e9:879d0805

3)停止raid设备

# mdadm --stop/dev/md0

4)删除raid中的所有磁盘

这时候raid中的磁盘就删除了,重启后也不会产生md127.

RAID0RAID1实同于RAID5

RAID0:并行读写数据

RAID1:镜像磁盘阵列

2、在rhel6系统中搭建ISCSI存储服务器

随着企业中数据信息的不断增长,尤其当成百上千TB的数据需要备份、恢复,以及面临着扩容、灾难恢复等需求时,DAS(直接附加存储,就是通过与计算机主板的I/O接口,如IDE、SCSI相连接由本机操作系统负责读写及管理)方式使得数据的管理与维护日益困难。正因为如此,网络存储技术应运而生,其最常见的就是NAS和SAN

SAN(storage area network,存储区域网络)

SAN是通过光纤交换机、光纤路由器等设备将磁盘阵列、磁带机或独立的ISCSI设备与服务器连接,构成一个高速存储子网,存储的数据以数据块的形式通过ISCSI协议进行传输,从而优于普通的IP包传输。

NAS(network attachment storage,网络附加存储)

NAS存储设备相当于一台独立的服务器,设备本身带有操作系统,也拥有网络接口,因此不依赖于其他服务器,在NAS设备中为客户机分配存储空间时,通常采用共享文件夹的方式进行发布,存储的数据以文件的形式进行传输,采用CIFS或者NFS等协议

iscsi(iscsi= internet Small Computer System Interface )是由IEETF开发的网络存储标准,目的是为了用IP协议将存储设备连接在一起。通过在IP网上传送SCSI命令和数据,ISCSI推动了数据在网际之间的传递,同时也促进了数据的远距离管理。由于其出色的数据传输能力,ISCSI协议被认为是促进存储区域网(SAN)市场快速发展的关键因素之一。因为IP网络的广泛应用, ISCSI能够在LAN、WAN甚至internet上进行数据传送,使得数据的存储不再受地域的限制。

ISCSI技术的核心是在TCP/IP网络上传输SCSI协议,是指用TCP/IP报文、和ISCSI报文封装SCSI报文,使得SCSI命令和数据可以在普通以太网络上进行传输,如下图:

iSCSI协议定义了在 TCP/IP 网络发送、接收 block(数据块)级的存储数据的规则和方 法。发送端将SCSI命令和数据封装到 TCP/IP 包中再通过网络转发,接收端收到 TCP/IP 包之后,将其还原为SCSI命令和数据并执行,完成之后将返回的SCSI命令和数据再封装到 TCP/IP包中再传送回发送端。而整个过程在用户看来,使用远端的存储设备就像访问本地的 SCSI设备一样简单。

在RHEL6中搭建ISCSI存储服务器:

ISCSI服务器通常也称为Target端,负责定义存储对象、分配逻辑空间LUN(Logical Unit,逻辑单元)。在RHEL6服务器中需要安装scsi-target-utils软件包,对应的系统服务为tgtd,命令行管理工具为tgtadm.

下面依次讲解配置ISCSI的主要过程:准备存储设备、创建ISCSI对象、为客户机分配存储空间,客户机使用ISCSI。

此处所说的存储设备指将要分配给某一个客户机使用的设备文件,在RHEL6系统中,硬盘、分区、逻辑卷、软RAID等都可以用作ISCSI服务的存储设备,为了延续磁盘空间的可扩展性,建议以一个逻辑卷为单位分配给客户机使用,对于个别有特殊要求的客户机,也可以将一个软RAID阵列分配出去。

这里将Target主机一个逻辑卷作为iSCSI共享磁盘,共享给一台linux主机使用。

创建一个逻辑卷,名为lv00,将来分配给客户机使用。如下图所示:

ISCSI服务器配置推荐步骤:

1、在ISCSI存储服务器上安装iscsi target软件包,如下图所示:

2、iscsi target配置文件是/etc/tgt/targets.conf,此文件中的配置项默认全被注示掉了。编辑该文件,实现简单的ISCSI存储服务器配置。在文件尾部添加如下内容:

若要将多个存储设备分配给客户机可以在targets.conf文件中添加多个

<target ……>

……

</target>

注:Target的命名在同一子网内应该是唯一的,标准命名方式为:
iqn.yyyy-mm.<reversed domain name>[:identifier]
其中:

iqn:表示“iSCSI Qualified Name”,简称iqn。
yyyy-mm:表示年份-月份。这里是2011-08。
 reversed domain name:表示倒过来的域名,这里是com.example。
 identifier:表示识别代码,这里是disk

backing-store用于指定存储设备,一般指非实际的物理磁盘,如LVM卷、某个分区、raid磁盘阵列。

initiator-address 地址   用于将target指派给指定的客户机使用。

然后启动tgtd服务,并设置系统启动时自动启动,iscsi通信的端口:3260/tcp,以明文传输数据

#service tgtd start

#chkconfig tgtd on

若是ISCSI服务器上开启了防火墙可以将iptables关闭或创建允许规则,如下图所示:

运行tgtadm--lld iscsi --op show --mode target查看target信息

至此,iscsitarget存储服务器配置完成,使用iSCSIInitiator就可以连接iscsi target服务器了。

使用tgtadm工具创建ISCSI对象时,主要命令选项如下所述:

-L,--lld:指定驱动类型,如“-L iscsi”表示ISCSI存储。

-o,--op:指定操作类型,如“-o new”表示创建,“-o delete”表示删除,“-o show”表示查看信息。

-m,--mode:指定管理目标,如“-m target”表示ISCSI对象。

-t,--tid:指定对象ID号,如“-t 1”表示第一个对象。

-T,--targetname:指定ISCSI对象的名称。

在RHEL6上iscsi客户端配置:

1、安装iscsi发起端软件:iscsi-initiator-utils和lsscsi软件包

#service iscsi start

#chkconfig iscsi on

2、查找iscsi服务器上的iscsi目标,即iscsi发现。

执行iscsiadm  -m discovery –t  st –p iscsi服务器的IP

iscsiadm -m discovery -t sendtargets -ptargetIP地址:端口号

若是默认端口3260可以省略不写。

3、登录服务器上的iscsi目标,即iscsi注册

执行iscsiadm-m node -T target名称-p targetIP地址:端口号--login

退出iscsi盘阵

执行iscsiadm-m node -T target名称-p targetIP地址:端口号--logout

4、查看/dev/disk/by-path目录中iscsi符号链接所指向的位置或fdisk-l查看磁盘情况或检查iscsi的状态:service iscsi status或dmesg |tail

此时,可以使用iscsi磁盘,就好像它是本地连接硬盘驱动器。

5、对连接的iscsi磁盘建立LVM并实现自动挂载

未分区前显示sdb信息如下, 执行fdisk-l /dev/sdb查看

 

在ISCSI客户机上执行fdisk /dev/sdb创建LVM类型分区并查看/dev/sdb新建分区后的信息

为了实现磁盘扩容,在客户机上可以将连接的ISCSI磁盘创建为LVM。

在建好的逻辑卷上创建文件系统。

创建挂载点目录并挂载

修改/etc/fstab文件实现自动挂载

执行blkid  /dev/vg_data/lv_data获得逻辑卷lv_data的UUID

修改/etc/fstab文件自动挂载逻辑卷lv_data,如下图所示:

测试自动挂载:mount –a或重启系统后执行df –hT查看挂载情况

注意:

1、  使用blkid确定文件系统UUID并使用UUID挂载,而不是/dev/sd*设备名称。(每次引导时显示的设备名称都不同,具体取决于iscsi设备通过网络进行响应的顺序,如果按设备名称挂载,这会导致使用错误的设备)

2、  在/etc/fstab中使用_netdev作为挂载选项。(这将确保客户端不会尝试挂载文件系统,直至启用联网,否则,在引导时系统将出错)

3、  确保iscsi服务在引导时将启动

#chkconfig  iscsi  on

 

0 0
原创粉丝点击