mfs

安装

yum install moosefs-cgi-3.0.97-1.rhsysv.x86_64.rpm moosefs-cgiserv-3.0.97-1.rhsysv.x86_64.rpm moosefs-master-3.0.97-1.rhsysv.x86_64.rpm -y

编辑配置文件

cd /etc/mfs/
vim mfsmaster.cfg
# name of process to place in syslog messages (default is mfsmaster)
# SYSLOG_IDENT = mfsmaster

SYSLOG_IDENT默认为mfsmaster,若不想使用默认可自行更改
SYSLOG_IDENT默认为mfsmaster
主机名解析

vim /etc/hosts
172.25.31.1 mfsmaster

开启服务

/etc/init.d/moosefs-master start
netstat -antlup

端口
开启服务

/etc/init.d/moosefs-cgiserv start
netstat -antlup | grep 9425

netstat -antlup | grep 9425

在server2上(server3和server2做同样的操作)

yum install moosefs-chunkserver-3.0.97-1.rhsysv.x86_64.rpm -y

编辑配置文件

vim /etc/mfs/mfshdd.cfg
在最后一行加上
/mnt/chunk1

创建目录修改权限

mkdir /mnt/chunk1
chown mfs.mfs /mnt/chunk1

添加主机名解析

vim /etc/hosts
172.25.31.1 mfsmaster

开启服务

/etc/init.d/moosefs-chunkserver start

访问http://172.25.31.1:9425查看
访问网页查看

在客户端测试(客户端ip:172.25.31.250)
安装客户端

yum install -y moosefs-client-3.0.97-1.rhsystemd.x86_64.rpm

编辑配置文件

vim /etc/mfs/mfsmount.cfg
在结尾加上
/mnt/mfs

cd /mnt/mfs/
mkdir dir1
mkdir dir2

[root@foundation31 mfs]# mfsgetgoal dir1/
dir1/: 2
[root@foundation31 mfs]# mfsgetgoal dir2/
dir2/: 2
[root@foundation31 mfs]# mfssetgoal -r 1 dir1/
dir1/:
inodes with goal changed: 1
inodes with goal not changed: 0
inodes with permission denied: 0
[root@foundation31 mfs]# mfsgetgoal dir1/
dir1/: 1

[root@foundation31 mfs]# cd dir1
[root@foundation31 dir1]# cp /etc/passwd .
[root@foundation31 dir1]# ls
passwd
[root@foundation31 dir1]# mfsfileinfo passwd
passwd:
chunk 0: 0000000000000001_00000001 / (id:1 ver:1)
copy 1: 172.25.31.3:9422 (status:VALID)
[root@foundation31 dir1]# cd …/dir2
[root@foundation31 dir2]# cp /etc/passwd .
[root@foundation31 dir2]# mfsfileinfo passwd
passwd:
chunk 0: 0000000000000002_00000001 / (id:2 ver:1)
copy 1: 172.25.31.2:9422 (status:VALID)
copy 2: 172.25.31.3:9422 (status:VALID)

[root@server3 ~]# /etc/init.d/moosefs-chunkserver stop
Stopping mfschunkserver: [ OK ]
[root@foundation31 dir2]# mfsfileinfo passwd
passwd:
chunk 0: 0000000000000002_00000001 / (id:2 ver:1)
copy 1: 172.25.31.2:9422 (status:VALID)
[root@foundation31 dir2]# cd …/dir1
[root@foundation31 dir1]# mfsfileinfo passwd
passwd:
chunk 0: 0000000000000001_00000001 / (id:1 ver:1)
no valid copies !!!
[root@server3 ~]# /etc/init.d/moosefs-chunkserver start
Starting mfschunkserver: [ OK ]
[root@foundation31 dir1]# mfsfileinfo passwd
passwd:
chunk 0: 0000000000000001_00000001 / (id:1 ver:1)
copy 1: 172.25.31.3:9422 (status:VALID)

