用VMWare 实现4节点的Lustre 并行文件系统集群

发布于 2022-09-27 18:24:55 字数 9282 浏览 15 评论 0

注:这是我附在某一个讨论线索中作为回贴发出的,这几天在整理本版帖子,发现还是有点用,为了便于大家查找,拖出来单独成贴供大家参考。

用VMWare 实现4节点的Lustre 并行文件系统集群
作者:nntp   最后修改于2006/06/30
==========================================================================

简介: 本文介绍了通过2台物理服务器和vmware系统,虚拟出4个独立的linux服务器实现

环境配置: 2台物理服务器, 4个虚拟节点.

Server1: AMD64 ,  host OS SLES9SP3+errata x86-64 version, vmware server beta(latest build)

             vmware guestOS 1 :  RHEL4U3 x86-64 version     => mds
             vmware guestOS 2 :  RHEL4U3 x86-64 version     => client

             lustre的那些rpm包我装的是X86-64的版本(版本1.4.6)

Server2: Intel dual core EM64T, host OS SLES9SP3+errara x86-64 version,vmware server beta(latest build)

            vmware guestOS 1: RHEL4U3 x86 version    => ost1
            vmware guestOS 1: RHEL4U3 x86 version    => ost1

            lustre的那些rpm包我装的是X86的版本(版本1.4.6)

============================================================================
config.sh 文件内容

#!/bin/sh

# config.sh

# Create nodes
rm -f config.xml
lmc -m config.xml --add net --node node-mds --nid n1 --nettype tcp
lmc -m config.xml --add net --node node-ost1 --nid n3 --nettype tcp
lmc -m config.xml --add net --node node-ost2 --nid n4 --nettype tcp
lmc -m config.xml --add net --node client --nid n2 --nettype tcp

# Cofigure MDS
lmc -m config.xml --add mds --node node-mds --mds mds-test --fstype ldiskfs --dev /tmp/mds-test --size 50000

# Configures OSTs
lmc -m config.xml --add lov --lov lov-test --mds mds-test --stripe_sz 1048576 --stripe_cnt 0 --stripe_pattern 0
lmc -m config.xml --add ost --node node-ost1 --lov lov-test --ost ost1-test --fstype ldiskfs --dev /tmp/ost1-test --size 100000
lmc -m config.xml --add ost --node node-ost2 --lov lov-test --ost ost2-test --fstype ldiskfs --dev /tmp/ost2-test --size 100000

# Configure client (this is a 'generic' client used for all client mounts)
lmc -m config.xml --add mtpt --node client --path /mnt/lustre --mds mds-test --lov lov-test

===============================================================================

所有4个node 的 /etc/hosts 文件内容

[root@n1 ~]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1               localhost
192.168.0.31            n1
192.168.0.32            n2
192.168.0.33            n3
192.168.0.34            n4
===============================================================================
产生xml文件之后,分别scp到每个node的/root目录
===============================================================================
启动OST
root 登陆到ost1,运行 lconf --reformat --node node-ost1 config.xml
root 登陆到ost1,运行 lconf --reformat --node node-ost2 config.xml
root 登陆到mds,运行 lconf --reformat --node node-mds config.xml
root 登陆到client,运行 lconf --node client config.xml

这个时候,在client node 上,用root运行 df -hT 命令, 已经看到 client node的 /mnt/lustre 被mount上了,  
===============================================================================
屏幕信息

启动OST1的时候的屏幕信息
[root@n3 ~]# lconf --reformat --node node-ost1 config.xml
loading module: libcfs srcdir None devdir libcfs
loading module: lnet srcdir None devdir lnet
loading module: ksocklnd srcdir None devdir klnds/socklnd
loading module: lvfs srcdir None devdir lvfs
loading module: obdclass srcdir None devdir obdclass
loading module: ptlrpc srcdir None devdir ptlrpc
loading module: ost srcdir None devdir ost
loading module: ldiskfs srcdir None devdir ldiskfs
loading module: fsfilt_ldiskfs srcdir None devdir lvfs
loading module: obdfilter srcdir None devdir obdfilter
NETWORK: NET_node-ost1_tcp NET_node-ost1_tcp_UUID tcp n3
OSD: ost1-test ost1-test_UUID obdfilter /tmp/ost1-test 100000 ldiskfs no 0 0
OST mount options: errors=remount-ro
[root@n3 ~]#

