我们有一个内部网络服务器(虚拟化,托管 ReviewBoard,但不是超级相关),我们有一个相对一致的失败模式,失败的 NFS 挂载导致 / 被填满。Distro 是 Ubuntu(不要问)如果一个解决方案依赖于不同的发行版,它的实现会更慢。
正在对 /mnt/backup/ 执行备份,这应该是将 NFS 挂载到另一个系统。不幸的是,当挂载失败或掉线时,会在根文件系统上执行备份,正如您想象的那样,在 / 已满之前不会花很长时间,然后服务开始失败。
已经讨论了许多可能的解决方案。
监视 /mnt/backups 并确保它不是 root。也许是一项 cron 工作。
使用 /mnt/protected/backups,并首先将 /protected 挂载到一个小文件系统,也许是一个循环挂载到本地文件,这样它就不太可能失败。
chmod a-rwx /mnt/backups(根文件系统挂载点)。我不确定安装在受保护的导演上是否可行,我认为确实如此。
在挂载的树上创建一个名为“Backups”的目录,然后软链接“ln -s /mnt/backup/Backups /Backups”。除非挂载 /mnt/backup,否则使用 /Backups 进行备份将失败,因为本地树不包含子目录。
执行检查目录是否正确安装在备份脚本中。
我对这些方法的任何反馈、利弊或人们用作保护根文件系统免受此类恶意行为的标准方法的任何其他技术感兴趣。
在服务器节点上,可以访问导出的文件夹。但是,在重新启动(服务器和客户端)后,客户端将无法再访问该文件夹。
在服务器上
# ls /data
Folder1
Forlder2
Run Code Online (Sandbox Code Playgroud)
并且 /etc/exports 文件包含
/data 192.168.1.0/24(rw,no_subtree_check,async,no_root_squash)
Run Code Online (Sandbox Code Playgroud)
在客户端
# ls /data
ls: cannot access /data: Stale NFS file handle
Run Code Online (Sandbox Code Playgroud)
我不得不说客户端的共享文件夹没有问题,但是在重新启动(服务器和客户端)后,我看到了这条消息。
有什么办法可以解决吗?
mount 显示挂载设备,如:
/dev/mapper/VolGroup01-LogVol00 on /var type ext3 (rw)
Run Code Online (Sandbox Code Playgroud)
或者
/dev/mapper/VolGrp_backups-backups on /mnt/backups type ext3 (rw)
Run Code Online (Sandbox Code Playgroud)
但
iostat 使用 dm- 表示法。像dm-0,dm-1等等。
我在哪里可以找到一种方法来知道哪个是哪个?
我很难找到这个问题的答案
mount --bind 是否在重启后持续存在?
在我的 CentOS 上,它看起来没有,所以我在 rc.local 中放置了适当的 mount --bind 调用。
如何执行 mount --bind 以避免 rc.local 场景?
我使用 SSHFS 在我的主机上挂载一个远程文件系统,我希望能够从 Docker 容器内部访问它。
我挂载远程文件系统
sshfs -o idmap=user,uid=$(id -u),gid=$(id -g) user@remote:directory /path/to/sshfs
而且,使用 Docker,根据我的使用情况,我收到以下错误--mount:
docker run -it -v /path/to/sshfs:/target myimage bash
docker: Error response from daemon: error while creating mount source path '/path/to/sshfs': mkdir /path/to/sshfs: file exists.
Run Code Online (Sandbox Code Playgroud)
或-v:
docker run -it --mount src=/path/to/sshfs,target=/target,type=bind myimage bash
docker: Error response from daemon: invalid mount config for type "bind": bind source path does not exist: /path/to/sshfs.
See 'docker run --help'
Run Code Online (Sandbox Code Playgroud)
是否可以将 sshfs 挂载点挂载到容器中?
有时我会弹出一个 USB 设备,通常是记忆棒或外部硬盘,当我认为我已经完成了数据传输时,却发现我需要用它做其他事情。通常,这仅涉及拔下设备并将其重新插入。如果我从远程进行工作呢?是否有我可以运行的命令可以让 Windows 重新检测并安装设备?
更新:
感谢所有回复的人。
尽管一些建议的方法会起作用,但如果另一个设备通过同一集线器连接,它们也会导致问题。其他人,例如 devcon,可能对其他人有效,但对我来说却失败了,尽管我不知道为什么不这样做,也不会进一步调查。
我宁愿不必依赖商业产品,但在接受的答案中建议的 Safelyremove 在我的测试中运行良好,我认为它是一个守护者。
服务器:RHEL 5.9 / smbd 3.0.33 - 客户端:各种,但都使用当前的 mount.cifs (5.2)
我已经解决了这个问题,但是追查这些错误代码真是一场噩梦,我觉得它需要通用文档。
症状:从一个特定的 cifs 客户端到 linux samba 服务器的不可预测的间歇性安装失败。我所有的 linux 客户端 pam_mount 用户都在登录时回家。随机地,偶尔地,家庭目录安装开始在一台机器上失败。登录和挂载继续在所有其他客户端上完美运行。最初我认为损坏的客户端上异常数量的活动导致 smbd 异常,但即使在使用停止后间歇性故障仍然存在。
尝试手动挂载失败并报告:
Errors from underlying mount program
mount error(12): Cannot allocate memory
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
Run Code Online (Sandbox Code Playgroud)
<debug enable="1"/>在 /etc/security/pam_mount.conf.xml 中设置以从 pam_mount 获取更多信息:
command: 'mount' '-t' 'cifs' '//my_server/watdo' '/home/watdo' '-o' 'user=watdo,uid=666,gid=666'
pam_mount(misc.c:38): set_myuid<pre>: (ruid/rgid=0/0, e=0/0)
pam_mount(misc.c:38): set_myuid<post>: (ruid/rgid=0/0, e=0/0)
pam_mount(mount.c:64): Errors from underlying mount program:
pam_mount(mount.c:68): mount error(12): Cannot allocate memory …Run Code Online (Sandbox Code Playgroud) 我必须更新 Intel S3420GPLC 板。BIOS、BMC、FRU/SDR,全部。
在英特尔下载中,一切都几乎是自动化的。您应该启动到集成的 EFI shell,安装 USB 磁盘/密钥,并启动startup.nsh下载中包含的脚本。
问题是,我同时尝试了 4GB USB 密钥和更大的 60GB USB 磁盘,但效果不佳。当然,两者都有 FAT32 文件系统。
当将它们插入并map -r从 EFI shell运行时,密钥甚至没有列出。磁盘显示为blk0,我可以切换到它。问题是进入脚本:
ls或dir命令返回"Cannot open current directory - Not found" cd update 返回 "Target directory not found"看起来磁盘也没有正确安装。关于我可以尝试的命令或可以关闭的 BIOS 设置的任何指示?
编辑,新信息:
mount blk0 fs0只是创建了一个别名,blk0但并没有使它更具可读性。我想知道为什么我的 Ubuntu Server 14.04 LTS 在从 fstab 解析主机名时出现问题。我尝试挂载以下条目:
//NAS-5h2-20/backuppc/ /mnt/backuppc cifs auto,user=THEUSER,password=THEPASSWORD,cifsacl,uid=109 0 0
Run Code Online (Sandbox Code Playgroud)
安装失败并出现错误
mount: wrong fs type, bad option, bad superblock on //NAS-5h1-15/backuppc,
missing codepage or helper program, or other error
(for several filesystems (e.g. nfs, cifs) you might
need a /sbin/mount.<type> helper program)
In some cases useful info is found in syslog - try
dmesg | tail or so
Run Code Online (Sandbox Code Playgroud)
和系统日志条目:
Unable to determine destination address.
Run Code Online (Sandbox Code Playgroud)
但是,如果我将主机名NAS-5h2-20交换为其 IP 192.168.1.29,这就像一个魅力。但是,出于可移植性的原因,我想在 fstab 中按主机名映射挂载。
的内容的/ etc /主机 …
第一次海报 - 如果我没有正确遵守礼仪,我深表歉意。
\n我有一个大约 200TB 的 RAID6 阵列,包含 30 个磁盘,但无法安装它 - 我只收到消息:
\nmount /dev/md125 /export/models\nmount:/dev/md125: can't read superblock\nRun Code Online (Sandbox Code Playgroud)\n如果我运行mdadm --detail它,它显示为干净的:
/dev/md125:\n Version : 1.2\n Creation Time : Wed Sep 13 15:09:40 2017\n Raid Level : raid6\n Array Size : 218789036032 (203.76 TiB 224.04 TB)\n Used Dev Size : 7813894144 (7.28 TiB 8.00 TB)\n Raid Devices : 30\n Total Devices : 30\n Persistence : Superblock is persistent\n\n Intent Bitmap : Internal\n\n Update Time : Fri …Run Code Online (Sandbox Code Playgroud)