首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | HR | 镜像
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
搜索中心 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>网络管理>linux服务器>正文

安装大型Linux集群(4):节点安装和 GPFS 集群配置

http://www.oklinux.cn  2007-07-25  IBM   会员收藏  游客收藏  【 】 
您查看的文章来源于http://www.oklinux.cn

  • 设置每台主机上到磁盘的首选路径,使其可以匹配每个 DS4500 上的设置。使用通过 HBA0 看到的奇数编号的数组,以及通过 HBA1 看到的偶数编号的数组。

    第二个修改需要在对存储节点重新安装时手动执行。详细信息在 在存储服务器上定义 HBA 配置 一节中介绍。

  • GPFS 网络调优

    将该示例中提供的几行代码添加到每个节点上的 /etc/sysctl.conf 文件中,用来对 GPFS 网络进行调优。这是通过 CSM 使用的 post-reboot 安装脚本完成的。这个脚本位于 /csminstall/csm/scripts/installpostreboot 目录中,包含以下内容:

    FILE=/etc/sysctl.conf
    
    # Adds lines to /etc/sysctl.conf for GPFS network tuning
    echo "# CSM added the next 8 lines to the post installation script for 
              GPFS network tuning" >> $FILE
    echo "# increase Linux TCP buffer limits" >> $FILE
    echo "net.core.rmem_max = 8388608" >> $FILE
    echo "net.core.wmem_max = 8388608" >> $FILE
    echo "# increase default and maximum Linux TCP buffer sizes" >> $FILE
    echo "net.ipv4.tcp_rmem = 4096 262144 8388608" >> $FILE
    echo "net.ipv4.tcp_wmem = 4096 262144 8388608" >> $FILE
    echo "# increase max backlog to avoid dropped packets" >> $FILE
    echo "net.core.netdev_max_backlog=2500" >> $FILE
    
    # Following lines are not related to GPFS tuning
    echo "# Allow Alt-SysRq" >> $FILE
    echo "kernel.sysrq = 1" >> $FILE
    echo "# Increase ARP cache size" >> $FILE
    echo "net.ipv4.neigh.default.gc_thresh1 = 512" >> $FILE
    echo "net.ipv4.neigh.default.gc_thresh2 = 2048" >> $FILE
    echo "net.ipv4.neigh.default.gc_thresh3 = 4096" >> $FILE
    echo "net.ipv4.neigh.default.gc_stale_time = 240" >> $FILE
    
    # Reset the current kernel parameters
    sysctl -p /etc/sysctl.conf
          

    分发 GPFS 可移植层

    GPFS 可移植层(PL)是内核特有的,必须为集群中的每个操作系统级别单独创建。PL 的作用和为示例集群创建它的过程将在 生成并安装可移植层 一节中详述。CSM 使用 CFM 文件传输工具来管理 PL 二进制文件的分发。将 PL 二进制文件拷贝到管理服务器上的 /cfmroot/usr/lpp/mmfs/bin 目录中,并对文件进行命名,使它们只会分发到相关组中具有特定内核版本的节点上。例如:

    /cfmroot/usr/lpp/mmfs/bin/dumpconv._<nodegroup>
    /cfmroot/usr/lpp/mmfs/bin/lxtrace._<nodegroup>
    /cfmroot/usr/lpp/mmfs/bin/mmfslinux._<nodegroup>
    /cfmroot/usr/lpp/mmfs/bin/tracedev._<nodegroup>
    

    注意在大型集群中,为了减轻 CFM 的负载,可以将这 4 个文件添加到定制 RPM 中,并使用上文介绍的 GPFS RPM 安装方法与 GPFS 一起安装。

    自动将新节点添加到 GPFS 集群中

    简单地安装 GPFS RPMS 和可移植层无法在新安装的节点上挂载并配置 GPFS 集群中的文件系统。在小型集群中,这可以手工进行管理。然而,扩展到更大规模的集群之后,就需要自动化完成这个步骤。这可以通过使用 CSM 的监视功能来完成:监视整个新节点的安装过程,并启动一个脚本在集群中的新节点上配置和挂载 GPFS。

    清单 1 给出了一个示例脚本,可以用来配置 GPFS。您可能需要针对自己的配置对这个脚本稍加修改。清单 1 提供了一些基本内容。这个脚本会接收节点名(由 CSM 监视器传入),将其添加到 GPFS 集群中,并尝试在这个节点上启动 GPFS,这个过程会提供一点错误处理功能。


    清单 1. 配置 GPFS 使用的示例脚本
                    
    #!/bin/bash
    
    # CSM condition/response script to be used as a response to the InstallComplete
    # condition.  This will attempt to add the node to the GPFS cluster, dealing
    # with some common failure conditions along the way.  Only trivial attempts are
    # made at problem resolution, advanced problems are left for manual
    # intervention.
    
    # Note requires the GPFS gpfs-nodes.list file.  This file should contain a list
    # of all nodes in the GPFS cluster with client/manager and
    # quorum/non-quorum details suitable for passing to the mmcrcluster command.
    
    # Output is sent to /var/log/csm/
    
    # Returned error codes:
    # 1 - GPFS is already active
    # 2 - unable to read the gpfs-nodes.list file
    # 3 - node name not present in the gpfs-nodes.list file
    # 4 - node is a quorum node
    # 5 - unable to add node to cluster (mmaddnode failed)
    # 6 - unable to start GPFS on the node (mmstartup failed)
    
    # set this to the location of your node list file
    gpfs_node_list=/etc/gpfs-nodes.list
    # set this to the interface GPFS is using for communication
    gpfs_interface=eth1
    
    PATH=$PATH:/usr/lpp/mmfs/bin # ensure GPFS binaries are in the PATH
    log_file=/var/log/csm/`basename $0`.log # log to /var/log/csm/
    touch $log_file
    
    # Get the node short name as set by RSCT condition ENV var ERRM_RSRC_NAME
    node=`echo $ERRM_RSRC_NAME | cut -d. -f1`
    
    (
    
    [ ! -r "$gpfs_node_list" ] && echo " ** error: cannot read GPFS 
    node list $gpfs_node_list" && exit 2
    
    echo
    echo "--- Starting run of `basename $0` for $node at `date`"
    
    # Is the node a quorum node? If so exit.
    quorum_status=`grep $node $gpfs_node_list | cut -d: -f2 | cut -d- -f2`
    if [ -n "$quorum_status" ]; then
    	if [ "$quorum_status" = "quorum" ]; then
    		echo "** error: this is a quorum node, stopping..."
    		exit 4
    	else
    		node_s=`grep $node $gpfs_node_list | cut -d: -f1`
    	fi
    else
    	echo "** error: could not find node $node in GPFS node list $gpfs_node_list"
    	exit 3
    fi
    
    # Find out if the node is already part of the cluster
    if mmlscluster | grep $node &gt;/dev/null; then
    
    	# check the node status
    	status=`mmgetstate -w $node | grep $node | awk '{print $3}'`
    	if [ "$status" = "active" ]; then
    		echo "** error: this node already appears to have GPFS active!"
    		exit 1
    	fi
    
    	# attempt to remove node from cluster
    	echo "Node $node is already defined to cluster, removing it"
    
    	# attempt to disable storage interface on node
    	if ssh $node $ifdown $gpfs_interface; then
    		mmdelnode $node
    		ssh $node ifup $gpfs_interface
    	else
    		echo "** error: could not ssh to $node, or ifdown $gpfs_interface failed"
    	fi
    fi
    
    # try to add node to GPFS cluster
    if mmaddnode $node; then
    	echo "Successfully added $node to GPFS cluster, starting GPFS on $node"
    	if mmstartup -w $node; then
    		echo "mmstartup -w $node succeeded"
    	else
    		echo "** error: cannot start GPFS on $node, please investigate"
    		exit 6
    	fi
    else
    	echo "** error: could not add $node to GPFS cluster"
    	exit 5
    fi
    
    ) &gt;&gt;$log_file 2&gt;&1
    
    
    共10页: 上一页 [1] [2] [3] 4 [5] [6] [7] [8] [9] [10] 下一页

    上一篇:安装大型Linux集群(3):存储和共享文件系统   下一篇:Linux下kernel使用问题详细讲解

    收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
    相关文档
    ·安装大型Linux集群(3):存储和共享文件系统
    ·安装大型Linux集群(2):配置管理服务器和安装节点
    ·安装大型Linux集群(1): 简介和硬件配置
    ·轻量级 Web 服务器
    ·Apache+Tomcat负载平衡设置方法详细解析
    ·RedHat Linux AS4 LAMP经典网站搭建实例
    ·Cisco网络设备搭建VPN服务器过程
    ·教你在Red Hat Linux 9下架设FTP服务器
    ·Linux下的动态DNS服务配置方法详解
    ·RHEL4系统Sendmail邮件服务器的简单架设
    ·架设基于Linux(2.6内核)的服务器集群
    ·路由器和防火墙软件coyote Linux配置指南
    ·无错版Vsftpd+Mysql+Pam配置虚拟用户方法
    ·Linux服务器前台常出现的错误提示及含意
    ·搭建Linux邮件网关与邮件系统
    ·L.A.M.P 环境配置文档--For CentOS
    发表评论
    密码: 匿名评论
    评论内容:

    (不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
     
      最新文档
    ·利用VSFTP架设Linux环境下的FTP服务器
    ·Linux下安装Apache 2.2.6 笔记
    ·Linux下的主要VPN技术
    ·Linux下Samba服务器搭建实例
    ·用Sendmail在Linux下架设邮件服务器
    ·2009服务器盘点:再见Sun 再见麦克利尼
    ·SUSE 10上做VPN服务器
    ·在Ubuntu 9.10中打造带tdbsam Backend
    ·Ubuntu服务器上SSH Server 的安装配置
    ·Nginx 禁止某个 User_Agent 的方法
    ·Linux-Apache-MySQL-PHP网站架构方案分
    ·Nginx 对某些 User_Agent 进行限速的方
      阅读排行
    ·Linux系统下架设APACHE SVN服务器全过
    ·Linux下用vsftp轻松搭建FTP服务器(修订
    ·防火墙也能DIY----免费的专业级防火墙M
    ·Ubuntu下安装tftp服务器的步骤
    ·Linux 下配置vsftp虚拟用户总结
    ·详解远程SHELL下安装配置RedHat ES 5的
    ·Linux下安装eclipse与myeclipse
    ·Linux DNS Server -bind 9.5.0 安装配
    ·Linux与Linux,Linux与Windows之间使用S
    ·Ubuntu上搭建SVN服务器全攻略
    ·LVS集群学习笔记(NAT\DR\IP tunnel)
    ·Linux下tomcat启动jvm内存设置
    ·Linux shell 中FTP实现自动下载上传文
    ·Linux系统下架设PPTP VPN服务器
    ·Linux系统中下查看内存的方法
    网摘收藏: