当前位置:首页 » 存储配置 » centos8如何配置nfs

centos8如何配置nfs

发布时间: 2025-10-19 19:29:51

‘壹’ NFS服务搭建及数据无缝迁移

五一节办公室要停电,机房虽有UPS,但也支撑不了8小时。
因生产环境有业务系统挂了办公室机房的NAS存储,故需要进行迁移,步骤记录如下:

先闲谈下技术-----------------------
NFS和samba的区别
samba是混合型网络中的共享服务,windows服务器可建samba服务,linux服务器也可建samba服务
nfs只面向unix、linux间的共享,linux服务器可建nfs服务(winodws系统也可以挂载nfs,就是有点不稳定)

NFS服务器上的操作--------------------------

nfs服务器操作系统版本:
[root@c7110 ~]# more /etc/system-release
CentOS Linux release 7.9.2009 (Core)

nfs服务器安装nfs服务
[root@c7110 ~]# yum -y install nfs-utils rpcbind

创建nfs目录,并授权
[root@c7110 ~]# mkdir /opt/nfs-test
[root@c7110 ~]# chmod 777 /opt/nfs-test

编辑nfs服务配置文件
[root@c7110 ~]# vi /etc/exports
内容如下:
/opt/nfs-test *(rw,root_squash,all_squash,sync)

重新加载nfs配置:
[root@c7110 ~]# exportfs -r

nfs服务设置开机启动
[root@c7110 ~]# systemctl enable rpcbind
[root@c7110 ~]# systemctl enable nfs
[root@c7110 ~]# systemctl enable nfs-lock
[root@c7110 ~]# systemctl enable nfs-idmap

启动nfs服务
[root@c7110 ~]# systemctl start rpcbind
[root@c7110 ~]# systemctl start nfs
[root@c7110 ~]# systemctl start nfs-lock
[root@c7110 ~]# systemctl start nfs-idmap

查看nfs服务启动后,所监听的端口信息:
[root@c7110 ~]# rpcinfo -p

linux服务器服务器上操作-------------------------------
业务服务器安装nfs软件客户端
[root@c7111 ~]# yum -y install nfs-utils

建立一个挂载目录
[root@c7111 ~]# mkdir /opt/test-m

挂载nfs服务器共享出来的目录
[root@c7111 ~]# mount -t nfs 10.x.x.10:/opt/nfs-test /opt/test-m/

查看下已挂载的nfs
[root@c7111 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 1.5G 0 1.5G 0% /dev
tmpfs 1.5G 0 1.5G 0% /dev/shm
tmpfs 1.5G 8.8M 1.5G 1% /run
tmpfs 1.5G 0 1.5G 0% /sys/fs/cgroup
/dev/mapper/centos-root 97G 2.3G 95G 3% /
/dev/sda1 1014M 171M 844M 17% /boot
tmpfs 297M 0 297M 0% /run/user/0
10.x.x.6:/opt/nfs-test 97G 4.1G 93G 5% /opt/test-m

经测试,数据可读可写,证明nas服务没有问题,于是进行数据同步,数据同步用rsync命令。

rsync -avp [email protected]::nas_6 /mnt/guidang/ --password-file=/root/rsync_pass --bwlimit=100000

数据同步完,通知研发进行挂载切换。研发同事在测试时,发现文件属性中的uid及gid与原来的不一致,有些担心,于是又小完善了一下NFS服务。

编辑nfs服务配置文件
[root@c7110 ~]# vi /etc/exports
内容如下:
/opt/nfs-test *(no_all_squash,anonuid=600,anongid=600)

重新加载nfs配置:
[root@c7110 ~]# exportfs -r

‘贰’ Linux服务器 一般都用啥操作系统

1.Linux服务器通常都会安装些啥应用在上面?

解答:非常多,最常见的比如: Web服务(Nginx,Apache,PHP,tomcat)、

数据库服务(Mysql,Redis),存储服务(NFS,FASTDFS),比如网络等网站就是需要上述应用。

2.Linux好像有很多版本啥小红帽,Ubuntu。分不清楚这些是干啥的。

解答:

1.5 如何选择服务端Linux版本

1.5.1 Linux发行版本介绍

Linux内核(kernel)版本主要有Linux kernel 2.2、2.4、2.6、3.x、4.x,更多更新的内核版本请浏览https://www.kernel.org/。

Linux发行商包括Redhat、Debian、Fedora、SUSE、CentOS、Ubuntu、麒麟……

下面来看看其中几个重要的服务端发行版本。

1) Red Hat:Red Hat Linux9.0的内核为2.4.20。在版本9.0后,Red Hat不再遵循GPL协议,成为收费产品(但仍开源),发展的新版本依次为3.x、4.x、5.x、6.x、7.x、8.x。

