Parallel NFS(pnfs)环境搭建

**
以下使用centos8,内核4.18,验证不可行!!!
请将客户端和MDS切换到ubuntu,搭建过程不变,当前使用ubuntu18.04,默认内核4.15上验证成功。
**

	随着网络和并行计算的迅猛发展,文件IO成为了限制系统整体性能的瓶颈。以前的nfs版本中,所有的客户端与一个服务器连接,所有的请求都必须由这个服务器处理,这不适应并行计算的环境。
	Parallel NFS (pNFS)作为 NFS v4.1 标准的一部分,其架构提高了 NFS 的可扩展性,允许客户端直接将数据传送到保存文件的存储设备中,提高系统吞吐量问题。也就是说,当服务器也实现 pNFS 时,客户端也可以同时通过多个服务器访问数据,客户端读写文件的速率会得到显著提升。
	目前它支持三种存储协议或布局:文件、对象和块。
	pNFS客户端程序已经合并到Linus Torvalds的主线库中,但pNFS服务器端程序还没有。

2 环境准备

地址
iscsi服务端192.168.96.14,192.168.96.244
MDS192.168.96.228
客户端192.168.96.208
ubuntu服务端192.168.96.211
ubuntu客户端192.168.96.124

2.1 iscsi客户端软件安装

除了iscsi服务端的节点外,其它所有节点均需要安装iscsi客户端操作软件。

# centos下
yum install -y iscsi-initiator-utils

# ubuntu下
apt install open-iscsi
# 两者命令操作方式相同

在这里插入图片描述
在这里插入图片描述

2.2 iscsi服务端搭建

以96.14为例

# centos安装targetcli软件
yum install targetcli -y

# 具体搭建步骤参考

在这里插入图片描述
使用targetcli创建卷并设置客户端访问。

# 进入到targetcli的操作命令行
targetcli

# 找一块空的盘建立后端存储,这里以/dev/sdb为例
/backstores/block create my_block /dev/sdb

# 创建服务端
/iscsi create iqn.2024-06.com.example:volume

# 将存储后端与服务、卷关联
/iscsi/iqn.2024-06.com.example:volume/tpg1/luns create /backstores/block/my_block

然后得到除iscsi服务端节点外的 iSCSI Initiator 的名称。
在这里插入图片描述
在这里插入图片描述
然后在targetcli中与卷关联

# 将卷与96.228的iscsi initiator关联,以便客户端发现
/iscsi/iqn.2024-06.com.example:volume/tpg1/acls create iqn.1994-05.com.redhat:ad9e7f1bf9f

# 将卷与96.208的iscsi initiator关联,以便客户端发现
/iscsi/iqn.2024-06.com.example:volume/tpg1/acls create iqn.1994-05.com.redhat:dc651ec4d08b

# 退出即可,会自动保存
exit

在这里插入图片描述
另一服务端96.244同以上操作步骤搭建

/backstores/block create my_block1 /dev/sdc
/iscsi create iqn.2024-06.com.example:volume1
/iscsi/iqn.2024-06.com.example:volume1/tpg1/luns create /backstores/block/my_block1
/iscsi/iqn.2024-06.com.example:volume1/tpg1/acls create iqn.1994-05.com.redhat:ad9e7f1bf9f
/iscsi/iqn.2024-06.com.example:volume1/tpg1/acls create iqn.1994-05.com.redhat:dc651ec4d08b

在这里插入图片描述

mds配置

先连接iscsi设备

# 扫描链接
iscsiadm -m discovery -t st -p 192.168.96.14
iscsiadm -m discovery -t st -p 192.168.96.244

# 连接iscsi设备
iscsiadm -m node -p 192.168.96.14 --login
iscsiadm -m node -p 192.168.96.244 --login

# 查看已连接的设备
iscsiadm -m session -P 3  | grep -E 'Portal|Attached'

# 断开iscsi设备
# iscsiadm -m node -p 192.168.96.14 --logout
# iscsiadm -m node -p 192.168.96.244 --logout

在这里插入图片描述
查看设备
在这里插入图片描述
格式化成xfs并挂载设备

# 创建挂载点
mkdir -p /mnt/pnfs_export/dir{1,2}
ls /mnt/pnfs_export/

# 将已连接的iscsi设备格式化为xfs(本地文件系统xfs内部已有pnfs实现)
mkfs.xfs /dev/sda -f
mkfs.xfs /dev/sdb -f

# 挂载设备
mount /dev/sda /mnt/pnfs_export/dir1
mount /dev/sdb /mnt/pnfs_export/dir2

# 查看挂载
df -h

在这里插入图片描述

配置nfs服务

[root@fs_96_228 ~]# cat /etc/exports
/mnt/pnfs_export *(pnfs,rw,sync,fsid=0,no_root_squash,no_subtree_check)
/mnt/pnfs_export/dir1 *(pnfs,rw,sync,fsid=1,no_root_squash,no_subtree_check)
/mnt/pnfs_export/dir2 *(pnfs,rw,sync,fsid=2,no_root_squash,no_subtree_check)

在这里插入图片描述

配置客户端

先连接iscsi设备

# 扫描链接
iscsiadm -m discovery -t st -p 192.168.96.14
iscsiadm -m discovery -t st -p 192.168.96.244

