小编Cal*_*leb的帖子

Linux-KVM 网络建议?

作为一般虚拟化的新手,对 Linux 有点陌生(使用 Debian Squeeze 并且来自 BSD)我很难理解什么是我的主机的最佳网络桥接选项。许多(如果不是全部)网络上的信息似乎有些过时。

有关于 br0、tun、tap 和 vnet 等的信息。我对他们的意思和所做的事情几乎一无所知,如果有知识渊博的人能帮我把它简单化,我将不胜感激。

我想要的是我的 Debian 主机的最佳性能和灵活设置,其中 (*BSD) 来宾可以管理他们自己的防火墙 (PF)。Squeeze 主机在一个合适的硬件路由器后面有两个硬件 NIC。

在这一点上,我认为将客人放在他们自己的专用硬件 nic (eth1) 上并使用内部 ip 范围 (10.0.0.x) 而主机使用 eth0 是明智的,但我非常愿意接受来自专家:)

networking virtualization debian bridge kvm-virtualization

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

即使在代理服务备份后,mod_proxy 也会返回 503 错误

我将 Apache2 设置为由gunicorn提供的多个 python 应用程序的前端服务器。我使用 mod_proxy 的 Apache2 设置如下所示:

<VirtualHost *:80>
    ServerName example.com
    UseCanonicalName On
    ServerAdmin webmaster@localhost

    LogLevel warn
    CustomLog /var/log/apache2/example.com/access.log combined
    ErrorLog /var/log/apache2/example.com/error.log
    ServerSignature On

    Alias /media/ /home/example/example.com/pysrc/project/media/

    ProxyPass /media/ !
    ProxyPass / http://127.0.0.1:4711/
    ProxyPassReverse / http://127.0.0.1:4711/
    ProxyPreserveHost On
    ProxyErrorOverride Off
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

通常,此设置效果很好。但是我有一个问题:当我重新启动 gunicorn 进程(需要 2-5 秒)并且有来自 Apache 的请求时,该请求将失败并显示 503 错误。到现在为止还挺好。但是 Apache 不断返回 503 错误,即使在 gunicorn 进程备份之后也是如此。只有在 Apache 完全重新启动后,它才会从代理服务器恢复提供内容。

有没有办法解决这种行为?

reverse-proxy mod-proxy 503-error apache-2.2

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

如何在新服务器上禁用 VGA... 可逆?

奇怪的问题在这里。我有一台内存为 1GB 的服务器,但是在启动时显示为 768MB。我发现了它的原因——那就是它有一个与主 RAM 共享内存的非板载显卡。运行 Ubuntu Server,它实际上并没有使用任何图形——它全部设置为 SSH 连接,因此不需要使用 VGA。

我相信在 BIOS 中可能有关闭 VGA/显卡的设置,但我对你们的问题是:

  1. 这是推荐的吗?和
  2. 如果我关闭它,那么我将如何在 BIOS 中再次打开它(假设关闭它,我将无法看到打开它的选项,因为没有图形输出!!)?

bios graphical-user-interface graphics

6
推荐指数
1
解决办法
1556
查看次数

从运行会话重建 .bashrc

我不小心删除了我的 .bashrc。我仍然在运行终端。我可以恢复哪些设置?

我已经有了别名(来自alias命令)。我假设所有的 ifs 和 case 都消失了,但我想检索变量。我怎样才能做到这一点?(除了必须输入它们)。我还能恢复什么?

disaster-recovery bash

6
推荐指数
1
解决办法
2273
查看次数

最简单的 VPN 到 Amazon EC2 实例

我已经设置了一个 EC2 实例 (Windows Server 2008),我将让不同的开发人员连接到它。由于我希望连接是安全的,因此我正在尝试设置到该机器的 VPN 连接,但我对如何以最简单的方式执行此操作没有太多想法。

我希望开发人员在他的机器上简单地设置一个新的 VPN 连接,该连接将直接连接到 EC2 实例。

我想使用 AWS VPC 是一种简单的方法,但我该如何配置呢?

windows-server-2008 vpn amazon-web-services amazon-vpc

6
推荐指数
1
解决办法
4716
查看次数

使用 Find 返回引用的文件路径列表

我想创建一个 tarball,其中包含ctime小于 30 天的目录中的文件。我发现的大多数教程基本上都推荐做这样的事情:

tar cvf foo.tar $(find ~/POD -type f -ctime -30)
Run Code Online (Sandbox Code Playgroud)

问题是我想压缩的很多文件的名称中都包含空格。这意味着该tar命令将基于空格分隔,这意味着完整的文件路径将被分解。

所以现在我试图让find命令返回一个带引号的文件路径列表。所以这是我尝试过的:

find . -type f -ctime -30  | xargs printf "\"%s\"\n"
Run Code Online (Sandbox Code Playgroud)

