小编poi*_*ige的帖子

令人难以置信的低 KVM 磁盘性能(qcow2 磁盘文件 + virtio)

我在设置 KVM 来宾时遇到了一些严重的磁盘性能问题。使用简单的dd测试,qcow2 映像所在的主机分区(镜像 RAID 阵列)的写入速度超过120MB/s,而我的来宾写入速度从0.5 到 3MB/s不等。

  • 来宾配置了几个 CPU 和 4G 内存,目前没有运行其他任何东西;目前这是一个完全最小的安装。
  • 性能测试使用time dd if=/dev/zero of=/tmp/test oflag=direct bs=64k count=16000.
  • 来宾配置为使用 virtio,但这似乎对性能没有影响。
  • 主机分区是 4kb 对齐的(无论如何,主机上的性能很好)。
  • 在磁盘上使用写回缓存会大大提高报告的性能,但我不想使用它;即使没有它,性能也应该比这好得多。
  • 主机和来宾都运行 Ubuntu 12.04 LTS,它带有 qemu-kvm 1.0+noroms-0ubuntu13 和 libvirt 0.9.8-2ubuntu17.1。
  • 主机启用了截止时间 IO 调度程序,来宾具有 noop。

似乎有很多指南可以调整 kvm 性能,我最终会到达那里,但似乎此时我应该获得比这更好的性能,所以似乎有些事情已经非常错误了。

更新 1

突然,当我现在回去测试时,它是26.6 MB/s;这更像是我对 qcrow2 的期望。如果有人对可能是什么问题有任何想法(并且以防它再次神秘地返回),我会留下这个问题。

更新 2

我不再担心 qcow2 的性能,只是使用原始图像切换到 RAID1 上的 LVM,仍然使用 virtio,但在磁盘驱动器上设置 cache='none' 和 io='native'。写入性能现在是 appx。135MB/s使用与上述相同的基本测试,所以当它可以很容易地完全解决时,弄清楚问题是什么似乎没有多大意义。

performance qcow2 kvm-virtualization

32
推荐指数
6
解决办法
8万
查看次数

SQL Server 2008 Express - “最佳”备份解决方案?

使用SQL Server 2008 Express时,您会推荐哪些备份解决方案?我对 SQL Server 很陌生,但由于我来自MySQL背景,我想在另一台计算机上设置复制,然后对该服务器进行Xcopy备份。

但不幸的是,复制在 Express Edition 中不可用。

该站点被大量访问,因此必须没有延迟和停机时间。我也在考虑每天做两次备份什么的。

你会推荐什么?我有多台计算机可以使用,但我不知道这是否对我有帮助,因为我使用的是 Express 版本。

windows backup sql sql-server-2008

20
推荐指数
3
解决办法
7万
查看次数

KVM 是否可以在线调整磁盘大小?

我们正在一些项目中评估用于 Linux 虚拟化的 KVM。到目前为止一切进展顺利。但我们的要求之一是能够为正在运行的来宾添加磁盘空间而无需重新启动或使其脱机。这可以用 KVM 实现吗?

到目前为止,我唯一发现的(但尚未测试)是能够将磁盘热插拔到机器中。如果我走这条路,那么我总是可以将新磁盘添加到来宾上的 LVM 卷组,然后扩展所选的逻辑卷。这种方法的最大缺点是,随着时间的推移,我们最终可能会导致客户拥有可变数量的虚拟磁盘。“真正的”磁盘空间将通过 SAN 提供给主机,因此我们可以随时向主机添加更多空间。

linux hard-drive lvm kvm-virtualization

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

iptables 规则允许所有出站本地来源的流量?

我想知道是否有人可以帮助我制定以下 iptables 规则:

我们希望允许任何和所有本地来源(如在运行 iptables 的服务器上)流量。

DNS、HTTP 等……所有这些。应该允许由运行 iptables 的服务器发起的任何连接。

目前我们基本上使用的是 OUTPUT 默认策略,ACCEPT。这样对吗?输入被阻止,所以我假设这意味着连接(除了我们允许的那些)无法启动,因为它们会在我们这边达到 OUTPUT 策略之前被丢弃?

抱歉,我的 iptables 技能很弱 ;)

非常感谢你。

iptables

11
推荐指数
1
解决办法
7万
查看次数

在 OpenVZ 容器中完全忽略 ip6tables 规则

我们已经使用桥接 veth 设备在 openvz 上设置了 IPv6 网络。进出 VE 的 IPv6 流量工作正常。