2) Fedora:Red Hat的一个分支,仍遵循GPL协议,可以认为是Red Hat预发布版。

3) CentOS:Red Hat的另一个分支,以Red Hat发布的源代码重建符合GPL许可协议的Linux系统,即将其源代码的商标LOGO以及非自由软件部分去除后再编译而成的版本,目前CentOS已被Red Hat公司收购,但仍开源免费。

3.我现在想学习Linux的服务器不知道应该从哪里入手。最少让我知道安装啥系统吧。

1.5.2 选择适合的Linux服务端系统学习

可以作为服务器端Linux系统常见的有Redhat、CentOS、Ubuntu,其中,CentOS 是国内互联网公司使用最多的,本书后面所有的内容讲解都是基于CentOS这个操作系统的,绝大部分知识几乎无需任何修改同样也适用于Red Hat Linux等同源Linux系统版本。

下面是CentOS的主流版本在国内互联网企业的使用现状说明。

q CentOS6系列:在企业生产的业务中使用不多,不推荐新手学习。

q CentOS7系列:已经成为企业主流,新手建议选择此版本学习。

q CentOS8系列:该系列也已成熟,建议新手可以配合7学习CentOS8。

综上,老男孩推荐学习当下企业的主流应用,即CentOS7系列,本书选了当下最新CentOS7.8作为主要版本来讲,让读者掌握最新的企业级操作系统技术。

2-3题内容出处《跟老男孩学Linux运维:核心基础实战(第三版)_第1章》

‘叁’ 如何最快搭建LINUX服务器集群

