编译安装lustre1.6.6 + e2fsprogs-1.40.11

简介:
 年前研究lustre编译安装的是1.6.5.1,有些觉得费力气就没有全部编译安装,过年回来,研究了一下lustre  failover 功能发现 他提示我的 e2fsprogs 没有mmp功能让我安装最新版本,这次编译安装遇到很问题,因为以前那种编译安装模式有几个库文件没有安装到 /usr/lib里面所以 我在编译 e2fsprogs 的时候总是出错,在这里我要感谢 lenovo (联想)的工程师 卢亿雷先生,耐心的为我摘错,与指导~好了废话不多说了~
 
os : ubuntu 8.10  64bit
software : linux-2.6.22.tar.bz2  lustre-1.6.6.tar.gz   e2fsprogs-1.40.11.tar.gz  e2fsprogs-1.40.11-sun1-patches.tar.gz
apt-get install   :expect  gcc make quilt  libncurses5-dev  snmpd-dev  libdb4.3-dev
 
安装步骤:
1. 安装需要的一些库文件,与软件
shell $> apt-get install  expect  gcc make quilt  libncurses5-dev  snmpd-dev  libdb4.3-dev
 
2.编译内核
shell $> tar jxvf  linux-2.6.22.tar.bz2 
shell $>tar zxvf  lustre-1.6.6.tar.gz  
shell $>cd linux-2.6.22
shell $> ln -s /usr/src/lustre-1.6.6/lustre/kernel_patches/series/2.6.22-vanilla.series series
shell $> ln -s /usr/src/lustre-1.6.6/lustre/kernel_patches/patches/ patches
shell $> quilt push -av
shell $> quilt refresh                    
##上面这四步是为内核打补丁,下面开始编译内核!
shell $> make clean
shell $>make mrproper
shell $>cp /boot/config-2.6.27-7-server .config 
#这步是拷贝原有的内核配置
shell $>make menuconfig
#自己选上自己需要的,去掉不需要的~
shell $> make
shell $> make modules_install
shell $> make install
shell $> mkinitramfs -o /boot/initrd.img-2.6.22 2.6.22
#创建linux 内核启动信息, 最后边的 2.6.22 是版本号~
3.修改grub.conf
shell $> cd /boot/grub/
shell $> vim menu.lst
#添加以下信息~
title           Ubuntu 8.10, kernel 2.6.22
uuid            1183d584-d824-4cd8-9e96-c9744300de20
kernel          /boot/vmlinuz-2.6.22 root=UUID=1183d584-d824-4cd8-9e96-c9744300de20 ro quiet splash
initrd          /boot/initrd.img-2.6.22
4.从启动系统进入新编译的内核
shell $> reboot
shell $> uname -r
2.6.22
5.编译lustre-1.6.6
shell $> cd lustre-1.6.6
shell $> ./configure --with-linux=/usr/src/linux-2.6.22
shell $> make
shell $> make modules
shell $> make install
shell $> depmod -a
#加载所有模块,并写存入modules.dep列表
6.编译e2fsprogs-1.40.11
shell $> tar zxvf  e2fsprogs-1.40.11.tar.gz 
shell $> tar zxvf  e2fsprogs-1.40.11-sun1-patches.tar.gz
shell $> cd e2fsprogs-1.40.11
shell $> ln -s /usr/src/patches/series series
shell $> ln -s /usr/src/patches  patches
shell $> quilt push -av
shell $> quilt refresh
##以上4步,是为e2fsprogs-1.40.11 打lustre补丁
shell $> ./configure --with-lustre=/usr/src/lustre-1.6.6
shell $> make
shell $> make install
7.测试lustre  failover  是否含有mmp
shell $> vim /etc/hosts
127.0.1.1       mds
192.168.6.2     mds1
##192.168.6.2 是内网一个IP 没有装任何东西,这里只为了测试 failover 功能,在生产##上 mds1也应该 安装 lustre 以及 e2fsprogs的
shell $> mkfs.lustre --reformat --fsname=testfs --mdt --mgs --failnode=mds1 /dev/sdb
##在这里可以看到
##   Permanent disk data:
## Target:     testfs-MDTffff
## Index:      unassigned
## Lustre FS:  testfs
## Mount type: ldiskfs
## Flags:      0x75
##               (MDT MGS needs_index first_time update )
## Persistent mount opts: errors=remount-ro,iopen_nopriv,user_xattr
## Parameters:  failover.node=192.168.6.2@tcp mdt.group_upcall=/usr/sbin/l_getgroups
## device size = 1024MB
## 2 6 22
## formatting backing filesystem ldiskfs . /dev/sdb
##        target name  testfs-MDTffff
##        4k blocks     0
##        options        -i 4096 -I 512 -q -O dir_index,uninit_groups, mmp -F
## mkfs_cmd = mkfs.ext2 -j -b 4096 -L testfs-MDTffff  -i 4096 -I 512 -q -O ##dir_index,uninit_groups, mmp -F /dev/sdb
## 清楚的可以看到 文件系统加入了mmp 功能
shell $> dumpe2fs /dev/sdb |grep features
dumpe2fs 1.40.11.sun1 (17-June-2008)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery  mmp sparse_super large_file uninit_groups
好了OK 下面在做一个MDS OST 吧~~