但是这个命令也把所有基于空格的文件名分解了。然后我尝试了这个:

oldifs=$IFS
IFS=\n
find . -type f -ctime -30  | xargs printf "\"%s\"\n"
IFS=$oldifs
Run Code Online (Sandbox Code Playgroud)

但这给了我相同的结果。

有没有办法可以将完整路径名传递给tar并让所有内容都使用名称中的空格?

linux unix tar shell-scripting

6
推荐指数
1
解决办法
210
查看次数

修复mysql慢查询日志错误13的最佳实践

CentOS 5.5 MySQL 5.5 通过 yum 存储库安装

[错误] 无法使用 /var/log/mysqld.slow.log 进行日志记录(错误 13)。在 MySQL 服务器进程的整个持续时间内关闭注销。再次打开它:修复原因,关闭 MySQL 服务器并重新启动它。

使用 MySQL 5.5 的标准安装(特别是来自 webtatic 存储库),由于权限问题,慢查询日志无法开始实际记录。如果我预先创建了一个副本并且chown它属于 user:mysql 和 group:mysql,那么它就可以正常工作。

在同一个目录 ( /var/log) 中,创建和记录到 mysql.log 和 mysql.error.log 没有问题。

显然我对它有一个hackish修复,但我希望能够在它上面使用logrotate,而不需要额外的logrotate来重复hackery。(唯一比hackery更糟糕的是不得不重复hacky。)

有谁知道解决这个问题的最佳做法是什么?

mysql logging query best-practices

6
推荐指数
1
解决办法
5866
查看次数

如何创建用户并授予只读访问权限?

我需要授予 SSH 对某个目录的只读访问权限,以便他们可以查看我的 PHP 代码。

该目录是/var/www/html/websitenamehere/

我怎样才能创建一个用户并让他们通过 SSH 登录来查看该目录并只读它?那可能吗?

我习惯只以 root 身份登录。

ssh user-management centos

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

libvirt qemu/kvm 迁移问题

我在戴尔服务器上使用 kvm 和 libvirt。现在我正在尝试将一台虚拟机从物理服务器迁移到另一台。然而,我每次都失败了。

在 physicalServer1 上的 virsh 中,我输入:

virsh # migrate virtualmachine1 qemu+ssh://username@physicalServer2/system
error: operation failed: migration to 'tcp:physicalServer2:49163' failed: migration failed
Run Code Online (Sandbox Code Playgroud)

然后我在 libvirt.org 上搜索了FAQ 部分。它说:

error: operation failed: migration to '...' failed: migration failed

This is an error often encountered when trying to migrate with QEMU/KVM. This typically happens with plain migration, when the source VM cannot connect to the destination host. You will want to make sure your hosts are properly configured for …
Run Code Online (Sandbox Code Playgroud)

kvm-virtualization

5
推荐指数
1
解决办法
3504
查看次数

65k TIME_WAIT 连接的网络错误

上周我们的一台图像服务器出现了一些问题,需要一些帮助。查看我们的 munin 监控图:

在此处输入图片说明

我们正在运行 debian 挤压,我们有很多请求,因为这是我们的图像服务器之一。我们不使用 keep-alive(也许我们应该,但那是另一个话题)

这些数字是我们日志文件中每分钟的请求数:

  • 17:19:66516
  • 17:20:64627
  • 17:21:123365
  • 17:22:111207
  • 17:23:58257
  • 17:24:17710
  • ... 等等

所以你看,我们每分钟有很多请求,但由于大多数请求在 0-1 毫秒内提供服务,所以通常一切正常。

现在,正如您在我们的 munin 图形中看到的,munin 无法通过 munin 端口连接到此服务器并询问相关号码。连接失败了。由于服务器不会以任何方式(CPU、内存、网络)过载。它一定与我们的防火墙/tcp 堆栈有关。在 munin 插件连接失败时,我们在 100MBit 连接上只有 17MBit 的传入和传出流量。

您经常在这里限制 65k 的 tcp 连接,但这通常会产生误导,因为它指的是 16 位 tcp 标头并且属于每个 ip/端口组合 65k。

我们的 time_wait 超时设置为

 net.ipv4.tcp_fin_timeout = 60
Run Code Online (Sandbox Code Playgroud)

我们可以降低它以更早地删除更多 TIME_WAIT 连接,但首先我想知道是什么限制了网络的可达性。

我们正在使用带有状态模块的 iptables。但是我们已经提高了 max_conntrack 参数。

 net.ipv4.netfilter.ip_conntrack_max = 524288
Run Code Online (Sandbox Code Playgroud)

有没有人知道下周要查看哪些内核参数或如何诊断这个问题?

linux tcp time-wait

5
推荐指数
1
解决办法
1534
查看次数