Chinaunix首页 | 论坛 | 博客
  • 博客访问: 45529
  • 博文数量: 6
  • 博客积分: 1425
  • 博客等级: 上尉
  • 技术积分: 70
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-27 21:15
文章分类

全部博文(6)

文章存档

2010年(3)

2009年(3)

我的朋友

分类: LINUX

2009-12-27 22:47:09

  一、描述:部署基于IP网络GNBD方案GFS
 
  二、环境:三台采用centos 5.2 x64 的系统,采用PXE方式安装,各有一块8G系统硬盘,另外对gfs服务端增加两块8G硬盘。
 
  三、IP配置:
    GFS服务端:10.0.70.51
    GFS服务端/客户端:10.0.70.41
    GFS客户端:10.0.70.61
  四、安装软件:
     
    涉及软件:
 
  kmod-gfs.x86_64                          0.1.23-5.el5           installed       
  kmod-gfs-xen.x86_64                      0.1.23-5.el5           installed       
  kmod-gfs2.x86_64                         1.92-1.1.el5           installed       
  kmod-gfs2-xen.x86_64                     1.92-1.1.el5           installed       
  gfs-utils.x86_64                         0.1.17-1.el5           base            
  gfs2-utils.x86_64                        0.1.44-1.el5           base 
  gnbd.x86_64                              1.1.5-1.el5            installed       
  kmod-gnbd.x86_64                         0.1.4-12.el5           installed       
  kmod-gnbd-xen.x86_64                     0.1.4-12.el5           installed 
  lvm2-cluster.x86_64                      2.02.32-4.el5          base
 
    安装命令:
 
    yum -y install gfs* kmod-gfs* gnbd* kmod-gnbd*
 
 
  五、配置步骤
  
  1、检查先决条件
    在编译时,将GFS编译为可加载模块,所以在使用时,首先要加载GFS模块。加载模块命令如下:
 
    #modprobe nolock
  
    在加载gfs模块之前首先要加载nolock模块,因为gfs依赖于nolock模块
  
    #modprobe gfs
  
    编译时,GFS文件系统是以可插入模块方式编译的,所以用此命令加载gfs模块。
 
    内核加载了对GFS文件系统的支持模块后,接下来是创建一个GFS文件系统,使用GFS工具创建GFS文件系统
 
  2创建GFS文件系统
  
  命令说明:
 
  gfs_mkfs -p LockProtoName -t LockTableName -j Number BlockDevice
  LockProtoName:锁协议,其值有:
  lock_dlm标准协议
  lock_gulm 早期版本使用
  lock_nolock建立本地gfs系统时使用
 
  创建过程:
 
  [root@10_0_70_51 /sbin]# ./mkfs_gfs -j 5 /dev/sdb1 -p nolock
  Device: /dev/sdb1
  Blocksize: 4096
  Filesystem Size: 177484
  Journals: 5
  Resource Groups: 10
  Locking Protocol:
  Lock Table:
  Syncing...
  All Done
  [root@10_0_70_51 /sbin]#
  
  说明:将分区/dev/sdb1格式化为gfs文件系统,在本分区内保存日志记录。
  
  3、加载GFS文件系统
 
  格式化完成后,下来是加载GFS文件系统
    使用方法:mount -t gfs BlockDevice MountPoint -o option
 
  # mount -t gfs /dev/sdb1 /gfs ##说明:将GFS分区加载到/gfs目录下
  GFS: Trying to acquire journal lock 0
  GFS: Trying at journal 0
  GFS: Done
  以上表示成功mount
  改写/etc/fstab文件,可以让机器启动以后自动加载GFS文件系统加以下内容:
  /dev/sdb1 /gfs default 0 0
  
  六、GNBD (Global Network Block Device)全局网络块设备配置
 
  GNBD由服务端和客户端两部分组成,GNBD服务接点从自己的块存储设备中输出块级别存储到一个gfs接点
 
  1、配置GNBD的命令
 
  #gnbd_export   gnbd服务端创建,输出,管理gnbds
  #gnbd_import   在客户端实现输入和管理gnbds
 
  2、启动gnbd服务:
 
  #gnbd_serv
  启动成功后显示如下信息:
 
  gnbd_serv: startup succeeded
 
  gnbd_export使用方法:
 
  gnbd_export -d pathname -e gnbdname [-c]
  pathname:指定要输出的存储设备
  gnbdname:要被客户端使用的设备名,在整个网络上必须是唯一的但是任意的
  -o:以只读方式输出设备名
  -c:能使用缓存,linux默认不使用
  例:gnbd_export -d /dev/sdb2 -e tgnbd2  -c
 
  3gnbd_import:使用方法:
 
  在使用该命令前,一定要保证gnbd.ko内核模块在接点上已经被加载了,另外,服务端已经要输出块设备.
使用方法:
 
  gnbd_import -i Server
  server:要输入gnbds的主机名或ip地址
   例:gnbd_import -i nodeA
 
   4、性能问题
 
  在一个 gnbd服务接点上运行gfs
  可以在gnbd服务端接点上运行gfs,但性能将受到影响
  且必遵从下面的限制:
  必须让gnbd服务接点上的所有设备都mountgfs文件系统,且没有输出任何其他gnbd设备.
  gnbd服务接点必须一不能使用缓存的模式输出所有的gnbds,切必须是裸设备.必须在一个逻辑设备的顶部运行而不是在raw devices..
 
   6、补充说明
   
   当提示mod缺少信息时候使用命令
 
   #modprobe -l|grep *
   查找是否存在模块,之后运行下面命令注册
 
   #modprobe *
   没有设置集群,上述命令如有提示加”-n”时候,在命令后加“-n”参数;
   GNBD方案经测试性能低于ISCSI方案;

阅读(2412) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~