本文转自Deidara 51CTO博客,原文链接:http://blog.51cto.com/deidara/128550,如需转载请自行联系原作者
相关文章
|
存储 Linux
btrfs中文件系统扩展属性xattr的实现
介绍Linux中文件系统扩展属性xattr特性的基本概念,btrfs文件系统的基本结构以及对xattr特性的实现方式。
319 1
btrfs中文件系统扩展属性xattr的实现
|
Ubuntu Linux RDMA
beegfs客户端编译以支持RDMA
beegfs客户端有些时候需要针对ofed版本进行单独的编译
710 0
|
3月前
|
存储 人工智能 安全
函数计算进化之路:AI Sandbox 新基座
AI Agent Sandbox 是应对 AI 代理自主性风险的关键技术,提供安全隔离环境以执行代码、交互应用和处理敏感数据。它解决了三大挑战:隔离与安全、状态管理与成本、可扩展性与运维。阿里云函数计算凭借物理隔离架构、Serverless 弹性与成本优势,结合会话亲和、隔离及存储安全等创新能力,成为 AI Agent Sandbox 的理想运行时平台,助力 AI 技术安全落地与商业化发展。
|
Linux Android开发 编解码
VLC播放RTSP视频延迟问题
之前写过一篇关于在Linux平台上编译Android平台上VLC播放器源代码的文章,vlc这款播放器非常优秀而且是开源的,它的核心是开源视频编解码库ffmpeg。而且这款播放器还支持RTSP协议,这个主要是用开源的live555来实现的,live555这个库以后还需要认真研习。
5713 0
|
项目管理 vr&ar 图形学
怎么将两个模型合并成一个?
当你需要将多个3D模型组合为一个整体,简化管理、提高渲染性能或实现特定的效果时,合并模型是一个有用的工具和技术。
716 1
|
Ubuntu
Ubuntu禁止内核自动更新
通过上述步骤,您可以在Ubuntu系统中有效地禁用内核的自动更新。这些步骤包括锁定内核版本、禁用自动更新配置、移除不需要的内核包以及禁用相关的自动更新服务。这样可以确保系统在内核层面保持稳定,避免因内核自动更新导致的不必要问题。
2986 1
|
算法 安全 数据安全/隐私保护
TLS 1.3 相比 TLS 1.2 在性能上有哪些提升
TLS 1.3 相比 TLS 1.2 在性能上有哪些提升
557 4
|
机器学习/深度学习 存储 弹性计算
ECS是什么?
ECS(Elastic Compute Service)是一种提供弹性和可伸缩的计算能力的服务,通常由云服务提供商如阿里云和华为云提供。它允许用户根据需要快速扩展或缩减计算资源,以满足不同业务场景的需求
3918 0