在 CentOS 中安装文件共享
使用这些说明将基于 CentOS Linux® 的 IBM Cloud® 计算实例连接到网络文件系统 ( NFS ) 文件共享。
准备工作
-
如果文件共享是以安全组访问模式设置的,请验证计算主机是否属于与共享相同的 安全组。 如果文件共享使用 VPC 访问模式设置,请确认要加载共享的服务器与文件共享位于同一区域。 更多信息,请参阅 安装目标访问模式。
-
确认服务器所在的 VPC 存在共享的挂载目标。 如果需要新的安装目标,请遵循 创建文件共享和安装目标 中的指示信息。
-
从安装目标获取文件共享的安装路径。 可从 控制台 的文件共享详细信息页面、CLI、API 或 Terraform 获取安装路径信息。
-
如果要在传输过程中使用加密,则需要从元数据服务中获取 IPsec 证书。 确保为安装目标启用传输中的加密。 此外,使用安全连接安装文件共享。 此功能仅可用于具有
dp2
概要文件和安全组访问方式的文件共享。 有关更多信息,请参阅 Encryption in Transit-Securing mount connections between file share and host。安装并运行 mount helper 实用程序,以通过传输中的加密或不使用加密连接来安装文件共享。
File Storage for VPC 服务需要 NFS V v4.1 或更高版本。
在 CentOS 上安装文件共享
通过执行以下步骤在 CentOS 主机上安装文件共享。 这些示例基于 CentOS 8。 这些步骤类似于 在 Red Hat Enterprise Linux® 上描述的步骤。
SSH 到要安装文件共享的 Compute 实例,然后继续执行以下步骤:
-
安装必需的工具。
yum install nfs-utils
-
在实例中创建一个目录。
mkdir /mnt/test
-
挂载远程文件共享。
mount -t nfs4 -o <options> <host:/mount_target> /mnt
请参阅以下示例。
mount -t nfs4 -o sec=sys,nfsvers=4.1 10.240.64.11:/384f711c_0684_4643_b1c3_dc7acb36d04a /mnt/test
-
使用磁盘文件系统命令验证安装是否成功。
$ df -h Filesystem Size Used Avail Use% Mounted on udev 3.9G 0 3.9G 0% /dev tmpfs 798M 660K 798M 1% /run /dev/vda2 99G 1.6G 93G 2% / tmpfs 3.9G 0 3.9G 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup /dev/vda1 240M 73M 155M 33% /boot fsf-dal2433a-dz.adn.networklayer.com:/nxg_s_voll_246a9cb9-4679-4dc5-9522-4a7ed2575136 190G 384K 190G 1% /mnt/test tmpfs 798M 0 798M 0% /run/user/0
-
转至安装点以创建测试文件并列出所有文件以验证共享是否已安装为读/写。
touch /mnt/test/test.txt ls -al /mnt/test
$ touch /mnt/test/test.txt ls -al /mnt/test total 12 drwxr-xr-x 2 nobody nobody 4096 Apr 8 15:52 . dr-xr-xr-x. 22 root root 4096 Apr 8 14:30 .. -rw-r--r-- 1 nobody nobody 0 Apr 8 15:52 test.txt
文件由根用户创建,所有权为
nobody:nobody
。 要正确显示所有权,请使用正确的域设置更新idmapd.conf
。 如需了解更多信息,请参阅 如何为 NFS 实现 no_root_squash。 -
启动时挂载远程文件共享。 要完成设置,必须编辑文件系统表 (
/etc/fstab
) 并将远程文件共享添加到启动时自动加载的条目列表中。 在fstab
中创建条目之前,请执行以下步骤将安装路径主机名添加到/etc/hosts
。-
获取安装路径的
hostname.com
部分,例如fsf-dal2433a-dz.adn.networklayer.com
并获取 IP 地址。 从实例运行以下命令以获取 IP 地址。host hostname.com
请参阅以下示例。
host fsf-dal2433a-dz.adn.networklayer.com fsf-dal2433a-dz.adn.networklayer.com has address 203.0.113.0
如果在运行
host
命令时迂到“找不到命令”错误,请使用yum install bind-utils
进行安装。 -
编辑
/etc/hosts
并向主机名条目添加 IP。<IP_Address> hostname.comhostname.com
请参阅以下示例。
198.51.100.0 fsf-dal2433a-dz.adn.networklayer.com
-
编辑文件系统表
/etc/fstab
,并添加条目。(hostname):/(file_share_path) /mnt nfs_version options 0 0
请参阅以下示例。
fsf-dal2433a-dz.adn.networklayer.com:/nxg_s_voll_246a9cb9-4679-4dc5-9522-4a7ed2575136 /mnt/test nfs4 nfsvers=4.1,sec=sys,_netdev 0 0
-
-
验证配置文件是否没有任何错误。
mount -fav
如果命令完成时没有错误,说明设置已完成。
对于 NFS 4.1,请在挂载命令中添加
sec=sys
,以防止出现文件所有权问题。 使用_netdev
以等待安装存储器,直到启动所有网络组件为止。
如何对 NFS 实施 no_root_squash
(可选)
默认情况下,NFS 会将以根权限创建的任何文件降级为 nobody
用户。 此安全功能部件会阻止共享特权,除非请求了这些特权。
通过配置 no_root_squash
,root 客户机可以保留远程 NFS 文件共享上的 root 用户许可权。
对于 NFSv4.1,将 nfsv4 域设置为:slnfsv4.com
并启动 rpcidmapd
或操作系统使用的类似服务。 请参阅以下示例。
-
从主机在
/etc/idmapd.conf
中设置域。$ vi /etc/idmapd.conf [General] #Verbosity = 0 #The following should be set to the local NFSv4 domain name #The default is the host's DNS domain name. Domain = slnfsv4.com [Mapping] Nobody-User = nobody Nobody-Group = nobody
-
运行
nfsidmap -c
。
卸装文件系统
要卸装主机上目前已安装的任何文件系统,请运行 umount
命令并输入磁盘名或安装点名称。
umount /dev/sdb
umount /mnt