我在NFS客户端属性缓存方面遇到了麻烦.我正在使用一些服务器,一个是NFS服务器,其他服务器是NFS客户端服务器.
所有服务器都是Debian(lenny,Linux的2.6.26-2-amd64),版本如下.
% dpkg -l | grep nfs
ii libnfsidmap2 0.20-1 An nfs idmapping library
ii nfs-common 1:1.1.2-6lenny1 NFS support files common to client and server
ii nfs-kernel-server 1:1.1.2-6lenny1 support for NFS kernel server
Run Code Online (Sandbox Code Playgroud)
在NFS服务器中,/ etc/exports编写如下:
/export-path 192.168.0.0/255.255.255.0(async,rw,no_subtree_check)
Run Code Online (Sandbox Code Playgroud)
在NFS客户端中,/ etc/fstab编写如下:
server:/export-path /mountpoint nfs rw,hard,intr,rsize=8192,async 0 0
Run Code Online (Sandbox Code Playgroud)
如您所见,"async"选项用于多客户端访问性能.但是,有时这会导致错误缓存错误.
由于我维护了很多服务器(并且我没有很强的权限来更改挂载选项),我不想修改/ etc/exports和/ etc/fstab.我认为,如果我有一个命令行工具,用户权限"清理"NFS客户端属性缓存就足够了.
如果有这样的命令,请告诉我.
谢谢,
我的意思是"虚假缓存错误",
% ls -l /data/1/kabe/foo
ls: cannot access /data/1/kabe/foo: No such file or directory
% ssh another-server 'touch /data/1/kabe/foo'
% ls -l /data/1/kabe/foo
ls: cannot access /data/1/kabe/foo: …Run Code Online (Sandbox Code Playgroud) 我在两个地区发布了2个相同域的证书,ap-northeast-1和us-east-1,因为我的主服务器位于ap-northeast-1,而CloudFront需要us-east-1中的证书.
我想在us-east-1中选择一个作为terraform数据源,但它们具有相同的域名.
我定义了证书资源
# ACM Certificate on us-east-1 (Global)
data "aws_acm_certificate" "cert_global" {
domain = "my.example.com"
statuses = ["ISSUED"]
}
Run Code Online (Sandbox Code Playgroud)
我提到它就像
resource "aws_cloudfront_distribution" "static" {
(snip)
viewer_certificate {
acm_certificate_arn = "${data.aws_acm_certificate.cert_global.arn}"
minimum_protocol_version = "TLSv1"
ssl_support_method = "sni-only"
}
}
Run Code Online (Sandbox Code Playgroud)
原因
1 error(s) occurred:
* aws_cloudfront_distribution.static: 1 error(s) occurred:
* aws_cloudfront_distribution.static: InvalidViewerCertificate: The specified SSL certificate doesn't exist, isn't in us-east-1 region, isn't valid, or doesn't include a valid certificate chain.
status code: 400, request id: ceece17f-6610-11e7-977d-114d7e67d7c1
Run Code Online (Sandbox Code Playgroud)
我了解terraform在两个区域检测到两个具有相同域名的证书,但不知道如何指定一个.
该文件没有说明特定资源的区域https://www.terraform.io/docs/providers/aws/d/acm_certificate.html
我如何在我们东方1使用一个?
我想libsqlite3用 Python 的特殊版本替换。我有一个特殊版本libsqlite3.so.0 /path/to/libsqlite3.so.0并配置了LD_LIBRARY_PATH. 但是,python 的内部不会加载它。
我检查并注意到以下几点:
import sqlite3加载 python 的原始/usr/lib/python2.7/sqlite/__init__.py和dbapi2.py.dbapi2.py进口_sqlite,这表明/usr/lib/python2.7//lib-dynload/_sqlite3.so。_sqlite3.so总是加载/usr/lib/i386-linux-gnu/libsqlite3.so.0,尽管设置LD_LIBRARY_PATH。libpthread.so.0到/path/to/libpthread.so.0,则_sqlite3.so加载它。因此,/path/to/libpthread.so.0已加载但未/path/to/libsqlite3.so.0加载。我想知道如何加载/path/to/libsqlite3.so.0一个特殊版本而不替换/usr/lib/i386-linux-gnu/libsqlite3.so.0(仅具有非特权许可)。