1.2.并行技术
这是一个非常简单的建造四节点的小集群系统的例子,它是构建在Linux操作系统上,通过MPICH软件包实现的,希望这个小例子能让大家对集群系统的构建有一个最基本的了解。
2.使用MPICH构建一个四节点的集群系统
这是一个非常简单的建造四节点的小集群系统的例子,它是构建在Linux操作系统上,通过MPICH软件包实现的,希望这个小例子能让大家对集群系统的构建有一个最基本的了解。
2.1 所需设备
1).4台采用Pentium II处理器的PC机,每台配
置64M内存,2GB以上的硬盘,和EIDE接口的光盘驱动器。
2).5块100M快速以太网卡,如SMC 9332 EtherPower 10/100(其中四块卡用于连接集群中的结点,另外一块用于将集群中的其中的一个节点与其它网络连接。)
3).5根足够连接集群系统中每个节点的,使用5类非屏蔽双绞线制作的RJ45缆线
4).1个快速以太网(100BASE-Tx)的集线器或交换机
5).1张Linux安装盘
2.2 构建说明
对计算机硬件不熟的人,实施以下这些构建步骤会感到吃力。如果是这样,请找一些有经验的专业人士寻求帮助。
1. 准备好要使用的采用Pentium II处理器的PC机。确信所有的PC机都还没有接上电源,打开PC机的机箱,在准备与网络上的其它设备连接的PC机上安装上两块快速以太网卡,在其它的 PC机上安装上一块快速以太网卡。当然别忘了要加上附加的内存。确定完成后盖上机箱,接上电源。
2. 使用4根RJ45线缆将四台PC机连到快速以太网的集线器或交换机上。使用剩下的1根RJ45线将额外的以太网卡(用于与其它网络相连的那块,这样机构就可以用上集群)连接到机构的局域网上(假定你的机构局域网也是快速以太网),然后打开电源。
3. 使用LINUX安装盘在每一台PC机上安装。请确信在LINUX系统中安装了C编译器和C的LIB库。当你配置TCP/IP时,建议你为四台PC分别指定为192.168.1.1、192.168.1.2、192.168.1.3、192.168.1.4。第一台PC为你的服务器节点(拥有两块网卡的那台)。在这个服务器节点上的那块与机构局域网相连的网卡,你应该为其指定一个与机构局域网吻合的IP地址。
4.当所有PC都装好Linux系统后,编辑每台机器的/etc/hosts文件,让其包含以下几行:
192.168.1.1 node1 server
192.168.1.2 node2
192.168.1.3 node3
192.168.1.4 node4
编辑每台机器的/etc/hosts.equiv文件,使其包含以下几行:
node1
node2
node3
node4
$p#
以下的这些配置是为了让其能使用MPICH’s p4策略去执行分布式的并行处理应用。
1. 在服务器节点
,建一个/mirror目录,并将其配置成为NFS服务器,并在/etc/exports文件中增加一行:
/mirror node1(rw) node2(rw) node3(rw) node4(rw)
2. 在其他节点上,也建一个/mirror目录,关在/etc/fstab文件中增加一行:
server:/mirror /mirror nfs rw,bg,soft 0 0
3. /mirror这个目录从服务器上输出,装载在各个客户端,以便在各个节点间进行软件任务的分发。
4. 在服务器节点上,安装MPICH。MPICH的文档可在
5.任何一个集群用户(你必须在每一个节点新建一个相同的用户),必须在/mirror目录下建一个属于它的子目录,如 /mirror/username,用来存放MPI程序和共享数据文件。这种情况,用户仅仅需要在服务器节点上编译MPI程序,然后将编译后的程序拷贝到在/mirror目录下属于它的的子目录中,然后从他在/mirror目录下属于它的的子目录下使用p4 MPI策略运行MPI程序。
2.3 MPICH安装指南
1.如果你有gunzip,就d下载mpich.tar.gz,要不然就下载mpich.tar.Z。你可以到http://www.mcs.anl.gov/mpi/mpich/downloa下载,也可以使用匿名ftp到ftp.mcs.anl.gov的pub/mpi目录拿。(如果你觉得这个东西太大,你可以到pub/mpi/mpisplit中取分隔成块的几个小包,然后用cat命令将它们合并)
2.解压:gunzip ;c mpich.tar.gz tar xovf-(或zcat mpich.tar.Ztar xovf-)
3.进入mpich目录
4.执行:./configure为MPICH选择一套适合你的实际软硬件环境的参数组,如果你对这些默认选择的参数不满意,可以自己进行配置(具体参见MPICH的配置文档)。最好选择一个指定的目录来安装和配置MPICH,例如:
./configure -prefix=/usr/local/mpich-1.2.0
5.执行:make >&make.log 这会花一段较长的时间,不同的硬件环境花的时间也就不同,可能从10分钟到1个小时,甚至更多。
6.(可选)在工作站网络,或是一台单独的工作站,编辑mpich/util/machines/machines.xxx(xxx是MPICH对你机器体系结构取的名称,你能很容易的认出来)以反映你工作站的当地主机名。你完全可以跳过这一步。在集群中,这一步不需要。
7.(可选)编译、运行一个简单的测试程序:
cd examples/basic
make cpi
ln ;s ../../bin/mpirun mpirun
./mpirun ;np 4 cpi
此时,你就在你的系统上运行了一个MPI程序。
8.(可选)构建MPICH其余的环境,为ch_p4策略使
用安全的服务会使得任何启动速度加快,你可以执行以下命令构建:
make serv_p4
(serv_p4是一个较新的P4安全服务的版本,它包含在MPICH 1.2.0版中),nupshot程序是upshot程序的一个更快版本,但他需要tk 3.6版的源代码。如果你有这个包,你就用以下命令可以构建它:
make nupshot
9.(可选)如果你想将MPICH安装到一个公用的地方让其它人使用它,你可以执行:
make install 或 bin/mpiinstall
你可以使用-prefix选项指定MPICH安装目录。安装后将生成include、lib、bin、sbin、www和man目录以及一个小小的示例目录,
到此你可以通告所有的用户如何编译、执行一个MPI程序。