[root@foundation31 dir1]# dd if=/dev/zero of=file bs=1M count=100
[root@foundation31 dir1]# mfsfileinfo file
file:
chunk 0: 0000000000000003_00000001 / (id:3 ver:1)
copy 1: 172.25.31.3:9422 (status:VALID)
chunk 1: 0000000000000004_00000001 / (id:4 ver:1)
copy 1: 172.25.31.2:9422 (status:VALID)
[root@foundation31 dir1]# cd …/dir2
[root@foundation31 dir2]# dd if=/dev/zero of=file bs=1M count=100
[root@foundation31 dir2]# mfsfileinfo file
file:
chunk 0: 0000000000000005_00000001 / (id:5 ver:1)
copy 1: 172.25.31.2:9422 (status:VALID)
copy 2: 172.25.31.3:9422 (status:VALID)
chunk 1: 0000000000000006_00000001 / (id:6 ver:1)
copy 1: 172.25.31.2:9422 (status:VALID)
copy 2: 172.25.31.3:9422 (status:VALID)

[root@foundation31 dir1]# rm -fr passwd
[root@foundation31 dir1]# ls
file
[root@foundation31 dir1]# mfsgettrashtime .
.: 86400
[root@foundation31 dir1]# mkdir /mnt/mfsmeta
[root@foundation31 dir1]# mfsmount -m /mnt/mfsmeta/
mfsmaster accepted connection with parameters: read-write,restricted_ip
[root@foundation31 dir1]# mount
查看挂载
[root@foundation31 dir1]# cd /mnt/mfsmeta/trash/
[root@foundation31 trash]# ll | grep undel
d-w------- 4098 root root 0 Aug 26 10:48 undel
这里写图片描述
[root@foundation31 trash]# find -name passwd
./004/00000004|dir1|passwd
[root@foundation31 trash]# mv 004/00000004|dir1|passwd undel/
[root@foundation31 trash]# cd /mnt/mfs/dir1/
[root@foundation31 dir1]# ls
file passwd

高可用

在server1、4上做同样的操作
安装软件

yum install pacemaker corosyns -y
yum install crmsh-1.2.6-0.rc2.2.1.x86_64.rpm pssh-2.3.1-2.1.x86_64.rpm

配置/corosync

cd /etc/corosync/
cp corosync.conf.example corosync.conf
vim corosync.conf
修改bindnetaddr一行为
bindnetaddr: 172.25.31.0  #绑定的网络地址

添加
service {   #定义一个服务来启动pacemaker
  ver:  0   #启动corosync时会自动启动pacemaker
  name: pacemaker
   }

开启服务

/etc/init.d/corosync start

打开crm监控,查看节点server1,server2是否在线

crm_mon 

搭建iSCSI共享存储
在server2上安装

yum install scsi-* -y

编辑配置文件

 vim /etc/tgt/targets.conf 
 # Sample target with one LUN only. Defaults to allow access for all initiators:

<target iqn.2018-08.com.example:server.target1>
    backing-store /dev/vdb
</target>

启动tgtd

/etc/init.d/tgtd start

在server1上安装
mkdir /etc/cluster/

yum install -y iscsi-*

登陆

iscsiadm -m discovery -t st -p 172.25.31.2
iscsiadm -m node -l

查看

fdisk -l

查看

格式化

mkfs.ext4 /dev/sda

将mfs的数据文件拷贝到sda中(注意权限)

cd /var/lib/mfs/
mount /dev/sda /mnt
cp -p * /mnt/
ll /mnt/
umount /mnt

挂载后文件的权限会改变,修改权限为mfs.mfs

mount /dev/sda /var/lib/mfs/
ll -d /var/lib/mfs/
chown mfs.mfs /var/lib/mfs/
ll -d /var/lib/mfs/
umount /var/lib/mfs/

修改脚本,当moosefs-master异常关闭时,moosefs-master将不能正常开启,所以修改脚本为

