从今天开始,我准备花多个篇幅,介绍和整理关于软件定义存储相关的内容。把我之前研究和使用过的软件定义存储相关的工具记录下来,分享给大家。希望能帮助到有需要的朋友。
在软件定义存储方面,做的比较好的主要就是EMC公司的ScaleIO和ViPR这两个工具软件。我这里先从ScaleIO来说起,今天先整理ScaleIO部署在CentOS主机,并对CentOS本地存储进行管理的相关内容。下一篇介绍SceleIO在VMware环境下的部署和使用。
一、简介
1.1什么是软件定义存储
软件定义存储 (SDS) 是一种能将存储软件与硬件分隔开的存储架构。通过将存储软件与硬件分离,您可以根据需求扩展您的存储能力,而不是仓促地添置专有硬件。
1.2软件定义存储优点
与传统硬件存储和管理方式相比,软件定义存储有以下几方面优势:
1. 可以自行选择运行存储服务的硬件,老旧设备可再利用
2. 节省新购设备开支,经济高效
3. 可以加入数据源,构建自己的存储基础架构
4. 可以根据容量需求自动进行调整,动态扩展
1.3什么是ScaleIO
ScaleIO 是EMC公司的SDS产品,可以免费下载在非生产环境中使用,那么这种使用方式是得不到官方支持的。如果是在生产环境中使用,并希望得到厂商支持,是需要根据流量和存储空间进行收费。
二、ScaleIO在CentOS环境下部署和搭建
2.1、安装ScaleIO Gateway
Gateway我这里选择windows版本,部署在windows 2008 R2系统环境下
(1)安装jdk1.7 64位
(2)安装ScaleIO Gateway,获取安装文件EMC-ScaleIO-gateway-1.32-1xxx.x-x64.msi
(3)双击安装后,设置登陆密码:123456(自己配置) ,gateway默认登陆账号:admin
2.2、安装配置ScaleIO环境
(1)ScaleIO Gateway安装完成后,浏览器输入https://localhost/进入Installation Manager/Gateway server,以admin账号登陆。
(2)成功登陆后, packages->Browse->选择所有ScaleIO的安装包(CenterOS环境选择ScaleIO_1.32.2_RHEL6_Download相关的安装包)->upload->选中后proceed to install。
(3)跳转到install页面后,点击Installation wizard
(4)跳转到安装配置页面,首先配置MDM和LIA密码,密码都是123456(自己配置)。勾选license,配置Topology内容,这里需要配置至少3个ip地址(部署ScaleIO环境最少需要3台主机),这3个台主机为CentOS主机,并配置root账号密码。选择Start Installation开始安装。
(5)跳转到monitor标签,可以看到安装情况。安装完一个流程后,按提示选择“Abort”左侧的按钮,进行下一步安装。
(6)全部安装部署完成后,显示Completed Install Operation。如果有出现Failed选项,选择继续安装,可以重新安装失败的选项。
2.3、安装ScaleIO GUI
GUI这里也安装在windows环境下,Windows 安装需要Java 1.7或更高版本,且最小分辨率为 1366 x 768。
(1)运行EMC-ScaleIO-gui-1.32-1xxx.x.msi进行安装
(2)运行GUI程序,Start the GUI (Start > Programs> EMC ScaleIO GUI)
(3)输入MDM安装节点的ip/用户/密码,登陆成功
2.4、给ScaleIO环境添加Device
(1)在Backend->By SDSs->选择添加Device的主机,选择Add Device
(2)在弹出的界面中,添加device的路径,创建一个名字。(注意,device为未被使用的存储)
(3)ScaleIO环境,需要之三3个在不同SDS节点的device组成,才能进行后续的voloume划分。所以对不同SDS节点,进行上述步骤进行再进行device添加。
2.5、volume划分和挂载
(1)远程登录工具连接MDM节点,连接成功后登陆MDM
scli --login --username admin --password 123456
(2)划分volume,其中2048为2T大小,volume1,domain1,pool1为之前创建ScaleIO环境时的配置
scli --add_volume --size_gb 2048 --volume_name volume1 --protection_domain_name domain1 --storage_pool_name pool1
(3)以共享方式挂载volume在多个节点,volume1为刚刚划分的volume名,两个IP为需要同时挂载的两台不同主机,--allow_multi_map参数表示此volume1允许共享方式挂载
scli --map_volume_to_sdc --volume_name volume1 --sdc_ip 26.47.136.252 --allow_multi_map
scli --map_volume_to_sdc --volume_name volume1 --sdc_ip 26.47.136.253 --allow_multi_map
(4)挂载完成后,ScaleIO GUI中可以看到Volumes中已经Mapped的数量。
(5)scli --query_all命令,可以查看已经安装的节点和存储
(6)把卷mapped到SDC后,到MDM节点进行挂载
执行 ls -l /dev/disk/by-id/ | grep scini命令,查看当前已经创建的卷信息
[root@localhost mnt_scinia]# ls -l /dev/disk/by-id/ |grep scini
lrwxrwxrwx. 1 root root emc-vol-6abfca7530ba5c1c-2d864f9900000001 -> ../../scinib
(7)创建文件系统
mkfs.ext4 /dev/disk/by-id/emc-vol-6abfca7530ba5c1c-2d864f9900000001
(8)创建挂载文件夹
mkdir /mnt_scinia
(9) 把文件系统挂载在指定文件夹下
mount /dev/disk/by-id/emc-vol-6abfca7530ba5c1c-2d864f9900000001 /mnt_scinia
5 ) 查看挂载后的情况
[root@localhost mnt_scinia]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root 50G 5.6G 42G 12% /
tmpfs 7.7G 288M 7.5G 4% /dev/shm
/dev/sda2 485M 39M 421M 9% /boot
/dev/sda1 200M 264K 200M 1% /boot/efi
/dev/mapper/VolGroup-lv_home 493G 198M 467G 1% /home
/dev/scinib 71G 3.3G 65G 5% /mnt_scinia
2.6、运行测试
检查安装后运行情况,测试FTP上传文件后,可以看到3个服务器磁盘都有I/O活动:
OK搞定!