‘肆’ 1、Linux系统基本网络

1.1、服务器注意事项:

远程服务器不允许关机,只能重启

重启时应该先关闭服务

不要在服务器访问高峰运行高负载命令

远程配置防火墙时不要把自己踢出服务器

指定合理的密码规范并定期更新

合理分配权限

定期备份重要的数据和日志

1.2、设置网络桥接命令和(ANT模式):

systemctl restart network------重启网卡service network restart---------重启网络服务

systemctl  stop NetworkManager 临时暂停网络管理器systemctl disable NetworkManager 永久关闭网络管理器

systemctl start NetworkManager      拥有root用户的可执行权限

systemctl stop NetworkManager      停止并禁用虚拟机 NetworkManager 服务

systemctl disable NetworkManager

注意:修改网络配置文件后,需要重新加载网络连接,如果是通过network.service则使用命令:systemctl restart network;如果是通过NetworkManager.service则使用nmcli命令:nmcli connection reload。

设置网络主要操作(桥接模式和)

[root@localhost network-scripts]# cd etc/sysconfig/network-scripts/

[root@localhost network-scripts]# vi ifcfg-ens33

systemctl restart network------重启网卡

service network restart---------重启网络服务

TYPE=Ethernet

PROXY_METHOD=none

BROWSER_ONLY=no

BOOTPROTO=static            设置静态

DEFROUTE=yes

IPV4_FAILURE_FATAL=yes

IPV6INIT=yes

IPV6_AUTOCONF=yes

IPV6_DEFROUTE=yes

IPV6_FAILURE_FATAL=no

IPV6_ADDR_GEN_MODE=stable-privacy

NAME=ens33

UUID=10c17057-e9c9-4831-a8ff-0757ea0abc0b

DEVICE=ens33

ONBOOT=yes                          #开机重启

#IPADDR=192.168.43.168              #ip地址(需要跟主机同一个网段,不同一个IP)

IPADDR=10.63.73.20                 

#NETMASK=255.255.255.0              #子网掩码(下面三个都跟主机一样)

NETMASK=255.255.0.0

#GATEWAY=192.168.43.1              #网关

GATEWAK=10.63.255.254

#GATEWAK=10.200.0.3

#DNS1=192.168.43.1                  #DNS服务

设置网络主要步骤(Nat模式)

1.打开Vm,点击编辑->虚拟网络编辑

2.选择VMnet8,将VMnet信息改为NAT模式,比如我的本机IP是192.168.138.1,子网掩码为255.255.255.0

所以我将下面的IP配置成192.168.138.0 子网掩码配置成255.255.255

3.再点击NAT设置将网管配置成192.168.138.2(ps:网关不要配置成和自己IP地址一样)

然后再应用确定

4.右键点击虚拟机设置,网络适配器改为自定义(选择Vmnet8 Nat模式)

5.接下来开启虚拟机

cd /etc/sysconfig/network-scripts/

vim ifcfg-eno16777736

然后再执行命令:/etc/init.d/network restart

1.3、设置防火墙

1.3.1、防火墙命令

停止防火墙:

systemctl stop firewalld.service #停止firewall 防火墙

service  iptables stop  #(centos7版本之前)

永久关闭防火墙:

systemctl disable firewalld.service #禁止firewall开机启动 ( 永久关闭防火墙 )

chkconfig iptables off #永久关闭防火墙

开始防火墙:

systemctl start firewalld  #启动防火墙

systemctl restart iptables.service #重启防火墙使配置生效

systemctl enable iptables.service #设置防火墙开机启动(重启)

查看防火墙状态:

systemctl status firewalld

service  iptables status # (7版本之前)

1.3.2、Linux chkconfig 命令

Linux chkconfig 命令用于检查,设置系统的各种服务。

这是Red Hat公司遵循GPL规则所开发的程序,它可查询操作系统在每一个执行等级中会执行哪些系统服务,其中包括各类常驻服务。

