标签: nfs

解决NFS问题

我们的应用程序使用嵌入式Solr实例进行搜索 数据目录位于NFS上,我无法更改.Solr的用法非常简单,有一个线程定期更新索引,并且有几个读者线程 - 这些都在一个java进程中.没有其他Solr交互发生.

使用默认的"solrconfig.xml",我有时遇到"java.nio.channels.OverlappingFileLockException".据我所知,原因实际上是"SimpleFSLockFactory"与NFS无法正常工作.

问题:

  1. 鉴于上面描述的应用场景(没有并发索引修改),NoLockFactory不应该足够吗?使用NoLockFactory有什么缺点吗?如果我设置NoLockFactory,我会在错误日志中收到一些条目,说"配置警告:锁被禁用".为什么该消息会进入错误日志?这真的被认为是一个错误的案例,为什么?

  2. 也许有比使用"NoLockFactory"更好的解决方案?

  3. 不确定这与NFS有关,但有时(很少见)我的索引被破坏了,并且在尝试更新索引时我得到了很多"java.io.FileNotFoundException:_i.fdx".除了手动删除整个索引目录并从头开始之外,没有办法解决这个问题.为什么会发生这种情况,是否有任何优雅的方法可以自动检测损坏的索引并恢复?

indexing solr nfs

3
推荐指数
1
解决办法
3482
查看次数

如何检查C代码目录是否在NFS文件系统上?

在我的C/C++程序中,我想检查用户指定的数据目录是否驻留在NFS文件系统上.需要进行检查,因为远程NFS目录的数据处理延迟/带宽更差.如果数据目录是NFS,我想向用户发出警告.

我怎样才能做到这一点?我认为有stat()调用应该可以帮助我,但细节不明确.

我在Linux上.

linux nfs stat

3
推荐指数
1
解决办法
2349
查看次数

如果NFS服务器已挂载并联机,请检入python脚本