启动OST2的屏幕信息
[root@n4 ~]# lconf --reformat --node node-ost2 config.xml
loading module: libcfs srcdir None devdir libcfs
loading module: lnet srcdir None devdir lnet
loading module: ksocklnd srcdir None devdir klnds/socklnd
loading module: lvfs srcdir None devdir lvfs
loading module: obdclass srcdir None devdir obdclass
loading module: ptlrpc srcdir None devdir ptlrpc
loading module: ost srcdir None devdir ost
loading module: ldiskfs srcdir None devdir ldiskfs
loading module: fsfilt_ldiskfs srcdir None devdir lvfs
loading module: obdfilter srcdir None devdir obdfilter
NETWORK: NET_node-ost2_tcp NET_node-ost2_tcp_UUID tcp n4
OSD: ost2-test ost2-test_UUID obdfilter /tmp/ost2-test 100000 ldiskfs no 0 0
OST mount options: errors=remount-ro
[root@n4 ~]#

启动MDS的屏幕信息

[root@n1 ~]# lconf --reformat --node node-mds config.xml
loading module: libcfs srcdir None devdir libcfs
loading module: lnet srcdir None devdir lnet
loading module: ksocklnd srcdir None devdir klnds/socklnd
loading module: lvfs srcdir None devdir lvfs
loading module: obdclass srcdir None devdir obdclass
loading module: ptlrpc srcdir None devdir ptlrpc
loading module: mdc srcdir None devdir mdc
loading module: osc srcdir None devdir osc
loading module: lov srcdir None devdir lov
loading module: mds srcdir None devdir mds
loading module: ldiskfs srcdir None devdir ldiskfs
loading module: fsfilt_ldiskfs srcdir None devdir lvfs
NETWORK: NET_node-mds_tcp NET_node-mds_tcp_UUID tcp n1
MDSDEV: mds-test mds-test_UUID /tmp/mds-test ldiskfs no
recording clients for filesystem: FS_fsname_UUID
Recording log mds-test on mds-test
LOV: lov_mds-test 4f3bf_lov_mds-test_f34d7ba738 mds-test_UUID 0 1048576 0 0 [u'ost1-test_UUID', u'ost2-test_UUID'] mds-test
OSC: OSC_n1_ost1-test_mds-test 4f3bf_lov_mds-test_f34d7ba738 ost1-test_UUID
OSC: OSC_n1_ost2-test_mds-test 4f3bf_lov_mds-test_f34d7ba738 ost2-test_UUID
End recording log mds-test on mds-test
MDSDEV: mds-test mds-test_UUID /tmp/mds-test ldiskfs 50000 no
MDS mount options: errors=remount-ro
[root@n1 ~]#

启动client 的屏幕信息

[root@n2 ~]# lconf --node client config.xml
loading module: libcfs srcdir None devdir libcfs
loading module: lnet srcdir None devdir lnet
loading module: ksocklnd srcdir None devdir klnds/socklnd
loading module: lvfs srcdir None devdir lvfs
loading module: obdclass srcdir None devdir obdclass
loading module: ptlrpc srcdir None devdir ptlrpc
loading module: osc srcdir None devdir osc
loading module: lov srcdir None devdir lov
loading module: mdc srcdir None devdir mdc
loading module: llite srcdir None devdir llite
NETWORK: NET_client_tcp NET_client_tcp_UUID tcp n2
LOV: lov-test e0002_lov-test_a77190f32b mds-test_UUID 0 1048576 0 0 [u'ost1-test_UUID', u'ost2-test_UUID'] mds-test
OSC: OSC_n2_ost1-test_MNT_client e0002_lov-test_a77190f32b ost1-test_UUID
OSC: OSC_n2_ost2-test_MNT_client e0002_lov-test_a77190f32b ost2-test_UUID
MDC: MDC_n2_mds-test_MNT_client 96c98_MNT_client_1567f4dc95 mds-test_UUID
MTPT: MNT_client MNT_client_UUID /mnt/lustre mds-test_UUID lov-test_UUID