语法

chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level <等级代号>][系统服务][on/off/reset]

参数 :

--add 增加所指定的系统服务,让 chkconfig 指令得以管理它,并同时在系统启动的叙述文件内增加相关数据。

--del 删除所指定的系统服务,不再由 chkconfig 指令管理,并同时在系统启动的叙述文件内删除相关数据。

--level<等级代号> 指定读系统服务要在哪一个执行等级中开启或关毕。

实例

列出chkconfig 所知道的所有命令,可以用chkconfig –list查看所有的服务及其在每个级别的开启状态。

# chkconfig --list

开启服务

# chkconfig telnet on   //开启 Telnet 服务

# chkconfig --list      //列出 chkconfig 所知道的所有的服务的情况

关闭服务

# chkconfig telnet off  // 关闭 Telnet 服务

# chkconfig --list      // 列出 chkconfig 所知道的所有的服务的情况

[root@cent01 sbin]# chkconfig --level 3 network off  //关闭3级别的network服务

[root@cent01 sbin]# chkconfig --list //3级别已关闭

network        0:关 1:关 2:开 3:关 4:开 5:开 6:关

[root@cent01 sbin]# chkconfig network on //不输入级别,默认打开2,3,4,5级别

[root@cent01 sbin]# chkconfig --list

network        0:关 1:关 2:开 3:开 4:开 5:开 6:关

[root@cent01 sbin]# chkconfig --del network //删除network

[root@cent01 sbin]# chkconfig --list  //network已消失

mysqld          0:关 1:关 2:开 3:开 4:开 5:开 6:关

netconsole      0:关 1:关 2:关 3:关 4:关 5:关 6:关

[root@cent01 sbin]# chkconfig --add network //增加network服务

[root@cent01 sbin]# chkconfig --list  //network服务又恢复了

mysqld          0:关 1:关 2:开 3:开 4:开 5:开 6:关

netconsole      0:关 1:关 2:关 3:关 4:关 5:关 6:关

network        0:关 1:关 2:开 3:开 4:开 5:开 6:关

[root@cent01 sbin]# chkconfig --list

注:该输出结果只显示 SysV 服务,并不包含

原生 systemd 服务。SysV 配置数据

可能被原生 systemd 配置覆盖。

      要列出 systemd 服务,请执行 'systemctl list-unit-files'。

      查看在具体 target 启用的服务请执行

      'systemctl list-dependencies [target]'。

mysqld          0:关 1:关 2:开 3:开 4:开 5:开 6:关

netconsole      0:关 1:关 2:关 3:关 4:关 5:关 6:关

注意: 但是这里只显示了SysV管理的服务,centos6及之前都是这个管理工具,但是在centos7用的是systemd管理,所以systemd管理的服务在这里没有显示出来。

运行级别为系统启动级别,具体含义如下:

0 shutdown关机

1 单用户模式

2 无NFS支持的多用户模式

3 完全多用户模式,常用的命令行模式

4 保留给用户自定义

5 图形界面登录,比3多了一个图形界面

6 重启

1.3.2、Linux systemd命令

systemd是管理开机启动程序的工具(SysV启动开机进程时一次只能启动一个,而systemd则一次可以启动多个服务,这样就导致systemd的开机速度会更快。)

[root@localhost ~]# systemctl list-units --all --type=service

  UNIT                            LOAD      ACTIVE  SUB    DESCRIPTION

  abrt-ccpp.service              loaded    active  exited  Install ABRT coremp hook

  abrt-oops.service              loaded    active  running ABRT kernel log watcher

  UNIT                            LOAD      ACTIVE  SUB    DESCRIPTION

[root@cent01 sbin]# ls /usr/lib/systemd/system  //启动的脚本文件目录

[root@cent01 ~]# systemctl list-units  //列出正在运行的unit

[root@cent01 ~]# systemctl list-units --all //列出所有的unit,包括active和inactive

[root@cent01 ~]# systemctl list-units --all --state=inactive //列出inactive的unit

[root@cent01 ~]# systemctl list-units --all --type=service  //列出所有状态的service

