HostHatch内网连接并配置NFS

前言

系统:Debian11

这里演示用的是两台hosthatch的vps,一台性能机,一台存储机。

(两台vps必须是在同一个地区,比如都在洛杉矶机房)

目的:我们要做的,就是进行内网配置将存储机的磁盘挂载在性能机上。

1.配置网卡和ip地址

关于这个部分官网文档有写,这里debian系统为例:
首次开启要将PRIVATE NETWORKK开启为ENABLED,如下图:
image

#查看网卡
ip -o link | grep 00:22
#编辑网卡配置文件
vim /etc/network/interfaces.d/90-private
#复制并粘贴下面的代码(不同系统间配置不通用,以官网为准)
iface 你的网卡名 inet static
    address 192.168.10.1/24
#重启网络服务
sudo systemctl restart networking

image
这里我的网卡名为enp2s0,所以这里就是

iface enp2s0 inet static
    address 192.168.10.1/24

两台vps的内网IP都要配
第一台为192.168.10.1
第二台就不能是相同地址,但必须在同一网段,比如192.168.10.2
所以第二台就是

iface ens4 inet static
    address 192.168.10.2/24

两台都配置好后,互相ping一下,如果ping通,则说明配置成功。

2. nfs配置

这里直接放出我准备好的脚本:

#!/bin/bash

# 检查是否以root权限运行
if [[ $EUID -ne 0 ]]; then
  echo "请以root权限运行此脚本。" 1>&2
  exit 1
fi

# 询问用户是配置服务器还是客户端
read -p "您要配置NFS服务端还是客户端?(server/client): " choice

if [ "$choice" == "server" ]; then
  # 安装NFS服务器
  echo "正在安装NFS服务器..."
  apt-get update
  apt-get install -y nfs-kernel-server

  # 获取共享目录路径
  read -p "请输入要共享的目录路径: " shared_directory

  # 创建目录
  mkdir -p "$shared_directory"
  chmod 777 "$shared_directory"

  # 获取客户端IP地址范围
  read -p "请输入允许访问NFS服务器的客户端IP地址范围 (例如: 192.168.1.0/24): " client_range

  # 更新/etc/exports
  echo "$shared_directory $client_range(rw,sync,no_subtree_check)" >> /etc/exports

  # 重新启动NFS服务
  systemctl restart nfs-kernel-server
  systemctl enable nfs-kernel-server

  echo "NFS服务器配置完成,共享目录为: $shared_directory"

elif [ "$choice" == "client" ]; then
  # 安装NFS客户端
  echo "正在安装NFS客户端..."
  apt-get update
  apt-get install -y nfs-common

  # 获取NFS服务器IP地址
  read -p "请输入NFS服务器的IP地址: " server_ip

  # 获取共享目录路径
  read -p "请输入NFS服务器上的共享目录路径: " shared_directory

  # 获取挂载点
  read -p "请输入要挂载的本地目录路径: " mount_point

  # 创建本地挂载点
  mkdir -p "$mount_point"

  # 挂载共享目录
  mount -t nfs "$server_ip":"$shared_directory" "$mount_point"

  # 更新/etc/fstab以实现开机自动挂载
  echo "$server_ip":"$shared_directory" "$mount_point" nfs defaults 0 0 >> /etc/fstab

  echo "NFS客户端配置完成,挂载点为: $mount_point"

else
  echo "输入无效,请输入'server'或'client'。"
fi

3. 运行脚本磁盘挂载

创建名为nfs_setup.sh,并赋予执行权限

#创建文件
touch nfs_setup.sh
#赋予权限
chmod +x nfs_setup.sh
#执行
./nfs_setup.sh

根据脚本提示完成配置

==注意:存储机为server端,性能机为client端==

运行df -h命令查看是否挂载成功,成功后更改目录权限chmod 777 /path/to/你的client目录

nfs的挂载方式是有限制的,主要作为存储盘用!!!

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容