检查 client node  文件系统加载情况

[root@n2 ~]# df -hT
Filesystem    Type    Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
              ext3    4.1G  3.0G  920M  77% /
/dev/sda1     ext3     99M   14M   80M  15% /boot
none         tmpfs    187M     0  187M   0% /dev/shm
config lustre_lite    190M  8.5M  171M   5% /mnt/lustre
[root@n2 ~]#

[ 本帖最后由 nntp 于 2006-7-1 00:21 编辑 ]

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

披肩女神 2022-10-04 18:24:55

真是不错,要是图文并茂就更好了。

情何以堪。 2022-10-04 18:24:55

找个时间试试~~.

墨洒年华 2022-10-04 18:24:55

原帖由 chinesecai 于 2006-7-1 11:50 发表
真是不错,要是图文并茂就更好了。

你可以动手做完后,把图补上.

染火枫林 2022-10-04 18:24:55

作个记号,明天试试!

空城仅有旧梦在 2022-10-04 18:24:55

楼主装的是哪个版本的lustre?1.4.6.1还是???
楼主有尝试做failover么?

翻身的咸鱼 2022-10-04 18:24:55

呵呵。很好噢。

勿忘初心 2022-10-04 18:24:55

啊,就做4个节点了,俺两个节点有点问题,向牛人请教:
我安装完oracle cluster软件后的状态
-bash-3.00$ ./crs_stat -t
Name           Type           Target    State     Host        
------------------------------------------------------------
ora.db1.gsd    application    ONLINE    ONLINE    db1         
ora.db1.ons    application    ONLINE    ONLINE    db1         
ora.db1.vip    application    ONLINE    ONLINE    db1         
ora.db2.gsd    application    ONLINE    ONLINE    db2         
ora.db2.ons    application    ONLINE    ONLINE    db2         
ora.db2.vip    application    ONLINE    ONLINE    db2   

-bash-3.00$ olsnodes -n
db1     1
db2     2
-bash-3.00$ ls -l /etc/init.d/init.*
-r-xr-xr-x  1 root root  1951 Jul 23 22:09 /etc/init.d/init.crs*
-r-xr-xr-x  1 root root  4721 Jul 23 22:09 /etc/init.d/init.crsd*
-r-xr-xr-x  1 root root 35401 Jul 23 22:09 /etc/init.d/init.cssd*
-r-xr-xr-x  1 root root  3197 Jul 23 22:09 /etc/init.d/init.evmd*

完后安装oracle 软件无法选节点,只能装单机,偶不是很明白,请赐教....

别挽留 2022-10-04 18:24:55

楼上这个是啥意思?

另外,请问nntp:
1,--dev /tmp/mds-test --size 50000  这个是什么意思?
2,lmc -m config.xml --add lov --lov lov-test --mds mds-test --stripe_sz 1048576 --stripe_cnt 0 --stripe_pattern 0
这句中的--stripe_sz 1048576 --stripe_cnt 0 --stripe_pattern 0也没看明白。
3,很明显,这个例子并没说明它并行实际实现,只能算是一个练习。我想ost1和ost2应该分区和为df -h看到的值,这个理解应该是正确的吧?

我刚看完lustre howto,跟multiple nodes例子一样,所以只能请教了。
我明天会去看看mannul,也许到时候可以得到释疑。

lustre文件系统,我初步有了一些印象。
1.mds相当于一个 调度器,为了实现冗余,应该这里做双机(HA),lustre肯定有实现。
2,ost相当于GFS的GNDB servers,它是实际负责IO的服务器。

一个理想的结构应该如下:
         storage1        storage2
                   |                    |
                  ----fc switch---
                            |
             __________________
            |       |        |         |       |
           ost1  ost2 ost3    ost4  ost5
            |        |       |         |        |
            ___________________  
                              | ethernet Gb
                ------------------------
                  |                    |
                mds1  (HA)  mds2
                   |                    |
    -------------------------------------------------
    |        |          |           |         |                |
  client1 client2 client3 client4 client5 ....clientn

七颜 2022-10-04 18:24:55

ost  上面一层还应可以考虑lvm2等实现动态分区调整(也许在lustre文件层可以调整)。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文