[root@cent01 ~]# systemctl list-units --type=service  //列出active的service

[root@cent01 ~]# systemctl is-active crond.service  //查看某个unit是否active

systemctl enable crond.service //开机启动 .service可以省略

systemctl disable crond.service //禁止开机启动

systemctl status crond.service  //查看服务状态

systemctl start crond.service //启动服务

systemctl stop crond.service  //停止服务

systemctl restart crond.service  //重启服务

systemctl is-enabled crond.service  //查看某个服务是否开机启动

unit /usr/lib/systemd/system 此目录下列出了很多文件,这些文件都是unit。类别如下:

service 系统服务target 多个unit组成的组device 硬件设备mount 文件系统挂载点automount 自动挂载点path 文件或路径scope 不是由systemd启动的外部进程slice 进程组snapshot systemd快照socket 进程间通信的套接字swap swap文件timer 定时器

target target类似于centos6的启动级别,target内又包含多个unit的组合,当然target内也可以包含target。启动target就是启动多个unit,用target来管理这些unit。

[root@cent01 ~]# systemctl list-units --all --type=target  //查看当前所有的target

  UNIT                      LOAD      ACTIVE  SUB    DESCRIPTION

  basic.target              loaded    active  active Basic System

  bluetooth.target          loaded    active  active Bluetooth

[root@localhost ~]# systemctl list-dependencies multi-user.target

multi-user.target

● ├─abrt-ccpp.service

● ├─abrt-oops.service

● ├─abrt-vmcore.service

● ├─abrt-xorg.service

[root@localhost ~]# systemctl get-default  //查看系统默认的target

multi-user.target

systemctl set-default multi-user.target  //设置默认的target

multi-user.target等同于centos6的运行级别3。他们的对应关系如下:

SysV运行级别systemd target备注

0poweroff.target关闭系统

1rescure.target单用户模式

2multiuser.target用户自定义级别,通常识别为3

3multiuser.target多用户命令行模式

4multiuser.target用户自定义级别,通常识别为3

5graphical.target多用户图形界面,比级别3只多一个GUI

6reboot.target重启

所以总结起来,一个service属于一种unit,多个unit组成一个target,当然target里面也可以包含target。

1.4、ifconfig命令配置IP网络参数

格式:

[root@localhost /]#ifconfig [网络设备] [ip地址] [MAC地址] [netmask掩码地址] [broadcast广播地址(NDC)] [up/down]

[root@localhost /]#ifconfig eth0 192.168.74.130 netmask 255.255.255.0 up

用ifconfig命令配置eth0别名设备,为eth0绑定多个IP地址。

[root@localhost /]#ifconfig eth0:1 192.168.74.130

[root@localhost /]#ifconfig eth0:2 192.168.73.130

1.5、使用routedel命令添加路由

格式:

[root@localhost /]#routedel [-net|host] [网域或主机] netmask [mask] [gw]

[root@localhost /]#route #查看路由信息

功能:添加路由

-net : 表示后面接的路由为一个网络。

-host : 表示后面接的为连接到单部主机的路由。

netmask : 与网络有关,可以设定netmask决定网路的大小。

gw : gateway (网关)的简写,后面接的是ip地址。

1.6、使用hostname命令修改主机名称

[root@localhost /]#hostname service.jw.com

hostnamectl set-hostname nod1

热点内容
aide导入源码 发布:2025-10-19 21:48:41 浏览:824
锐志哪个配置才是大轮毂 发布:2025-10-19 21:25:06 浏览:579
linux可以限制ftp 发布:2025-10-19 21:25:03 浏览:572
androidstudio配置要求 发布:2025-10-19 21:24:51 浏览:901
脚本创造 发布:2025-10-19 20:31:29 浏览:228
登记微信初始密码是多少 发布:2025-10-19 20:07:34 浏览:182
A算法典题 发布:2025-10-19 20:02:24 浏览:155
sqlintstring 发布:2025-10-19 19:54:02 浏览:418
sql2008企业管理器 发布:2025-10-19 19:43:51 浏览:438
centos8如何配置nfs 发布:2025-10-19 19:29:51 浏览:539