ip6tables 在 HN 上工作,iptables 在 VE 上工作。在 VE 中,我们可以设置 ip6tables 规则而不会出现任何错误消息。然而,它们完全被忽略。

ip6tables 需要哪些额外的配置选项才能工作?

ipv6 openvz

9
推荐指数
1
解决办法
808
查看次数

具有分布式文件系统上的数据的容器化 PostgreSQL

我很好奇是否有人在某种形式的分布式文件系统上的生产容器中实际运行 PostgreSQL - 最好是 GlusterFS 或任何东西。

我目前正在运行 Mesos/Marathon。如果 PostgreSQL 节点发生故障,Marathon 只需在其他节点上启动另一个 PostgreSQL 实例,如果做得好(服务发现和应用程序从数据库连接丢失中恢复),将实现最终的容错。

我知道PostgreSQL有自己的HA解决方案,比如日志传送和热备备份,但是仍然需要解决什么时候从主切换到从,如何正确切换等等问题。

那么,您如何在 GlusterFS 或类似产品上运行 PostgreSQL?如果是这样,它是否稳定?性能怎么样?

postgresql glusterfs docker

9
推荐指数
1
解决办法
3965
查看次数

如果散列受 CPU 限制,如何检查大文件身份?

对于小文件散列就可以了,但是对于大文件,您可以轻松找到md5sumCPU 限制。是否有任何散列算法能够在多核上横向扩展?任何解决方法?想法?任何事物?:)

multi-core hash big-data

9
推荐指数
2
解决办法
6969
查看次数

本地路由表有什么用?

我想了解什么是本地路由表。

如果我使用以下命令在其中添加一个随机地址:

sudo ip route add to local <any-ip-address> dev <network interface>
Run Code Online (Sandbox Code Playgroud)

现在我可以 ping 这个地址,但是 ifconfig 列出的接口没有使用这个地址。

例子:

$ ping 192.168.22.22 -w 1
PING 192.168.22.22 (192.168.22.22) 56(84) bytes of data.

--- 192.168.22.22 ping statistics ---
1 packets transmitted, 0 received, 100% packet loss, time 0ms

$ sudo ip route add to local 192.168.22.22 dev wlp2s0
$ ping 192.168.22.22 -w 1
PING 192.168.22.22 (192.168.22.22) 56(84) bytes of data.
64 bytes from 192.168.22.22: icmp_seq=1 ttl=64 time=0.018 ms
64 bytes from 192.168.22.22: icmp_seq=2 …
Run Code Online (Sandbox Code Playgroud)

routing route ifconfig linux-networking iproute2

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

DNS 记录说“此域没有邮件服务器”的一种方法?

设置显示“此域没有邮件服务器”的 DNS 记录的适当方法是什么?

我假设我需要一个特殊的 MX 记录来执行此操作,否则将假定 A 记录是答案。

我问这个问题是因为在前线停止邮件似乎会更好,因此拒绝相关域的邮件不会成为网络服务器的责任。

domain-name-system email blackhole mx-record

8
推荐指数
1
解决办法
4897
查看次数

为什么“find -mtime”在不同时区的文件上不能按预期工作?

我在服务器上有几个月前的日期的一些文件,但它们是不可见的find -mtime 7搜索。

当我用 列出它们时ls -l,它们看起来完全正常:

-rw-r--r-- 1 root root    347253 Jun 12 16:26 pedia_main.2010-06-12-04-25-02.sql.gz
-rw-r--r-- 1 root root 490144578 Nov 24 16:26 gsmforum_main.2010-11-24-04-25-02.sql.gz
Run Code Online (Sandbox Code Playgroud)

“find .-mtime 1”看不到顶层文件,但底层可见。

我几乎把头撞在墙上试图理解为什么。我尝试了一些随机的东西并遇到了ls --full-time命令。它表明这两者在某种程度上有点不同

-rw-r--r-- 1 root root    347253 2010-06-12 16:26:20.000000000 +0400 pedia_main.2010-06-12-04-25-02.sql.gz
-rw-r--r-- 1 root root 490144578 2010-11-24 16:26:12.000000000 +0300 gsmforum_main.2010-11-24-04-25-02.sql.gz
Run Code Online (Sandbox Code Playgroud)

日期好像没问题。一个位+0400作为时区,另一个位是+0300. 为什么find找不到带有 的那些+0400

操作系统是最新更新的CentOS 5.5 Final,ls版本是(GNU coreutils) 5.97.

另外,问题是我不明白文件的这个“时区”存储在哪里。该索引节点没有任何额外的属性来存储它们看起来。服务器上的文件系统是ext4

linux find centos timezone mtime

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