测试机器安装了4块2T硬盘,一块320G硬盘,利用320G硬盘安装CentOS 7系统,在CentOS 7系统上利用4块2T硬盘组建Raid 0,再配置iSCSI存储。注意,本文中的RAID指的是软RAID。虽然软件RAID有着不如硬RAID高效且依赖CPU性能等弱点,但成本低廉、搭建简易也是其不得不说的优势。对于一般的文件服务器来说,软RAID还是足够的。
一、RAID是什么
• Redundant Arrays of Independent Disks:独立冗余磁盘阵列
• 磁盘阵列是由很多价格较便宜的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上。
• 二、 RAID的几种典型工作模式
• RAID级别的选择有三个主要因素:可用性(数据冗余)、性能和成本。如果不要求可用性,选择RAID0以获得最佳性能。
• 1.RAID 0:RAID 0没有冗余或错误修复能力,成本低,磁盘利用率、读写性能最高。要求至少两个磁盘,一般只是在那些对数据安全性要求不高的情况下才被使用。
• 2.RAID 1 (又称为Mirror或Mirroring--镜像):把一个磁盘的数据镜像到另一个磁盘上,在不影响性能情况下最大限度的保证系统的可靠性和可修复性上,具有很高的数据冗余能力,但磁盘利用 率为50%,故成本最高,多用在保存关键性的重要数据的场合。RAID 1的操作方式是把用户写入硬盘的数据百分之百地自动复制到另外一个硬盘上。适用于存放重要数据,如服务器和数据库存储等领域。
• 3. RAID 5 (可以理解为是RAID 0和RAID 1的折衷方案):需要的磁盘数:三个或更多。读性能:高;随机写性能:低;连续写性能:低。可用容量:(n-1)/n的总磁盘容量(n为磁盘数)。典型应用:随机数据传输要求安全性高,如金融、数据库、存储等。
• 4.RAID10:集合了RAID0,RAID1的优点,但是空间上由于使用镜像,而不是类似RAID5的“奇偶校验信息”,磁盘利用率一样是50%
• RAID10和RAID5也是经常用来比较的两种方案,二者都在生产实践中得到了广泛的应用。 RAID10安全性更高,但是空间利用率低。至于读写性能,与cache有很大关联,最好根据实 际情况测试比较选择。
3、ISCSI介绍
• ISCSI=Internet Small Computer System Interface。互联网小型计算机系统接口
• iSCSI是一种在Internet协议网络上,特别是以太网上进行数据块传输的标准,是一种集成了IP和SCSI的技术。它最大的特点就是让标准的SCSI命令能够在TCP/IP
网络上的主机系统(启动器)和存储设备(目标)之间传送。
• 工作流程:
• Initiator <--> SCSI <--> ISCSI <--> TCP/IP <======> TCP/IP <--> ISCSI <--> SCSI <-->
Target
• iSCSI这个架构主要是将存储设备与使用主机分为两部分,分别是:
iSCSI target:就是存储设备提供端,存放磁盘或RAID的设备
iSCSI initiator:就是使用target的客户端,想要连接到iSCSI target的服务器,也需要安装iSCSI initiator的相关功能后才能够使用iSCSI target提供的磁盘。
4、配置Raid 0
• fdisk -l (查看所有连接在主机上的硬盘),查看到需要组建Raid
的4个硬盘是sda、sdb、sdc、sdd
• 创建Raid:
#mdadm -C /dev/md127 -l 0 -n 4 /dev/sd{a,b,c,d}
#cat /proc/mdstat(或者mdadm -D /dev/md127)查看Raid信息
5、配置LVM
要配置LVM,可以按以下步骤进行:
1. 创建和初始化物理卷(Physical Volume),通过pvcreate建立pv,即pv阶段;
2. 添加物理卷到卷组(Volume Group),使用vgcreate加入多个pv成为vg,即vg阶段;
3. 在卷组上创建逻辑卷(logical volume),使用lvcreate划分vg,成为一个或多个lv,即lv阶
段;
# pvcreate /dev/md127 #创建PV
Physical volume "/dev/md127" successfully created
# vgcreate iscsi /dev/md127 #创建VG
Volume group "iscsi " successfully created
# lvcreate iscsi -L 2TB -n disk1 #创建LV
# lvcreate iscsi -L 2TB -n disk2 #创建LV
# lvcreate iscsi -L 2TB -n disk3 #创建LV
# lvcreate iscsi -L 1200G -n disk4 #创建LV
• 4. # vgdisplay iscsi
#查看VG信息
• # lvdisplay iscsi
#查看LV信息
• 到这里,LVM配置完成。注意:由于要将LV挂载到iscsi,所以,在这里不必格式化,也不必将LV挂载到系统中
6、配置ISCSI Target(一)
#yum install targetcli -y
#targetcli
ls
一、使用cd命令改变目录到 /backstores/block 并且创建你要提供给 LUN的块设备或分区, 例如:
cd /backstores/block
/backstores/block>create name=block1 dev=/dev/iscsi/disk1
/backstores/block>create block2 /dev/iscsi/disk2
/backstores/block>create block3 /dev/iscsi/disk3
/backstores/block>create block4 /dev/iscsi/disk4
存储对象的name=是任意的,可以随便设置
二、使用cd命令改变目录到 /iscsi 并且创建 iSCSI target:
cd /iscsi
/iscsi/create iqn.2016-08.com.onecloud.qa:target1
三、使用cd切换到TPG directory的子目录luns 中并添加luns的目标门户组
cd iqn.2016-08.com.onecloud.qa:target1/tpg1/luns
/iscsi/iqn.20...target1/tpg1/luns> create /backstores/block/block1
/iscsi/iqn.20...target1/tpg1/luns> create /backstores/block/block2
/iscsi/iqn.20...target1/tpg1/luns> create /backstores/block/block3
/iscsi/iqn.20...target1/tpg1/luns> create /backstores/block/block4
• 四、切换到TGP目录并设置发起端的访问策略 例如, 配置演示模式,不需要
认证
• /iscsi/iqn.20.../tpg1> set attribute authentication=0 demo_mode_write_protect=
0 generate_node_acls=1 cache_dynamic_acls=1
• 五、切换到根目录保存配置,这样重启后配置依然生效:
• /> set global auto_save_on_exit=false
• /> saveconfig
以后不想用了,移除也很简单:
vgremove ...
vgremove iscsi
vgchange -a n
mdadm -S /dev/md127