我将Docker Registry与文件系统存储驱动程序一起使用。我想要做的是将现有注册表迁移到与 S3 兼容的存储,而不会丢失数据。
虽然我可以在专用客户端上提取所有图像,重新配置注册表并再次推送,但由于已存储图像的大小和数量,我想找到一种更直接的方法。
有什么方法可以将数据从文件系统迁移到 S3 而无需重新推送图像?
我将Docker Registry与文件系统存储驱动程序一起使用。我想要做的是将现有注册表迁移到与 S3 兼容的存储,而不会丢失数据。
虽然我可以在专用客户端上提取所有图像,重新配置注册表并再次推送,但由于已存储图像的大小和数量,我想找到一种更直接的方法。
有什么方法可以将数据从文件系统迁移到 S3 而无需重新推送图像?
我想创建由 libvirt 管理的 KVM Windows 10 虚拟机的在线备份。我在来宾中设置了 qemu 代理。
如果发现此 wiki 条目表明以下内容:
1.创建离线快照
$ virsh snapshot-create-as --domain my-vm my-snapshot \
--diskspec vda,file=/export/images/overlay.qcow2 \
--disk-only --atomic --quiesce
2.备份基础镜像
$ my-backup-tool /path/to/base.image
3. 将快照后发生的 fs 更改合并回基础映像
$ virsh blockcommit my-vm hda --active --verbose --pivot
4.删除快照
$ virsh snapshot-delete my-vm --metadata my-snapshot
我的问题:文章建议提供--quiesce
参数以确保创建一致的快照(即在创建期间冻结 fs 活动),但是在例如的帮助下,第 3 步不需要做同样的事情virsh domfsfreeze
吗?在blockcommit期间正在进行的 fs 活动会发生什么?
我想分析单个 docker 容器的最大内存(RAM + 交换)使用率和最大 cpu 使用率。
我知道可以使用docker stats
and /sys/fs/cgroup/memory/docker//memory.stat(以及相应的 cpu 伪文件)来获取实时信息,但是每隔几毫秒获取这些信息似乎不是一个好方法去寻找山峰。
有什么办法可以做到这一点?我在我的主机上使用 Ubuntu 16.04 LTS 和 1.11.2。
我想在 Ubuntu Server 14.04 LTS(仅限)上使用 Postfix 2.11 将发送到本地用户帐户的邮件转发到使用另一个 SMTP 服务器的相应邮箱。
配置:
$ postconf -n
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
inet_interfaces = loopback-only
inet_protocols = all
mailbox_size_limit = 0
mydestination = localhost mydomain.tld, myhostname, localhost.localdomain, localhost
myhostname = myhostname
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = /etc/mailname
readme_directory = no
recipient_delimiter = +
relayhost = my-target-smtp-server
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes
$ cat /etc/aliases
root: [email protected]
如果我向 root 用户发送邮件
$ echo "body"| mail -s "test" root
我在/var/log/mail.log中看到以下日志条目
Nov 6 12:40:19 myhostname postfix/pickup[1854]: BD20144EC2: uid=0 from=<root>
Nov 6 12:40:19 myhostname postfix/cleanup[1898]: BD20144EC2: message-id=<20151106114019.BD20144EC2@myhostname>
Nov 6 12:40:19 myhostname postfix/qmgr[1855]: BD20144EC2: from=<[email protected]>, size=414, nrcpt=1 (queue active)
Nov 6 12:40:19 myhostname postfix/local[1901]: BD20144EC2: to=<[email protected]>, orig_to=<root>, relay=local, delay=0.15, delays=0.11/0/0/0.03, dsn=5.1.1, status=bounced (unknown user: "some-account")
Nov 6 12:40:19 myhostname postfix/cleanup[1898]: D21A344EC4: message-id=<20151106114019.D21A344EC4@myhostname>
Nov 6 12:40:19 myhostname postfix/bounce[1902]: BD20144EC2: sender non-delivery notification: D21A344EC4
Nov 6 12:40:19 myhostname postfix/qmgr[1855]: D21A344EC4: from=<>, size=2165, nrcpt=1 (queue active)
Nov 6 12:40:19 myhostname postfix/qmgr[1855]: BD20144EC2: removed
Nov 6 12:40:19 myhostname postfix/local[1901]: D21A344EC4: to=<[email protected]>, orig_to=<[email protected]>, relay=local, delay=0.07, delays=0.03/0/0/0.03, dsn=5.1.1, status=bounced (unknown user: "some-account")
Nov 6 12:40:19 myhostname postfix/qmgr[1855]: D21A344EC4: removed
那么出于什么原因,postfix 不会使用中继服务器来转发邮件。如果我从mydestination中删除了 'mydomain.tld' ,邮件将通过作为relayhost提供的 SMTP 服务器正确发送,但/etc/aliases中的所有信息都会被忽略:邮件被发送到[email protected]而不是some-account @mydomain.tld。
你知道问题可能是什么吗?
我有一个带有两个 NIC 的 Ubuntu 14.04 LTS 服务器。一个连接到内部网络(eth0,192.168.4.0/24),另一个连接到可以访问互联网的路由器(eth1,网络192.168.2.0/24)。
我想要实现的是让192.168.4.0/24网络的客户端可以上网。所以我运行了以下命令:
$ echo 1 > /proc/sys/net/ipv4/ip_forward
$ iptables -A FORWARD -i eth0 -j ACCEPT
$ iptables -A FORWARD -o eth0 -j ACCEPT
据我了解,客户端现在应该能够访问路由器,但它不起作用:
$ ping 192.168.2.1
Request timeout for icmp_seq 0
并且在最后一步启用 NAT 不起作用
$ iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
你能告诉我我的错误在哪里吗?
我的运行 postgresql 8.4.11 的 Ubuntu 14.04 LTS 服务器崩溃,重新启动后运行针对 postgresql 的查询的应用程序服务器报告以下错误
ERROR: invalid page header in block 40 of relation base/18038/22194
我用谷歌搜索,试图创建一个转储,并使用生成的错误消息来识别损坏的表。然后我执行了
SET zero_damaged_pages = on;
VACUUM FULL damaged_table;
-- vacuum didn't report any errors here
REINDEX TABLE damaged_table;
其他人提到reindexdb
了,所以我跑了
$ reindexdb -s mydb
也一样,但问题仍然存在。
最后——我从数据库中得到了一个工作备份——我删除并重新创建了整个数据库
DROP DATABASE mydb;
CREATE DATABASE mydb;
并恢复备份:
cat mydump| sudo -u postgres pgsql mydb
但即使是现在,问题仍然是一样的。我对 postgresql 了解不多,但是这样的错误如何在重新创建数据库后幸存下来?不幸的是,我需要让数据库再次在同一台机器上工作。
还有什么我可以尝试让数据库再次工作的吗?
我正在帮助组织一个小型会议。没有互联网连接,因此我们仅限于容量有限的移动 LTE 连接。
我们有一个基于 Ubuntu 的服务器充当路由器,提供 DHCP 和 DNS 服务器,并从其子网 192.168.1.0/24 路由到 LTE 连接(USB 记忆棒)。
即使我们从内部网络到基于 LTE 的互联网的 NAT 配置工作,我们希望防止客户端使用太多有价值的数据量,并将每个客户端(MAC 地址?)限制为一定数量的数据,例如100MB。如果客户端达到该限制(上传和下载的总和),我们希望得到通知(日志条目就足够了),他应该被限制(如果可能)或切断互联网连接(但他仍然应该能够在本地网络中通信)。
是否有任何机制或软件可以用于这种情况?
能否在Windows Server 2012 R2上远程回收IIS 8.5的某个应用程序池?
我想在使用远程服务器管理员组中的域用户帐户登录另一台运行 Windows 7 的计算机时触发此操作。
我在 Debian 7.7 Whezzy 上使用当前的 OpenSSH 版本,根据dpkg,即 1:6.0p1-4+deb7u2。
我将 OpenSSH 配置为允许客户端使用 SFTP 进行连接,并在 chrooted 环境中读取和修改(上传或替换)任意文件。
我希望在发生更改(删除、上传或替换)时触发脚本,如果可能,以及更改成功或失败时触发。
例如,如果 Alice 上传了一个文件/foo/bar.pngnotify.sh alice /home/alice/foo/bar.png UPLOAD SUCCESS
,就会调用一个脚本。
有没有办法实现这一点?
我有一个 IIS 8.5 运行 RESTful ASP.NET 4.5 WCF 服务作为 Windows Server 2012 R2 上的应用程序。
在服务维护期间,我希望对 WCF 服务(https://server/path/service.svc/whatever/path)的所有请求都产生自定义错误代码(例如 555)和静态 JSON 响应(静态内容和正确的 Content-Type标头)。由于应该有一些自动触发的维护,因此如果可以通过编程方式触发此 IIS 行为,那就太好了。
您是否知道是否有某种方法可以为特定 URL(以及所有 REST-ful 子路径,请参见上面的示例 URL)临时提供静态 JSON 内容,并另外使用自定义 5xx 错误代码(而不是 200)作为 HTTP 响应代码?