vim /etc/init.d/moosefs-master   #修改start函数
start () {
    echo -n $"Starting $prog: "
    $prog start >/dev/null 2>&1 || $prog -a >/dev/null 2>&1 && success || failure
    RETVAL=$?
    echo
    [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog
    return $RETVAL
}

在server4上

yum install moosefs-master-3.0.97-1.rhsysv.x86_64.rpm -y
mount /dev/sda /var/lib/mfs/
ll /var/lib/mfs/
/etc/init.d/moosefs-master start

配置集群
查看fence设备

stonith_admin -I  

查看fence设备

我们要用到的是fence_xvm
如果没有,安装fence-virt即可

查看fence_xvm信息

stonith_admin -M -a fence_xvm

这里写图片描述
查看fence_xvm.key

ll /etc/cluster/fence_xvm.key 

查看fence_xvm.key
如果没有fence_xvm.key ,由物理机生成再scp到虚拟机即可

开始配置集群

crm(live)# configure 
crm(live)configure# property no-quorum-policy=ignore
crm(live)configure# property stonith-enabled=true
crm(live)configure# commit
crm(live)configure# primitive vmfnce stonith:fence_xvm params pcmk_host_map="server1:vm1;server4:vm4" op monitor interval=1min
crm(live)configure# commit
crm(live)configure# primitive vip ocf:heartbeat:IPaddr2 params ip=172.25.31.100 cidr_netmask=32 op monitor interval=30s
crm(live)configure# commit
crm(live)configure# primitive mfsdata ocf:heartbeat:Filesystem params device=/dev/sda directory=/var/lib/mfs fstype=ext4 op monitor interval=1min
crm(live)configure# primitive mfsmaster lsb:moosefs-master op monitor interval=30s
crm(live)configure# group mfsgroup vip mfsdata mfsmaster 
crm(live)configure# commit 
crm(live)configure# bye
bye

这里写图片描述

1. 用户与权限管理模块 角色管理: 学生:查看实验室信息、预约设备、提交耗材申请、参与安全考核 教师:管理课题组预约、审批学生耗材申请、查看本课题组使用记录 管理员:设备全生命周期管理、审核预约、耗材采购与分发、安全检查 用户操作: 登录认证:统一身份认证(对接学号 / 工号系统,模拟实现),支持密码重置 信息管理:学生 / 教师维护个人信息(联系方式、所属院系),管理员管理所有用户 权限控制:不同角色仅可见对应功能(如学生不可删除设备信息) 2. 实验室与设备管理模块 实验室信息管理: 基础信息:实验室编号、名称、位置、容纳人数、开放时间、负责人 功能分类:按学科(计算机实验室 / 电子实验室 / 化学实验室)标记,关联可开展实验类型 状态展示:实时显示当前使用人数、设备运行状态(正常 / 故障) 设备管理: 设备档案:名称、型号、规格、购置日期、单价、生产厂家、存放位置、责任人 全生命周期管理: 入库登记:管理员录入新设备信息,生成唯一资产编号 维护记录:记录维修、校准、保养信息(时间、内容、执行人) 报废处理:登记报废原因、时间,更新设备状态为 "已报废" 设备查询:支持按名称、型号、状态多条件检索,显示设备当前可用情况 3. 预约与使用模块 预约管理: 预约规则:学生可预约未来 7 天内的设备 / 实验室,单次最长 4 小时(可设置) 预约流程:选择实验室→选择设备→选择时间段→提交申请(需填写实验目的) 审核机制:普通实验自动通过,高危实验(如化学实验)需教师审核 使用记录: 签到 / 签退:到达实验室后扫码签到,离开时签退,系统自动记录实际使用时长 使用登记:填写实验内容、设备运行情况(正常 / 异常),异常情况需详细描述 违规管理:迟到 15 分钟自动取消预约,多次违规限制预约权限 4. 耗材与安全管理模块 耗材管理: 耗材档案:名称、规格、数量、存放位置、
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值