我有一个类似于检查NFS共享是否挂载在python脚本中的问题,但在我的情况下,NFS服务器已挂载,但服务器崩溃并脱机.我试图通过使用考虑到这一点,os.dir.ismount('/path/to/mountpoint/)但我的问题是这个命令需要永远完成.

当我试图做一个简单的ls /path/to/mountpoint命令时,这个命令也没有完成.有什么根本错误的吗?我的设置是一个Linux NFSv3服务器和一个Linux NFS客户端.

我通常希望如果NFS服务器不可安装或不再可访问,则该ls命令显示本地目录的内容而不是暂停终端.

python linux nfs

3
推荐指数
1
解决办法
4592
查看次数

mmap local v/s nfs文件:在磁盘上替换基础文件时会发生什么?

假设文件被替换(同名)批发而不是就地修改(即创建一个temp然后重命名为filename).

我想这个更改不会影响本地mmap,因为内核仍然有磁盘上旧文件(inode)的句柄.

但是,由于NFS是无状态的,mmap是否会在mmap的(长)生命周期内混淆并混淆旧/新文件内容?

在我看来,read/readv是处理NFS挂载文件的唯一安全方法.

nfs mmap

3
推荐指数
1
解决办法
1824
查看次数

从linux中的其他机器挂载文件夹

我想将其他机器上的文件夹挂载到我的linux服务器上.为此,我使用以下命令

mount -t nfs 192.xxx.x.xx:/opt/oracle /
Run Code Online (Sandbox Code Playgroud)

哪个正在执行以下错误

mount.nfs: access denied by server while mounting 192.xxx.x.xx:/opt/oracle
Run Code Online (Sandbox Code Playgroud)

有谁知道发生了什么?我是linux的新手.

linux nfs

3
推荐指数
1
解决办法
2万
查看次数

gc.log是异步编写吗?安全地将gc.log放在NFS挂载上?

我多次听到将gc.log放在NFS卷上的想法很糟糕,因为这可能会导致gc暂停时间更长。当前的jdk(8u25)仍然是这种情况吗?

java performance garbage-collection nfs

3
推荐指数
1
解决办法
530
查看次数

NFS挂载系统调用linux

我正在尝试将源目录从nfs服务器挂载到具有linux的嵌入式主板中的目标目录.以下命令在板中的shell提示符中按预期完美地工作.

mount -t nfs -o nolock 10.126.62.45:/vol/home/avinoba/Sky /mnt
Run Code Online (Sandbox Code Playgroud)

在上面的命令的程序中使用的等效系统调用是什么?我尝试了以下调用但挂载失败并显示"无效参数"

if(mount("10.126.62.45:/vol/home/avinoba/Sky","/mnt","nfs",MS_MGC_VAL,"nolock") == -1)
{
     printf("ERROR: mount failed: %s \n",strerror(errno));
}
Run Code Online (Sandbox Code Playgroud)

请建议解决方案是什么.

谢谢

mount nfs embedded-linux

3
推荐指数
1
解决办法
2336
查看次数

Android NFC设备所有者配置:发送自定义属性.可能吗?

我正在开发一个应用程序,并有以下问题.

在使用NFC进行设备所有者配置时,我想发送一个字符串,该字符串将由新设备所有者应用程序使用.

我知道设备所有者配置的标准MIME属性,可在此处找到

这是一个片段,可以让您更好地了解我的问题.注意"myCustomValue"属性.

Properties properties = new Properties();
properties.put("myCustomValue", value);
properties.put(DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME, "com.example.some.app");
try {                    
    properties.store(stream, "NFC Provisioning");            
    ndefMessage = new NdefMessage(new NdefRecord[{NdefRecord.createMime(DevicePolicyManager.MIME_TYPE_PROVISIONING_NFC, stream.toByteArray())});
} catch (IOException e) {                         

}
Run Code Online (Sandbox Code Playgroud)

这个片段在里面

public NdefMessage createNdefMessage(NfcEvent event)
Run Code Online (Sandbox Code Playgroud)

你可以在这里找到一个模板

如果可能,我也想知道如何在配置的应用程序启动后立即检索该字符串值.

java android nfs provisioning

3
推荐指数
1
解决办法
582
查看次数

为什么sqlite3无法在Amazon Elastic File System上运行?

当我尝试sqlite3在EFS目录上创建基础时,这会导致错误:

$ sqlite3 foo.db SQLite version 3.7.17 2013-05-20 00:56:22 Enter ".help" for instructions Enter SQL statements terminated with a ";" sqlite> .log stderr sqlite> CREATE TABLE foo (int bar); Error: disk I/O error

有问题的Sqlite3数据库应仅用于故事元数据,并且不经常更新.不需要并发访问.但是,如果创建数据库的进程终止,则需要在不同的主机上重新启动该进程,并继续执行先前实例退出的位置.

亚马逊声称EFS是一个"文件系统,可以通过文件系统接口(使用标准操作系统文件I/O API)访问Amazon EC2实例,并且支持完整文件系统访问语义(例如强一致性和文件锁定) )".因此,我认为它适合手头的任务.

挂载选项/etc/fstab包括:

eu-west-1a.fs-ID.efs.eu-west-1.amazonaws.com://efs nfs4 nfsvers = 4.1,rsize = 1048576,wsize = 1048576,hard,timeo = 600,retrans = 2 0 0

据我所知,通常不鼓励将数据库放在NFS上.但是,我相信,鉴于亚马逊和SQLite使用的语言,开发人员将继续尝试.

linux sqlite nfs amazon-web-services

3
推荐指数
2
解决办法
1883
查看次数

mount.nfs:ubuntu 14.04.1 LTS上的连接超时

我尝试首次创建nfs服务器。尝试安装到服务器时,出现错误“ mount.nfs:连接超时”。我的服务器版本是ubuntu 14.04.5 LTS,而我的客户端是ubuntu 14.04.1 LTS。以下是我执行的步骤。

在服务器端:

#vi / etc / exports

/home/nfs           192.168.13.81(rw,async,no_root_squash)
Run Code Online (Sandbox Code Playgroud)

#sudo服务nfs-kernel-server重新启动

#sudo exportfs -u

/home/nfs       192.168.13.81
Run Code Online (Sandbox Code Playgroud)

在客户端:

#sudo安装192.168.13.80:/home/nfs / home / nfs

mount.nfs: Connection timed out
Run Code Online (Sandbox Code Playgroud)

在尝试时

#sudo mount -t nfs4 -o proto = tcp,port = 2049 192.168.13.80:/home/nfs / home / nfs

mount.nfs4: mounting 192.168.13.80:/home/nfs failed, reason given by server: No such file or directory
Run Code Online (Sandbox Code Playgroud)

“#rpcinfo -p”给出:

program vers proto   port  service
    100000    4   tcp    111  portmapper
    100000    3   tcp    111  portmapper
    100000    2   tcp    111 …
Run Code Online (Sandbox Code Playgroud)

nfsclient nfs ubuntu-server ubuntu-14.04

3
推荐指数
1
解决办法
8753
查看次数