zoukankan      html  css  js  c++  java
  • Flashcace安装

    1. 环境说明

    使用的是RHEL5.4的系统:

    $cat /etc/issue
    Red Hat Enterprise Linux Server release 5.4 (Tikanga)
    $uname -a
    Linux myhost 2.6.18-164.el5 #1 SMP Tue Aug 18 15:51:48 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux
    2. 需要的RPM包

    安装基本工具包:rpm-build redhat-rpm-config unifdef。一般情况这三个包都是安装过的,检查一下即可。

    $sudo yum install rpm-build
    Package rpm-build-4.4.2.3-18.el5.x86_64 already installed and latest version
    $sudo yum install redhat-rpm-config
    Package redhat-rpm-config-8.0.45-32.el5.noarch already installed and latest version
    $sudo yum install unifdef
    Package unifdef-1.171-5.fc6.x86_64 already installed and latest version
    3. 下载并安装源码包

    现在的RHEL发行版中,已经不再带源码包,所以需要单独下载,供Flashcache编译使用。

    3.1 准备目录
    [supu@host]$ cd
    [supu@host]$ mkdir -p rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
    [supu@host]$ echo '%_topdir %(echo $HOME)/rpmbuild' > .rpmmacros
    3.2 下载源码包

    可以在ftp://ftp.redhat.com/下载到对应的源码包。这里的内核版本号是:

    $uname -r
    2.6.18-164.el5

    所以需要下载的是kernel-2.6.18-164.el5.src.rpm,完整的URL是:

    ftp://ftp.redhat.com/pub/redhat/linux/enterprise/5Server/en/os/SRPMS/kernel-2.6.18-164.el5.src.rpm

    注:最好选择合适的镜像下载,速度会差很多的。

    3.3 安装源码包

    有了前面的目录准备,现在可以安装源码包了

    sudo rpm -i kernel-2.6.18-164.el5.src.rpm
    cd ~/rpmbuild/SPECS
    rpmbuild -bp --target=`uname -m` kernel-2.6.spec 2> prep-err.log | tee prep-out.log

    OK,这时候源码包就安装到了如下目录:/home/supu/rpmbuild/BUILD/kernel-2.6.18/linux-2.6.18.x86_64

    3.4 准备模块编译

    在源码目录执行如下命令,主备Flashcache模块编译

    cd ~/rpmbuild/BUILD/kernel-2.6.18/linux-2.6.18.x86_64
    make oldconfig
    make prepare
    make modules_prepare
    4. 编译Flashcache

    可以在github上下载Flashcache的源代码,和Linux源码一起编译,编译完成后会生成三个可执行程序和一个可动态加载的内核模块:

    flashcache_create
    flashcache_load
    flashcache_destroy
    flashcache.ko
    4.1 下载并准备编译

    在在github上可以下载到Flashcache最新的源码。这里下载的是flashcache-1.0.11,解压后,有如下目录:

    [supu@host facebook-flashcache-15adea8]$ ls
    doc flashcache-wt LICENSE Makefile README README-CentOS5.4 README-DKMS src

    其中src包含了普通的Flashcache(这里的普通指的是Write-back版本的Flashcache),flashcache-wt包含了Write-Through版本的源码;文件README-CentOS5.4中包含了在RHEL5.4下编译的注意事项,本文主要参考该文件。

    按照README-CentOS5.4中的说明,修改文件src/Makefile,将行EXTRA_CFLAGS(第一行),用如下内容替换:

    EXTRA_CFLAGS=-I$(KERNEL_TREE)/drivers/md -I$(KERNEL_TREE)/include/linux -I./
    注意:这里没有换行。
    4.2 编译之
    make KERNEL_TREE=/home/supu/rpmbuild/BUILD/kernel-2.6.18/linux-2.6.18.x86_64/
    4.3 动态加载模块

    最后需要将模块flashcache.ko加载到内核,这里可以将flashcache.ko拷贝到相应目录:

    sudo cp flashcache.ko /lib/modules/2.6.18-164.el5/kernel/drivers/block

    或者使用insmod命令,动态加载之:

    sudo insmod flashcache.ko

    Job Done! Enjoy!

  • 相关阅读:
    linux系统中如何查看日志 (转)
    php 获取随机字符串(原创)
    php Aes 128位算法
    linux 在线实验
    number随时间随机递增每天 不同 php(原创)
    php 判断字符串包含中文(转)
    同步,异步 阻塞,非阻塞, 异步+回调机制 线程队列 事件Event 丶协程
    线程的理论知识 开启线程的两种方式(Thread) 线程和进程之间的对比 线程的其他方法 守护进程 互斥锁 死锁现象,递归锁 信号量
    获取进程以及父进程的pid 验证进程之间的数据隔离 join方法 进程对象的其他属性 僵尸进程与孤儿进程(存在Linux系统中) 守护进程
    进程基础知识 操作系统 操作系统的发展史(多道技术) 进程介绍 python并发编程之:多进程
  • 原文地址:https://www.cnblogs.com/ylqmf/p/2703898.html
Copyright © 2011-2022 走看看