linux nfs启动?linux最好用的系统

大家好,linux nfs启动相信很多的网友都不是很明白,包括linux最好用的系统也是一样,不过没有关系,接下来就来为大家分享关于linux nfs启动和linux最好用的系统的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!

linux中nfs服务无法启动

本文将提供从零部署NFS服务器的步骤与解决方案,以助于解决NFS服务无法启动的问题。

在部署过程中,需准备一台作为NFS服务器与一台作为客户端的机器。确保两台机器的IP地址明确无误。

在部署前,需要在两台机器上安装NFS相关依赖包。

在NFS服务器上创建共享目录,并赋予757权限,确保客户端仅能读取,不可写入。编辑/etc/exports文件,开放指定目录,允许特定IP访问,并允许读写权限。使用exportfs-v检查配置文件信息,运行命令刷新配置。

启动NFS服务,设置开机自启动。NFS服务开启多个端口,如111端口用于rpcbind,2049端口用于NFS。

客户端机器执行showmount命令,显示NFS服务器开放的Export列表。使用mount命令挂载NFS目录,若未指定本地路径,默认挂载至/mnt目录下。将挂载命令配置到/etc/fstab中,避免每次重启手动执行。

验证NFS服务效果,客户端创建并写入内容至共享目录的文件中,检查服务端文件内容是否正确。

若NFS服务中文件属主为nfsnobody而非预期的root用户,这是NFS的默认保护机制。欲开启root权限,修改/etc/exports配置文件,并使用exportfs-r命令使配置立即生效。了解配置内容与用户身份映射相关知识,可进一步优化NFS服务权限管理。

如何从NFS启动Linux及原理

首先我们要明确我们所指的程序,是放在有目录级结构的文件系统里,为了寻找到所需要操作系统来运行的程序,我们必须告诉它,文件在哪个文件系统。一般来说,PC机的文件就存储在硬盘上;对于Live CD而言,文件系统就藏在光盘上面。也就是说,只要操作系统能找到并正确地认识了文件系统,就可以执行里面的程序了!

设置目标机器上的NFS启动

看完了第一节,明白启动的过程了吗?简单地说,就是内核加载,内核找到一个文件系统,内核执行文件系统里的一个程序。无论是从NFS启动,还是从硬盘启动,都是上述过程。只是NFS启动,其文件系统是放在网络上的。只要我们告诉内核,具体放在什么地方,在网络的另一端我们设置好共享,自然可以从NFS启动。

让内核识别NFS并可从NFS启动

编译内核

在内核源代码目录树下,配置内核:

$make menuconfig

依次进入 File Systems-> Network File System中选择 NFS client support以及 Root file system on NFS。如果找不到Root file system on NFS选项,要打开第一级菜单下的Networking support-> Networking options-> TCP/IP networking-> IP: kernel level autoconfiguration。如果NFS要使用DHCP,还得选上 IP: DHCP support。

保存配置并重新编译即可。

配置内核参数

进入ARM开发板的设置 linux_cmd_line的地方(mini2440则为开机按 s,输入linux_cmd_line,并带着引号输入参数),或者进入PC的GRUB,设置类似参数

root=/dev/nfs rw nfsroot=192.168.1.1:/linux ip=192.168.1.5:::255.255.255.0:linux::off

该配置为静态IP设置。各参数意义如下:

root=/dev/nfs:指定根文件系统为/dev/nfs,即NFS。这与/dev这个目录并没有什么关系,在此仅为一个名字。

rw:根文件系统挂载为可读写。还可以有 ro即只读的选项。

nfsroot=192.168.1.1:/linux:指明挂载哪一个NFS上的哪一个目录。这里指的是挂载IP为192.168.1.1的电脑上导出的/linux目录。

ip=192.168.1.5:::255.255.255.0:linux::off:设置本机的IP。此举是为了连接刚才设置的IP。这里是一个静态的配置,配置的格式为 ip=本机的IP地址::网关地址:网络掩码:本机的主机名:网络接口名:off。一般情况下网关、网络接口名都不需要设置。如果是DHCP获取IP,那很简单,直接 ip=dhcp即可。

设置NFS服务器

Ubuntu下看链接:

NFS服务器可以是任意操作系统,只要能提供NFS服务即可(WINDOWS可以使用 WSU—— Windows Services for Unix来实现,具体请参考接下来本站要发表的文章)。在这里以Fedora为例,希望别的发行版的用户触类旁通。

对于Fedora来说,有图形界面的工具进行设置,在管理-》服务器设置-》NFS中添加一个共享即可。

更通用的作法,就是修改/etc/exports文件,之后再启动NFS服务器。

/etc/exports文件格式如下

导出的文件夹导出的网段(对该导出的网段的选项)

所谓导出的网段就是只向哪个网段导出,保证安全性。一个例子为:

/linux 192.168.1.0/24(rw,sync,no_root_squash)

就是将/linux导出到网段为192.168.1.0,子网掩码为255.255.255.0(即24)的网络。其中可用的选项为(翻译自man文档):

secure和insecure: secure选项下,所有连接的端口均小于1024。默认打开。

rw和ro: Read/Write和Read Only

async和sync async将使用异步数据存取,数据并非马上写入服务器的。sync则相反。使用async需要注意服务器不能随意不正常地关闭,否则可能导致数据丢失。

no_wdelay:不使用延迟写入。NFS服务器会将写入写入请求缓冲起来,可以提高性能。如果async已经打开那么该选项无效。

no_subtree_check:不进行子树检查(使用该选项易引起安全问题)

root_squash和no_root_squash、all_squash:root_squash选项使得客户端以root权限访问文件系统时,转换为服务器端的匿名用户。这选项打开一定要设置好服务器的权限。

之后再重新启动NFS服务。Fedora下使用/etc/init.d/nfs restart

使用 exports查看导出的文件。

使用___ 命令可以重启nfs服务

使用 `sudo systemctl restart nfs`命令可以重启nfs服务。

在Linux系统中,NFS服务通常是通过systemd进行管理的。systemd是Linux系统的一个初始化系统和服务管理器,用于启动、监视和管理系统进程。当需要重启NFS服务时,可以通过systemd的`systemctl`命令来实现。

具体来说,`sudo systemctl restart nfs`命令做了以下几件事情:首先,`sudo`表示以超级用户权限执行该命令,因为管理系统服务通常需要更高的权限。其次,`systemctl`是systemd的主要命令行工具,用于控制systemd系统和服务管理器。最后,`restart nfs`指示systemctl重启名为nfs的服务。

在实际操作中,执行这个命令后,systemd会先停止当前的NFS服务进程,然后再重新启动一个新的进程。这个过程中,NFS服务可能会有短暂的不可用时间,直到新进程完全启动并准备好接受客户端连接。重启服务通常用于应用配置更改、解决服务运行中的一些问题,或者是在系统资源使用过高时尝试恢复正常状态。

例如,如果你在NFS服务的配置文件中做了一些更改,为了让这些更改生效,你就需要重启NFS服务。通过运行`sudo systemctl restart nfs`,你可以轻松地完成这一任务,而无需手动停止和启动服务,这大大提高了系统管理的效率和便捷性。

阅读剩余
THE END