1.为什么要升级驱动和format Funison IO卡?

驱动版本过低不能使FIO的性能发挥到最佳,新版本的驱动常见一般都会针对硬件的稳定性和性能做优化。

FIO长期处于工作状态难免会出现一些坏块由于坏块的增加导致了ssd卡的性能下降。

如果线上环境不允许也可以只做FIO卡的format操作,format之后会解决坏块的问题也可以在一定程度上提高性能。


2.驱动的升级需要停机操作,整个过程至少需要2-3个小时

在保证业务不受影响的情况下将服务器从线上下线。

停止MySQL或其他数据库的服务。

将数据备份到FIO卡以外的存储上设备上。

删除FIO卡上的磁盘分区,如果使用了LVM卷管理需要删除响应的LV VG PE。

如果swap分区挂载在FIO卡上则需要卸载掉swap分区。

如果只想format FunsionIO卡,不进行驱动升级直接跳转到step6开始


3.工具包要求

3.1. Firmware固件

Funsion IO固件与系统无关,3.2.2的固件如下:

fusion_3.2.2-20121025.ff


3.2. Funsion IO系统内核包

系统内核包要求与操作系统的内核完全匹配,比如RHEL6.3的内核为:2.6.32-279,那么对应的Fusion IO内核包为:

iomemory-vsl-2.6.32-279.el6.x86_64-3.2.2.869-1.0.el6.x86_64.rpm


 注意:该内核包无法安装在其他内核版本的操作系统中。如果您的操作系统内核不是2.6.32-279,请您到http://support.fusionio.com/downloads下载对应版本的内核驱动。

3.3. Funsion IO工具包

Funsion IO的工具包包括:

fio-common-3.2.2.869-1.0.el6.x86_64.rpm
fio-sysvinit-3.2.2.869-1.0.el6.x86_64.rpm
fio-util-3.2.2.869-1.0.el6.x86_64.rpm
libvsl-3.2.2.869-1.0.el6.x86_64.rpm

其中fio-util-3.2.2.869-1.0.el6.x86_64.rpm包含了最主要的用于升级Firmware的工具:/usr/bin/fio-update-iodrive


4. 安装工具包

4.1. Firmware固件

目前提供的 Firmware包,不需要另外安装

4.2. FunsionIO系统内核包

如果系统中存在老版本最好将其卸载后安装新版本

只需要使用rpm –ivh就可以直接安装:

#rpm -ivh iomemory-vsl-2.6.32-279.el6.x86_64-3.2.2.869-1.0.el6.x86_64.rpm

注意:该内核包无法安装在其他内核版本的操作系统中。如果您的操作系统内核不是2.6.32-279,请您到http://support.fusionio.com/downloads下载对应版本的内核驱动。

 4.3. 安装FunsionIO工具包

只需要使用rpm -ivh就可以直接安装

 #rpm -ivh fio-common-3.2.2.869-1.0.el6.x86_64.rpm
 #rpm -ivh fio-sysvinit-3.2.2.869-1.0.el6.x86_64.rpm
 #rpm -ivh fio-util-3.2.2.869-1.0.el6.x86_64.rpm
 #rpm -ivh libvsl-3.2.2.869-1.0.el6.x86_64.rpm


5. 升级Firmware

5.1. detach FunsionIO 卡

如果您的卡并没有attach,那么您可以忽略该步骤

在升级Firmware之前,您首先需要将Fusion IO卡detach如果Fusion IO卡处于mount的状态,您需要首先umount,然后才可以detach。

如果您的Fusion IO卡上已经存在业务数据,为了您的数据安全,建议您先备份好Fusion IO卡上的所有数据,然后umount,并detach该卡。

Detach 第一个FusionIO卡/dev/fct0操作如下:

#fio-detach /dev/fct0

如果有多张卡或者购买的是Io driver Duo卡,对于/dev/fct0, /dev/fct1 …都需要进行detach操作。

正常的话,detach操作输出如下:

# fio-detach /dev/fct0Detaching: [====================] (100%) /
fioa - detached.

5.2. 升级Firmware

升级固件

 # fio-update-iodrive fusion_3.2.2-20121025.fff
WARNING: DO NOT TURN OFF POWER OR RUN ANY IODRIVE UTILITIES WHILE THE FIRMWARE UPDATE IS IN PROGRESS
Please wait...this could take a while
Updating: [====================] (100%)
  Progress
  ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~--
   -  0:  100%
  ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~--
  0: Firmware updated successfully

 

5.3. 重启服务器

 #reboot


5.4. 验证FunsionIO卡的Firmware

# fio-status -a -F iom.driver_version /dev/fct0
3.2.2



6. 格式化FunsionIO卡

在确保fio卡已经被正确的detach之后才能对其进行format操作,detach方法参考5.1的步骤。

如果有多张卡或者购买的是Io driver Duo卡,对于/dev/fct0, /dev/fct1 …都需要进行format操作

 #fio-format /dev/fct0


注意:此处格式化的时候不需要在为FunsionIO卡设置保留空间,厂家已经为fio卡预留了20%的保留空间


7.attach FunsionIO卡

[root@localhost ~~]# fio-attach /dev/fct0
Attaching: [====================] (100%) -
fioa - attached.



8. 创建分区或者lvm卷组

 管理lvm的基础知识可使用方法需要大家提前进行学习


9. 创建文件系统并mount到相应目录

9.1. MySQL的数据分区使用xfs文件系统

mkfs.xfs /dev/vgdata/data (本例使用了lvm卷管理,其他方式对应到相应分区即可)

#vim /etc/fstab 加入相应条目开机后会自动mount分区
/dev/vgdata/data     /data     xfs     rw,noatime,nodiratime,nobarrier     0     2

9.2. 如果swap分区也放到fio卡上需要使用mkswap格式化swap分区 

#mkswap /dev/vgdata/swap
#swapon  /dev/vgdata/swap
#vim /etc/fstab 加入相应条目开机后会自动mount分区
/dev/vgdata/swap     none     swap     rw     0     0


10. 启动MySQL恢复数据


**完**