# 连接iscsi设备
iscsiadm -m node -p 192.168.96.14 --login
iscsiadm -m node -p 192.168.96.244 --login

# 查看已连接的设备
iscsiadm -m session -P 3  | grep -E 'Portal|Attached'

# 断开iscsi设备
# iscsiadm -m node -p 192.168.96.14 --logout
# iscsiadm -m node -p 192.168.96.244 --logout

在这里插入图片描述
在这里插入图片描述

启动nfs-blkmap服务

systemctl status nfs-blkmap.service
modprobe blocklayoutdriver
systemctl start nfs-blkmap.service
systemctl status nfs-blkmap.service

在这里插入图片描述

挂载nfs

# 创建挂载点
mkdir -p /mnt/pnfs/dir{1,2}
ls /mnt/pnfs/

mount -t nfs4 192.168.96.228:/ /mnt/pnfs/
df -h

在这里插入图片描述
当访问dir1和dir2的时候会自动挂载
在这里插入图片描述

查看是否pnfs

使用centos客户端

cat /proc/self/mountstats | grep -E 'READ|WRITE|LAYOUT|pnfs'

在这里插入图片描述
此时dir1和dir2均为pnfs,并且为LAYOUT_SCSI,在结果中:

  • LAYOUT 统计指示客户端和服务器使用 pNFS SCSI 操作的请求。
  • READ 和 WRITE 统计指示客户端和服务器回退到 NFS 操作的请求。

拷贝一个文件到dir1中,cp直接卡死
在这里插入图片描述
但layout操作增加
在这里插入图片描述

换成ubutun后正常
在这里插入图片描述
cp一个文件后,LAYOUT操作数增加,且文件正常读取
在这里插入图片描述

以下是MySQL MHA环境搭建的步骤: 1.准备基础架构环境,包括Master主机、Slave1从机、Slave2从机(备选主)。 2.在Master主机上配置MySQL主从环境,在Slave1和Slave2上分别配置MySQL从机环境。 3.安装MHA并进行配置,注意配置过程中可能会遇到一些坑,需要仔细检查。 4.配置各服务之间的ssh互认,以实现免登陆认证。 5.安装完成后,进行MHA检查,确保环境搭建成功。 6.进行故障演示,测试MHA的故障转移功能。 以下是具体的操作步骤: 1.在Master主机上配置MySQL主从环境,Slave1和Slave2上分别配置MySQL从机环境。可以参考引用中的相关内容。 2.安装MHA并进行配置。可以参考以下步骤: (1)安装MHA: ```shell yum install -y perl-DBD-MySQL perl-Config-Tiny perl-Log-Dispatch perl-Parallel-ForkManager perl-Config-IniFiles perl-Data-Dumper wget https://github.com/yoshinorim/mha4mysql-manager/archive/master.zip unzip master.zip cd mha4mysql-manager-master/ perl Makefile.PL make && make install ``` (2)配置MHA: 在Master主机上创建MHA的配置文件: ```shell mkdir /etc/mha_manager vi /etc/mha_manager.cnf ``` 在配置文件中添加以下内容: ```shell [server default] manager_log=/var/log/masterha/app1.log manager_workdir=/var/log/masterha/app1 remote_workdir=/var/log/masterha/app1 ssh_user=root repl_password=123456 ping_interval=3 ping_type=SELECT master_binlog_dir=/data/mysql/mysql3306/data master_ip_failover_script=/usr/local/bin/master_ip_failover master_ip_online_change_script=/usr/local/bin/master_ip_online_change shutdown_script=/usr/local/bin/power_manager user=root password=123456 [server1] hostname=192.168.1.100 port=3306 candidate_master=1 [server2] hostname=192.168.1.101 port=3306 candidate_master=1 [server3] hostname=192.168.1.102 port=3306 no_master=1 ``` 其中,[server default]是默认配置,[server1]、[server2]、[server3]是各个MySQL实例的配置。 (3)启动MHA: ```shell masterha_manager --conf=/etc/mha_manager.cnf --remove_dead_master_conf --ignore_last_failover ``` 3.配置各服务之间的ssh互认,以实现免登陆认证。可以参考以下步骤: (1)在Master主机上生成ssh密钥: ```shell ssh-keygen -t rsa ``` (2)将Master主机的公钥复制到Slave1和Slave2上: ```shell ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.1.101 ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.1.102 ``` (3)在Slave1和Slave2上生成ssh密钥,并将公钥复制到Master主机上。 4.安装完成后,进行MHA检查,确保环境搭建成功: ```shell masterha_check_ssh --conf=/etc/mha_manager.cnf masterha_check_repl --conf=/etc/mha_manager.cnf ``` 5.进行故障演示,测试MHA的故障转移功能: (1)在Master主机上停止MySQL服务: ```shell service mysqld stop ``` (2)在MHA Manager主机上执行故障转移: ```shell masterha_master_switch --master_state=alive --conf=/etc/mha_manager.cnf --orig_master_is_new_slave --new_master_host=192.168.1.101 ``` (3)检查故障转移是否成功: ```shell masterha_check_ssh --conf=/etc/mha_manager.cnf masterha_check_repl --conf=/etc/mha_manager.cnf ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值