我以为我已经通过 nfs 从我的服务器正确地安装了 /home 到客户端。我不认为我这样做。如果您在服务器上并创建了一个用户,那么您将无法转到客户端并以所述用户身份登录。还有其他方法可以做到这一点吗?还是在openldap等的世界里?
使用 ZFS 根安装,需要哪些分区canmount=noauto
,为什么?
我正在查看全新安装的 Ubuntu 20.04,并在 root 上安装了 ZFS。我 在 openzfs 站点上使用这些说明,但是有一件我不明白的事情困扰着我。
从指南:
3.2 为根文件系统和引导文件系统创建文件系统数据集:
zfs create -o canmount=noauto -o mountpoint=/ rpool/ROOT/ubuntu zfs mount rpool/ROOT/ubuntu zfs create -o canmount=noauto -o mountpoint=/boot bpool/BOOT/ubuntu zfs mount bpool/BOOT/ubuntu
对于 ZFS,通常不需要使用 mount 命令(mount 或 zfs mount)。这种情况是一个例外,因为 canmount=noauto。
我了解这noauto
意味着需要 fstab 或 mount 命令来挂载卷。但我不明白为什么对于某些数据集而不是其他数据集是必要的/推荐的。有人可以帮我理解吗?
我试图自动挂载从 IPA 服务器导出到客户端的主目录。设置如下:
auto.master:
/home/ldap /etc/ldap.file
ldap.file :
* -rw,sync server:/home/ldap/&
此设置显然有效,但如果我将其修改为:
auto.master:
/home/guests /etc/ldap.file
ldap.file :
* -rw,sync server:/home/ldap/&
它没有:
su - ldapuser20
su: warning: cannot change directory to /home/ldap/ldapuser20: No such
file or directory
为了使自动挂载工作,客户端是否需要设置与 NFS 导出相同的目录(客户端上的 /home/ldap 应该与 /home/ldap NFS 导出相同)?我从客户端对其他自定义目录进行了多次尝试,但都失败了。任何帮助,将不胜感激。
我正在关注一堆关于如何设置 nfs 服务器的现场会议。我在 /etc/exports 中创建了文件导出,该文件包含以下内容:
/data -rw *(rw,no_root_sqush)
我在那里正确设置了 /data 的目录和所有文件,我已经启动了 nfs 服务器。
systemctl start nfs
并且它没有返回任何错误,但是当我尝试检查 /data 的 showmount 时,我在 showmount 中找不到任何 /data 列表
showmount -e localhost
这就是我得到的,
Export list for localhost:
但列表中没有 /data。
然后我想检查 nfs 服务器的状态,因为它没有给出任何错误:
systemctl status -l nfs
结果是:
● nfs-server.service - NFS server and services
Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; disabled; vendor preset: disabled)
Active: active (exited) since Mon 2017-03-13 04:09:47 EDT; 2min 44s ago
Process: 4197 ExecStart=/usr/sbin/rpc.nfsd $RPCNFSDARGS (code=exited, status=0/SUCCESS)
Process: 4193 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=1/FAILURE)
Main PID: 4197 (code=exited, status=0/SUCCESS)
CGroup: /system.slice/nfs-server.service
Mar 13 04:09:47 dhcppc6 systemd[1]: Starting NFS server and services...
Mar 13 04:09:47 dhcppc6 exportfs[4193]: exportfs: /etc/exports:1: unknown keyword "no_root_sqush"
Mar 13 04:09:47 dhcppc6 systemd[1]: Started NFS server and services.
所以每当我尝试通过以下方式安装 /data 时:
mount localhost:/data /mnt
结果是
mount.nfs: access denied by server while mounting localhost:/data
即使我以 root 身份访问。
我在设置 nfs 服务器时是否遗漏了什么使我无法挂载其数据?
关于安装:我在中添加了以下行/etc/auto.master
:
/nfsserver /etc/auto.nfsserver
我创建了一个新文件/etc/auto.nfsserver
并添加了以下行:
blah -rw localhost:/data
为安装做好一切准备,这样我就可以安装 nfs 服务器了。但这里的任何帮助将不胜感激。
谢谢
在上一个问题中,原发帖人询问如何防止 autofs 挂载到本地主目录上: 如何防止 autofs 挂载到特定目录上? 我面临着类似的情况,我的工作站上有一个本地主目录(运行 Arch Linux),并且希望 NFS 到我的工作站上,而不安装在我的本地主目录上。我尝试将上一个问题的解决方案应用于我的 auto.master 文件:
$ cat /etc/autofs/auto.master
/home /-
+dir:/etc/autofs/auto.master.d
+auto.master
启动自动挂载程序失败:
% sudo systemctl status autofs.service
● autofs.service - Automounts filesystems on demand
Loaded: loaded (/usr/lib/systemd/system/autofs.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2017-01-26 15:56:19 EST; 1s ago
Process: 8760 ExecStart=/usr/bin/automount $OPTIONS --pid-file /run/autofs.pid (code=exited, status=0/SUCCESS)
Main PID: 8762 (automount)
Tasks: 3 (limit: 7372)
CGroup: /system.slice/autofs.service
└─8762 /usr/bin/automount --verbose --pid-file /run/autofs.pid
Jan 26 15:56:19 <hostname> systemd[1]: Starting Automounts filesystems on demand...
Jan 26 15:56:19 <hostname> automount[8762]: Starting automounter version 5.1.2, master map auto.master
Jan 26 15:56:19 <hostname> automount[8762]: using kernel protocol version 5.02
Jan 26 15:56:19 <hostname> automount[8762]: file map /- not found
Jan 26 15:56:19 <hostname> automount[8762]: mount_autofs_indirect: failed to read map for /home
Jan 26 15:56:19 <hostname> automount[8762]: handle_mounts: mount of /home failed!
Jan 26 15:56:19 <hostname> automount[8762]: master_do_mount: failed to startup mount
Jan 26 15:56:19 <hostname> systemd[1]: Started Automounts filesystems on demand.
Jan 26 15:56:19 <hostname> automount[8762]: no mounts in table
同样,我正在运行带有 autofs 版本 5.1.2 的 Arch Linux。办公室的另一个工作站运行 Ubuntu 16.04 (autofs v 5.1.1) 并具有相同的 auto.master 文件(除了任何路径 /etc/autofs 被 /etc 替换)。自动安装在该工作站上正常工作。
现在,我什至不知道要搜索什么,因为每当我搜索 autofs、“/-”和其他关键字的组合时,我都会找到Direct Map Support的结果,这似乎不是我需要的。
任何正确方向的提示,无论是问题的解决方案,还是谷歌的正确关键字,都非常感谢!
首先让我说这是我在 AskUbuntu 中发布的一个问题的转贴。如果这违反了规则,那么请删除它。老实说,在进一步考虑该主题后,我意识到由于 autofs 在各种发行版中的工作原理基本相同,因此这更像是一个 autofs/linux 问题,而不是特定于 Ubuntu 的问题。当然,这是我的理由,因为我也希望获得更多关于这个问题的曝光:autofs 和 WebDAV 似乎是一个相当不常见的组合,所以我更有机会找到其他成功完成它的人我尝试在这个更通用的论坛中。
我正在为真实的服务器名称和文件夹使用占位符,但是,我已尝试使它们尽可能代表真实名称,因此请注意我的大小写和标点符号,以防与我的问题有关。
我正在运行Ubuntu 16.04。
我已经安装了autofs和davfs2。
以下命令成功挂载:
mount -t davfs https://servername.mydomain.com:3333/Shared.Folder /testmount
它要求我输入用户名和密码,[email protected]
然后myypassword
是成功挂载。
这告诉了我几件事:
- 我的 WebDAV 服务器工作正常且配置正确。
- HTTPS 工作正常。
- 我的凭据已成功验证。
所以现在我正试图让它与autofs一起工作。
这是我的文件:
/etc/auto.master
/Server.mount /etc/auto.Servername.mount
/etc/auto.Servername.mount
storage-folder -fstype=davfs,ro :https://servername.mydomain.com:3333/Shared.Folder
/etc/davfs2/secrets
https://servername.mydomain.com:3333/Shared.Folder [email protected] mypassword
使用此设置,如果我尝试浏览到/Servername.mount/storage-folder
,我会得到一个No such file or directory error
.
现在我 95% 确定我的问题是语法错误或身份验证错误。对于基于 WebDAV 的 autofs 实现,在 Web 上找不到很多示例,其中一些示例显示了冲突的语法。尽管如此,我已经尝试了我能想到的一切。
我认为auto.Servername.mount
文件中的冒号很可能搞砸了解析,所以我尝试了以下所有组合:
storage-folder -fstype=davfs,ro https://servername.mydomain.com:3333/Shared.Folder
storage-folder -fstype=davfs,ro https\://servername.mydomain.com\:3333/Shared.Folder
storage-folder -fstype=davfs,ro :https\://servername.mydomain.com\:3333/Shared.Folder
storage-folder -fstype=davfs,ro https\://servername.mydomain.com\:3333:/Shared.Folder
如果这不是导致问题的原因,那么我认为这可能与secrets
文件有关。所以我也为我的secrets
:
/Servername.mount/storage-folder [email protected] mypassword
由于我习惯于将凭据文件与基于 cifs 的 autofs 挂载一起使用,因此我也尝试在我的auto.Servername.mount
文件中进行尝试,只是为了好玩:
storage-folder -fstype=davfs,ro,credentials=/etc/credentials.Servername.mount https://servername.mydomain.com:3333/Shared.Folder
简单credentials.Servername.mount
地说:
[email protected]
Password=mypassword
我还尝试使用“credentials.Servername.mount”作为:
https://servername.mydomain.com:3333/Shared.Folder [email protected] mypassword
没有任何效果。
所以我觉得我在这里遗漏了一些小而重要的语法或配置。我绝望地来到你身边。任何帮助,将不胜感激!
我在一个系统(Ubuntu Precise)上工作,其挂载定义/etc/fstab
如下:
/dev/vdb /mnt auto defaults,nobootwait,comment=cloudconfig 0 2
最初我只是想知道它是否是 NFS(由于潜在的 MySQL 锁定问题)。从 来看man mount
,不是:
If no -t option is given, or if the auto type is specified, mount will try to guess the desired type. Mount uses the blkid library for guessing the
filesystem type; if that does not turn up anything that looks familiar, mount will try to read the file /etc/filesystems, or, if that does not exist,
/proc/filesystems. All of the filesystem types listed there will be tried, except for those that are labeled "nodev" (e.g., devpts, proc and nfs).
If /etc/filesystems ends in a line with a single * only, mount will read /proc/filesystems afterwards.
但是,出于好奇,我怎样才能更多地了解它到底是什么类型的设备?(对于上下文,这是一个在 OpenStack 上运行的虚拟机。该设备是从某处安装的 60Gb 分配 - 但我不知道如何安装。)`
编辑包括这里的答案:
$ mount
/dev/vdb on /mnt type ext3 (rw,_netdev)
$ df -T
/dev/vdb ext3 61927420 2936068 55845624 5% /mnt