由于工作需要,我打算配置一个分布式文件系统集群,主要用samba来做备份,即廉价,又无单点故障。
经过一番调研,最终决定使用lustre,lustre的分布式架构分了五个角色,mds/mdt/oss/ost/client,mds即元数据服务器,它会连接多个mdt,oss即chunkserver,,它会连接至多8个ost,client就是客户端啦
以下是安装配置过程
安装过程参考了以下文章,在此表示感谢!
http://rainbird.blog.51cto.com/211214/198619 http://wiki.lustre.org/index.php/Main_Page,但下载还是在sun的网站,在sun下载东西必须要登录,如果你没有账户那就要注册一个了,呵呵
由于我使用的操作系统是CentOS5.2 32位CPU,所以我选择的是Red Hat Enterprise Linux 5,i686,下载以下几个文件(注:下载时间不同,版本好可能有差异)
e2fsprogs-1.41.6.sun1-0redhat.rhel5.i386.rpm
kernel-2.6.18-164.11.1.el5_lustre.1.8.2.i686.rpm
lustre-1.8.2-2.6.18_164.11.1.el5_lustre.1.8.2.i686.rpm
lustre-client-1.8.2-2.6.18_164.11.1.el5_lustre.1.8.2.i686.rpm
lustre-client-modules-1.8.2-2.6.18_164.11.1.el5_lustre.1.8.2.i686.rpm
lustre-ldiskfs-3.0.9-2.6.18_164.11.1.el5_lustre.1.8.2.i686.rpm
lustre-modules-1.8.2-2.6.18_164.11.1.el5_lustre.1.8.2.i686.rpm
如果你的操作系统版本刚好和这几个rpm包匹配,那么恭喜你,你可以直接强制安装这几个包,用以下命令
|
rpm -ivh -aid --force *.rpm |
|
由于我手上的CentOS版本是5.2不够新,我又懒得下载那好几百兆的文件升级,在我运行这个命令后,得到如下提示
|
ecryptfs-utils < 44 conflicts with kernel-2.6.18 |
|
这个的意思是说,要安装打过patch的kernel,ecryptfs-utils的版本必须大于44,于是先更新ecryptfs-utils这个软件包
输入如下指令
|
yum update ecryptfs-utils |
|
升级完ecryptfs-utils,就可以重新敲刚才的命令了,一切顺利,安装完毕,下面开始配置部分
测试环境使用了3台centos,一台用作mds(192.168.0.101),两台用作ost和client(192.168.0.102/103),所有计算机上均配置两块硬盘,hda装系统,hdb用于存放数据
mds上配置如下命令:
|
modprobe lustre #内核加载lustre模块 |
modprobe ldiskfs #内核加载ldiskfs模块 |
modprobe lnet network=tcp0(eth0) #绑定网卡 |
mkfs.lustre --fsname=test --mdt --reformat --mgs /dev/hdb #在第二块硬盘上创建lustre格式分区 |
mkdir /home/lustre #创建目录 |
mount.lustre /dev/hdb /home/lustre #把lustre分区挂载到本地文件夹 |
|
oss上配置如下命令:
|
modprobe lustre #内核加载lustre模块 |
modprobe ldiskfs #内核加载ldiskfs模块 |
modprobe lnet network=tcp0(eth0) #绑定网卡 |
mkfs.lustre --fsname=test --reformat --ost <a href="mailto:--mgsnode=192.168.0.101@tcp0">--mgsnode=192.168.0.101@tcp0</a> /dev/hdb #创建lustre分区并绑定到mdt |
mkdir /home/lustre #创建目录 |
mount.lustre /dev/hdb /home/lustre #把lustre分区挂载到本地文件夹 |
mkdir /home/client #创建目录 |
mount.lustre <a href="mailto:192.168.0.101@tcp0:/test">192.168.0.101@tcp0:/test</a> /home/client #把lustre分布式文件系统挂载到客户端使用 |
|
好了,大功告成,接下来配置需要的服务使用这个client文件夹就可以啦
以后再写mdt的冗余问题,目前的配置,还存在一个mdt的单点故障
(责任编辑:IT) |