AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-116756

nn4l's questions

Martin Hope
nn4l
Asked: 2018-07-31 03:13:48 +0800 CST

问:如何通过 Puppet 和 Hiera 定义 Apache 模块?

  • 0

我目前正在将 Puppet 与 Foreman 1.17 和 puppetlabs/apache 3.1.0 版一起使用。所有虚拟主机都使用 .yaml 文件定义:

apache::vhost:
  vm12345_ssl:
    servername: my.example.com
    docroot: /home/my.example.com/web
    logroot: /home/my.example.com/log
    (... more configuration)

现在我还想通过 Hiera / yaml 文件指定所需的 Apache 模块。但我找不到任何文档或示例如何执行此操作。一个网站推荐apache::mod::proxy: true;我尝试了这个以及它的变体,但无法让它工作。

我想要完成的事情:我正在使用 Puppet 角色和配置文件模式,并且我的 webapp 配置文件每个都包含以下行:

class profile::webapp::my_webapp_01 (
    ... some parameters
  ) {

  include profile::java
  include apache
  apache::mod { 'proxy': }
  apache::mod { 'proxy_ajp': }
  apache::mod { 'proxy_http': }
  ... more webapp-specific configuration

我的节点看起来像:

node 'vm12345' {
  ...
  include profile::webapp::my_webapp_01
  include profile::webapp::my_webapp_02
  include profile::webapp::my_webapp_03
}

当我在每个 VM 中只包含一个 webapp 时,一切都很好,但是一旦我在 VM 中包含几个 webapp,我就会收到“重复声明”错误。我认为解决这个问题的正确方法是使用 Hiera 来指定 Apache 模块,而不是显式地将它们定义到配置文件中。

请告知如何通过 Hiera 和 yaml 文件指定 Apache 模块,或者如果整个方法被破坏,请告知如何为 Apache 模块编写配置文件声明,以便可以多次包含它们。

puppet
  • 2 个回答
  • 1056 Views
Martin Hope
nn4l
Asked: 2017-04-23 10:06:10 +0800 CST

如何在排除已删除文件的同时使用 Bareos/Bacula 恢复目录?

  • 1

我想恢复一个目录,使其与原始目录相同。原目录中已删除的文件不应恢复。

考虑一个配置文件目录:这个目录和内容的原始版本将在第一次完整备份中。随着时间的推移,一些文件将被故意删除。但它们在增量备份中并未标记为已删除。

如果我从备份中恢复这个目录并且删除的文件再次出现,我最终会得到不同的配置,所以恢复的系统不可用。

在使用 web-ui 评估 Bareos 时,我不知道如何设置恢复过程,以便不恢复过去删除的文件。请告知如何做到这一点。

如果使用 Bareos/Bacula 无法做到这一点,您能否推荐一个满足此要求的不同备份?

backup
  • 1 个回答
  • 1722 Views
Martin Hope
nn4l
Asked: 2016-06-23 05:24:25 +0800 CST

出于安全原因阻止端口 80 有什么缺点吗?

  • 1

为了提高安全性,我们希望对我们托管的所有客户站点进行 https 访问,并在我们的条款和条件中保证这一点。

问题是当前 Apache 网络服务器配置为使用“永久重定向”Apache 指令将所有 http 请求重定向到 https 请求。从技术上讲,我们仍在使用不安全的 http 协议,尽管它仅用于重定向,并且无法通过 http 访问任何客户数据。

两个问题:

  1. 完全封锁80端口有什么坏处吗?我能想到的唯一缺点是客户被迫在其网址前输入 https://,而不是依赖自动重定向。

  2. 如果客户发送 http POST 请求,Apache httpd 会在实际 POST 数据传输到我们的服务器之前响应重定向,还是仅在收到(未加密的)客户数据后才发送重定向?

请指教。


在考虑您的意见后,我们将对我们的网络设置进行以下更改:

  1. 将修改各个客户虚拟机,使其不再侦听端口 80。重定向配置也将被删除。
  2. 将配置防火墙,以便将任何端口 80 流量路由到一个特殊服务器,该服务器的唯一目的是向发送者返回正确的重定向响应。
  3. 为了获得最大的安全性,这个特殊的服务器将位于与所有其他系统不同的 VLAN 中,我们甚至可以使用 Raspberry Pi 等专用硬件来代替标准 VM。
  4. 将为所有客户实例添加 HSTS 支持。

通过使用此设置,我们可以证明没有未加密的流量到达或离开客户网络,同时仍提供用户友好的自动重定向到 https。

apache-2.2 security
  • 3 个回答
  • 1016 Views
Martin Hope
nn4l
Asked: 2015-08-02 02:31:54 +0800 CST

monit:如何在不使服务器超载的情况下重新启动许多 Tomcat?

  • 0

我的服务器有几个单独的 Apache Tomcat 实例,每个实例都需要大量时间和 CPU 才能启动。不可能同时启动所有这些。这会产生过多的 I/O,每个服务将需要更长的时间才能启动,并且服务甚至可能由于内部超时而无法启动。

这是一些描述我想要做的伪代码。我将如何使用 monitrc 文件完成此操作?

check process service01 with pidfile /var/run/service01.pid
    start program = "/usr/sbin/service service01 start" with timeout 60 seconds
    stop program  = "/usr/sbin/service service01 stop"
    if does not exist then
        wait a random number of seconds (between 2 and 5 minutes)
        if the cpu load is < 100% then
            start program
        else 
            do nothing (check again in the next cycle)

check process service02 with pidfile /var/run/service02.pid
....

将为 10 个服务中的每一个重复此代码块。

关键步骤是随机等待。否则,如果服务器空闲并且没有服务在运行(例如在 'killall -9 java' 之后),monit 将检查所有服务,发现 cpu 负载现在很低,并立即启动所有服务。

monitoring
  • 2 个回答
  • 704 Views
Martin Hope
nn4l
Asked: 2015-05-15 11:42:50 +0800 CST

Puppet:如何使用一组通用包但允许例外?

  • 2

我有大约 200 个或多或少相同的 Linux VM。所有常见配置都有一个类:

class my_packages {

    class { "::ntp":
        servers     => [ "de.pool.ntp.org" ],
    }
    ....
}

我将其包含在 site.pp 的每个节点中。

现在我想运行我自己的本地时间服务器,使用 puppetlabs/ntp 包很简单。我只需将 my_packages 中的 servers 条目替换为新时间服务器 VM 的 IP 地址,该 VM 现在具有与之前在 my_packages 中使用的相同的 ntp 类条目。

node 'mytime' {

#    include my_packages

    class { '::ntp':
        servers => [
            'de.pool.ntp.org',
            'ptbtime1.ptb.de',
            'ptbtime2.ptb.de',
            'ptbtime3.ptb.de',
        ],
    }
    ...
}

但是,由于现在在节点中定义了类“::ntp”条目,因此我无法在我的新时间服务器 VM 的节点条目中包含 my_packages,因为在这种情况下会出现“重复声明”错误。

使用本地名称服务器时也发生了类似的问题。每个 VM 都有一个指向本地名称服务器的 /etc/resolv.conf 文件,因此在 my_packages 中有一个文件资源。但是本地名称服务器本身必须有一个不同的 /etc/resolv.conf 文件——在安装完成之前它不能指向自己,而在安装过程中并非如此。

使用一组通用资源但允许偶尔例外的最佳做法是什么?

puppet
  • 1 个回答
  • 125 Views
Martin Hope
nn4l
Asked: 2014-12-26 02:54:11 +0800 CST

仅当输出文件已更改时才运行 puppet exec 命令

  • 8

我正在使用 exec 命令运行修改其他包的某些配置文件的 shell 脚本。每当 ip 地址、端口或 url 等输入参数发生变化,或者 shell 脚本本身发生变化时,都会触发 exec 命令。

我必须使用 shell 脚本,因为软件包的配置文件在不同版本之间略有不同。我认为更新每个 sed 脚本的配置文件比为每个特定版本提供不同的 puppet 模板更容易。

但是此配置不会检测到任何配置文件何时在 puppet 之外被修改。Puppet 不知道由 shell 脚本修改的文件。

我正在寻找的是一种使 exec 命令依赖于任意其他文件的校验和的方法:

exec { "my_command.sh":
  only_if_file_has_changed => [ 
    "/etc/mysoftware/config.xml", 
    "/etc/othersoftware/defaults", 
  ]
}

这可能吗?请指教。

puppet
  • 2 个回答
  • 17641 Views
Martin Hope
nn4l
Asked: 2014-11-20 14:06:41 +0800 CST

Debian 无人值守升级不会升级所有软件包

  • 5

我已经安装了 Debian 无人值守升级包。它升级了大多数包,但不是所有包。如果我apt-get upgrade在它运行后执行,将会安装更多的包。

这是我的/etc/apt/sources.list:

deb http://ftp.de.debian.org/debian/ squeeze main non-free
deb-src http://ftp.de.debian.org/debian/ squeeze main non-free

deb http://security.debian.org/ squeeze/updates main non-free
deb-src http://security.debian.org/ squeeze/updates main non-free

# squeeze-updates, previously known as 'volatile'
deb http://ftp.de.debian.org/debian/ squeeze-updates main non-free
deb-src http://ftp.de.debian.org/debian/ squeeze-updates main non-free

# squeeze backports
deb http://backports.debian.org/debian-backports squeeze-backports main contrib non-free

# LTS
deb http://http.debian.net/debian/ squeeze-lts main contrib non-free
deb-src http://http.debian.net/debian/ squeeze-lts main contrib non-free

这是我的/etc/apt/apt.conf.d/50unattended-upgrades文件。我的猜测是问题可能出在应该与我的 sources.list 条目匹配的前几行:

// Automatically upgrade packages from these (origin, archive) pairs
Unattended-Upgrade::Allowed-Origins {
    "${distro_id} stable";
    "${distro_id} ${distro_codename}-security";
    "${distro_id} ${distro_codename}/updates";
    "${distro_id} ${distro_codename}-updates";
    "${distro_id} ${distro_codename}-backports";
    "${distro_id} ${distro_codename}-lts";
};

// List of packages to not update
Unattended-Upgrade::Package-Blacklist {
//      "vim";
//      "libc6";
//      "libc6-dev";
//      "libc6-i686";
};

这是日志文件的摘录:

2014-11-19 22:37:15,159 INFO Initial blacklisted packages:
2014-11-19 22:37:15,160 INFO Starting unattended upgrades script
2014-11-19 22:37:15,160 INFO Allowed origins are: ["('Debian', 'stable')", "('Debian', 'squeeze-security')", "('Debian', 'squeeze/updates')", "('Debian', 'squeeze-updates')", "('Debian', 'squeeze-backports')", "('Debian', 'squeeze-lts')"]
2014-11-19 22:37:54,146 INFO Packages that are upgraded: apache2 apache2-mpm-worker apache2-utils apache2.2-bin apache2.2-common apt apt-utils bash bind9-host dnsutils file gnupg gpgv host libbind9-60 libc-bin libc6 libdns69 libgnutls26 libgssapi-krb5-2 libisc62 libisccc60 libisccfg62 libk5crypto3 libkrb5-3 libkrb5support0 liblwres60 libmagic1 libmysqlclient16 libpq5 libssl0.9.8 libtasn1-3 libxml2 linux-base linux-image-2.6.32-5-amd64 locales mysql-client mysql-client-5.1 mysql-common openssl postgresql postgresql-8.4 postgresql-client postgresql-client-8.4 procmail python2.6 python2.6-minimal rsyslog tzdata wget
2014-11-19 22:37:54,147 INFO Writing dpkg log to '/var/log/unattended-upgrades/unattended-upgrades-dpkg_2014-11-19_22:37:54.147207.log'
2014-11-19 22:39:33,921 INFO All upgrades installed

最后,这里是未安装的软件包。此行在无人值守升级包运行后立即执行。

# apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages have been kept back:
  python-reportbug
The following packages will be upgraded:
  base-files dpkg exim4 exim4-base exim4-config exim4-daemon-light libdbi-perl libxfont1 openssh-client openssh-server ssh
11 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
Need to get 0 B/6,839 kB of archives.
After this operation, 45.1 kB disk space will be freed.
Do you want to continue [Y/n]?

请告知如何修复配置文件,以便这些软件包也得到更新。

debian
  • 1 个回答
  • 3557 Views
Martin Hope
nn4l
Asked: 2014-10-31 21:15:21 +0800 CST

IP 地址更改后 starttls 失败

  • 0

我更改了我们的 exim 邮件服务器的 IP 地址(虚拟机已复制到不同的主机,网络配置也使用 NAT)。现在它不再接受来自 Windows Thunderbird 客户端的 STARTTLS 连接。它适用于所有其他邮件客户端。

Thunderbird 错误消息类似于can't set up a secure connection to mail.mydomain.de using STARTTLS, because the server is not offering this function. Disable STARTTLS or contact your provider. 然而,exim 邮件服务器确实提供了 STARTTLS,它仍然可以在旧系统上运行。

这是 exim 调试日志的摘录:

27666 accept: condition test succeeded
27666 SMTP>> 220 s0107.mydomain.de ESMTP (Exim 4.77) Fri, 31 Oct 2014 05:23:27 +0100
27666 Process 27666 is ready for new message
27666 smtp_setup_msg entered
27666 SMTP<< EHLO [192.168.1.115]
27666 sender_fullhost = ip-123-123-123-123.hsi07.unitymediagroup.de ([192.168.1.115]) [123.123.123.123]
27666 sender_rcvhost = ip-123-123-123-123.hsi07.unitymediagroup.de ([123.123.123.123] helo=[192.168.1.115])
27666 set_process_info: 27666 handling incoming connection from ip-123-123-123-123.hsi07.unitymediagroup.de ([192.168.1.115]) [123.123.123.123]
27666 host in pipelining_advertise_hosts? yes (matched "*")
27666 host in auth_advertise_hosts? yes (matched "*")
27666 host in tls_advertise_hosts? yes (matched "*")
27666 SMTP>> 250-s0107.mydomain.de Hello ip-123-123-123-123.hsi07.unitymediagroup.de [123.123.123.123]
27666 250-SIZE 52428800
27666 250-PIPELINING
27666 250-AUTH PLAIN LOGIN CRAM-MD5
27666 250-STARTTLS
27666 250 HELP
27666 SMTP<< QUIT
27666 SMTP>> 221 s0107.mydomain.de closing connection
27666 LOG: smtp_connection MAIN
27666   SMTP connection from ip-178-200-216-217.hsi07.unitymediagroup.de ([192.168.1.115]) [123.123.123.123] closed by QUIT
27666 search_tidyup called
27654 child 27666 ended: status=0x0
27654 0 SMTP accept processes now running
27654 Listening...

在原始系统上,最后几行如下所示:

2362 250-SIZE 52428800
2362 250-PIPELINING
2362 250-AUTH PLAIN LOGIN CRAM-MD5
2362 250-STARTTLS
2362 250 HELP
2362 SMTP<< STARTTLS
2362 setting SSL CTX options: 0x800
2362 tls_certificate file /etc/pki/tls/exim_tls/exim.cert
2362 tls_privatekey file /etc/pki/tls/exim_tls/exim.key
...

这似乎是客户端问题,但我不知道为什么 IP 地址更改会对 STARTTLS 握手产生任何影响。请指教。

exim
  • 1 个回答
  • 402 Views
Martin Hope
nn4l
Asked: 2014-07-07 20:33:53 +0800 CST

为什么我的 RAID1 读取访问比写入访问慢?

  • 10

我做了一些简单的性能测试,似乎从我的 RAID1 读取比写入慢:

root@dss0:~# for i in 1 2 3; do dd if=/dev/zero of=/dev/sda bs=1048576 count=131072; done
137438953472 bytes (137 GB) copied, 192.349 s, 715 MB/s
137438953472 bytes (137 GB) copied, 192.851 s, 713 MB/s
137438953472 bytes (137 GB) copied, 193.026 s, 712 MB/s
root@dss0:~# for i in 1 2 3; do dd if=/dev/sda of=/dev/null bs=1048576 count=131072; done
137438953472 bytes (137 GB) copied, 257.201 s, 534 MB/s
137438953472 bytes (137 GB) copied, 255.522 s, 538 MB/s
137438953472 bytes (137 GB) copied, 259.945 s, 529 MB/s

我明白 dd 不是性能测试工具,但是这个结果仍然是一个惊喜。

系统由供应商构建,具有 16 GByte RAM 的 Supermicro 主板。RAID 控制器是具有 1 GB 高速缓存的 MegaRAID 9271-8i。SAS-933EL1 背板上有 8 个 2 TB SAS 磁盘。我不确定布线,控制器的一个连接器连接到 SAS 背板,另一个连接到两个保存操作系统的 SATA 磁盘。

RAID1 是使用以下命令设置的:

root@dss0:~# /opt/MegaRAID/MegaCli/MegaCli64 -CfgLdAdd -r1 [8:0,8:1,8:2,8:3,8:4,8:5,8:6,8:7] WB NORA Direct -a0
Adapter 0: Created VD 0
Adapter 0: Configured the Adapter!!
Exit Code: 0x00

root@dss0:~# /opt/MegaRAID/MegaCli/MegaCli64 -LDInfo -LALL -aALL
Adapter 0 -- Virtual Drive Information:
Virtual Drive: 0 (Target Id: 0)
Name                :
RAID Level          : Primary-1, Secondary-0, RAID Level Qualifier-0
Size                : 7.275 TB
Sector Size         : 512
Is VD emulated      : No
Mirror Data         : 7.275 TB
State               : Optimal
Strip Size          : 256 KB
Number Of Drives    : 8
Span Depth          : 1
Default Cache Policy: WriteBack, ReadAheadNone, Direct, No Write Cache if Bad BBU
Current Cache Policy: WriteBack, ReadAheadNone, Direct, No Write Cache if Bad BBU
Default Access Policy: Read/Write
Current Access Policy: Read/Write
Disk Cache Policy   : Disk's Default
Encryption Type     : None
PI type: No PI
Is VD Cached: No
Exit Code: 0x00

我希望读取访问至少与写入访问一样快,甚至可能更快。715 MByte/sec 的写入速度似乎接近单个 SAS/SATA 连接器的 6 GBit 限制。这可能是 SAS 背板的配置或布线问题吗?SAS背板配置可以用MegaRAID命令查询吗?请指教。

更新

正如 poige 和 Peter 所解释的,读取性能低于预期可能是由于 Linux I/O 子系统的缓存造成的。

在 dd 命令中使用直接标志时,我得到

root@dss0:~# dd if=/dev/sda of=/dev/null bs=1048576 count=131072 iflag=direct
137438953472 bytes (137 GB) copied, 199.862 s, 688 MB/s

这要好得多,但仍然比写入速度慢 10%。使用 oflag=direct 不会影响写入速度。

performance
  • 2 个回答
  • 2980 Views
Martin Hope
nn4l
Asked: 2014-06-19 09:04:26 +0800 CST

8 个磁盘和两个卷的最佳 RAID10 配置?

  • 3

我有一个带有 8 个 SAS 磁盘和一个 MegaRAID 9271-8i 控制器的 Open-E 文件服务器,我想配置两个相同大小的逻辑 RAID10 卷。一个卷具有大约 66% 的写入访问权限和 33% 的读取访问权限,另一个卷只有大约相同数量的写入访问权限(它是用于故障转移的相同的第二个文件服务器的镜像)。

目前我已经选择了前 4 个磁盘,并让 LSI 控制器配置向导使用所有容量创建一个 RAID10 卷,然后对第二个卷的剩余磁盘执行相同操作。但我也可以选择所有 8 个磁盘并使用一半容量创建第一个卷,然后使用相同磁盘和剩余容量创建第二个卷。

这两种配置有性能差异吗?还是我必须进行测试才能发现这一点?

performance
  • 1 个回答
  • 1145 Views
Martin Hope
nn4l
Asked: 2014-04-21 00:02:17 +0800 CST

当前的 2 TB 消费级磁盘驱动器的可靠性如何?

  • 6

大多数便宜的 SATA 磁盘驱动器被评为“每读取 10^14 位 1 个不可恢复的读取错误”。

这是什么意思?

10^14 位只是 12.5 TByte。如果我有一个完整的 2 TByte 磁盘并将其复制到第二个磁盘,实际上是否有大约 1/6 的可能性是其中一个文件损坏?

如果发生这种情况,受影响的块是否会被标记并重新分配?我认为是这样,因为如果读取在重试时成功,则它不是不可恢复的读取错误。

但是,我使用这些磁盘驱动器已有几年了,我没有注意到坏块数量有任何增加,而且 RAID 控制器日志也没有显示任何读取问题。

编辑:RAID 控制器每周对每个磁盘进行一次巡读,因此每年大约 100 TByte。那仍然小于 10^15 位。

另一方面,2 年内 50 个磁盘中总共有 4 个磁盘故障,这增加了错误率。

我没有足够的具有统计意义的数据来发表声明,但在我的情况下,实际错误率似乎在 10^14 和 10^15 之间,这与规范一致。

raid
  • 3 个回答
  • 957 Views
Martin Hope
nn4l
Asked: 2013-07-18 06:24:44 +0800 CST

如何设置默认控制台背景/前景颜色?

  • 2

我必须使用 PuTTY 管理几十个 Linux Debian 机器(有时也使用 MacOS 上的终端)。通常,在工作几个小时后,会打开许多​​控制台窗口。

我想将每个框配置为使用不同的(随机)背景颜色,以便在任何特定时间对我正在输入的系统有强烈的视觉反馈。我只是想避免错误,例如将数据从测试系统复制到生产系统,而不是反过来。

请告知如何设置系统,以便可以定义默认的控制台背景/前景颜色。我知道如何在 PuTTY 配置中执行此操作,但是我需要在系统本身上进行此设置,因为我不想为每个系统设置特殊的 PuTTY 配置,它在 MacOS X 终端上的工作方式也应该完全相同。

linux
  • 2 个回答
  • 8865 Views
Martin Hope
nn4l
Asked: 2013-05-27 08:56:17 +0800 CST

使用 tc 限制流量,但带宽错误

  • 0

我正在使用这些命令来设置带宽限制:

tc qdisc del dev eth1 root
tc qdisc add dev eth1 root handle 1: cbq avpkt 1000 bandwidth 100Mbit
tc class add dev eth1 parent 1: classid 1:1 cbq rate 1Mbit allot 1500 prio 3 bounded isolated
tc filter add dev eth1 parent 1: protocol ip u32 match ip protocol 6 0xff flowid 1:1

它

我的理解是这些命令应该将我的网络流量限制为每秒 1 MBit / 125 KByte,但事实并非如此。

实际数据传输速率大约为每秒 5 兆字节。我通过 NFS 传输一个大文件来衡量这一点。如果我将“rate 1Mbit”参数修改为“rate 512 Kbit”,传输速率仅为每秒 2.5 MByte,因此 tc 命令实际上会限制流量,但不会限制参数所说的内容。

此服务器作为 Citrix XenServer VM 运行 Debian Linux 6.0.7。

我做错了什么?请指教。

linux
  • 1 个回答
  • 1641 Views
Martin Hope
nn4l
Asked: 2013-04-02 01:09:53 +0800 CST

postgres 统计信息收集器进程生成的 I/O 过多

  • 11

我将 XenServer 与多个具有本地 postgres 数据库的虚拟机一起使用。即使当所有应用程序都未使用且数据库空闲时,每个虚拟机都会导致持续的存储网络流量,从而降低 iSCSI 存储设备的性能。

运行后iotop我注意到 postgres stats collector process 进程不断地以大约 2 MByte/s 的速率写入磁盘。

然后我通过编辑禁用了统计信息的收集/etc/postgresql/8.4/main/postgresql.conf:

#------------------------------------------------------------------------------
# RUNTIME STATISTICS
#------------------------------------------------------------------------------

# - Query/Index Statistics Collector -

track_activities = off
track_counts = off
...

如http://www.postgresql.org/docs/8.4/static/runtime-config-statistics.htm中所建议。

这消除了连续写入,但是关闭统计跟踪有什么缺点吗?

或者我应该将 pg_stat_tmp 目录放在 ramdisk 上以避免磁盘/网络流量?

该系统是最新的 Debian 6.0.7(压缩),带有 postgres 8.4 和大约 20 个数据库,大约 50 个表,总转储文件大小小于 100 MByte。

performance
  • 3 个回答
  • 6282 Views
Martin Hope
nn4l
Asked: 2013-03-20 01:09:45 +0800 CST

通过控制台将 XenServer 快照导出为文件

  • 3

我已经使用 XenCenter 创建了 Citrix XenServer 虚拟机的快照,现在我想将此快照另存为 *.xva 文件,就像我在 XenCenter 中右键单击快照图标并选择“导出到文件”一样。 ..”。

但是,由于 VM 的大小为 100 GByte,我宁愿从 XenServer 控制台执行此操作并将其保存到快速 NFS 安装卷,而不是通过慢速网络连接下载 VM。

请告知如何通过控制台执行此操作。我花了一些时间谷歌搜索,但无法找到解决这个特定问题的方法。

xenserver
  • 2 个回答
  • 19488 Views
Martin Hope
nn4l
Asked: 2013-03-07 00:49:52 +0800 CST

驱动器出现故障但 LSI MegaRAID 控制器未检测到它

  • 1

smartmontools 报告在 RAID1 配置中使用的驱动器上的不可读扇区数量不断增加。我认为 LSI MegaRAID 控制器还会检查其磁盘驱动器的 SMART 状态,因此应该将驱动器识别为故障并将其标记为脱机?

smartctl -d sat+megaraid,7 -a /dev/sda 的输出:

...
197 Current_Pending_Sector  0x0022   100   100   000    Old_age   Always       -       69
...
Error 11 occurred at disk power-on lifetime: 9704 hours (404 days + 8 hours)
When the command that caused the error occurred, the device was active or idle.

After command completion occurred, registers were:
ER ST SC SN CL CH DH
-- -- -- -- -- -- --
40 51 11 6f cd 04 0f  Error: UNC at LBA = 0x0f04cd6f = 251972975

Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
-- -- -- -- -- -- -- --  ----------------  --------------------
60 69 38 17 cd 04 40 00   2d+11:27:29.750  READ FPDMA QUEUED
61 10 30 98 12 55 40 00   2d+11:27:29.750  WRITE FPDMA QUEUED
61 01 28 57 86 da 40 00   2d+11:27:29.750  WRITE FPDMA QUEUED
60 09 20 f7 d1 04 40 00   2d+11:27:29.750  READ FPDMA QUEUED
60 80 18 00 d2 04 40 00   2d+11:27:29.750  READ FPDMA QUEUED
...
SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed without error       00%      9700         -
# 2  Short offline       Completed without error       00%      9676         -
# 3  Extended offline    Completed: read failure       90%      9673         251972659

MegaCli -AdpAllInfo -aAll 的输出:

Product Name    : LSI MegaRAID SAS 9260-4i
...
================
Virtual Drives    : 2
  Degraded        : 0
  Offline         : 0
Physical Devices  : 5
  Disks           : 4
  Critical Disks  : 0
  Failed Disks    : 0

请告知 RAID 控制器行为是否正常或某处是否配置错误。控制器应该处于出厂状态,我只将四个物理磁盘配置为两个 RAID1 卷。

无论如何都会更换坏盘。

更新:我了解到实际上有一种方法可以了解此类错误(见下文),但我认为此类信息会显示在更突出的状态信息中,而不是隐藏在日志文件中。

似乎 RAID 控制器没有标记这个磁盘,因为它仍然可以从这种错误情况中恢复。

raid
  • 1 个回答
  • 17490 Views
Martin Hope
nn4l
Asked: 2013-01-09 10:33:30 +0800 CST

dns 请求奇数域名,如 mAiL.myDOmAIn.De

  • 6

我已经打开了命名登录。大约 2% 的请求包含大写和小写域的奇怪组合,例如

Jan  7 10:38:46 s1500 named[27917]: client ip address#34084: query: mAIl.MYdoMain.de IN A - (my ip address)
Jan  7 10:39:40 s1500 named[27917]: client ip address#53023: query: MAil.mYdoMAIn.De IN A - (my ip address)
Jan  7 12:10:07 s1500 named[27917]: client ip address#53576: query: SErver25.mydomAiN.De IN A - (my ip address)

即使来自同一客户端的请求,大写/小写组合也会发生变化,有些请求仅相隔几秒钟。大多数请求似乎来自本地(德国)DSL 提供商。

有人可以解释这里发生了什么吗?我不知道为什么有人会随机化域名大写,或者攻击者想利用哪个安全问题。

domain-name-system
  • 1 个回答
  • 742 Views
Martin Hope
nn4l
Asked: 2013-01-01 04:22:53 +0800 CST

SELinux:如何启用对 Joomla 缓存目录的写访问权限?

  • 3

我已经在运行 Joomla 网站的 Debian 压缩系统上设置了 SELinux。Joomla PHP 代码想要对某些缓存目录具有写入权限。

/var/log/messages 文件包含如下条目:

Dec 31 10:26:16 s0022 kernel: [ 2116.423199] type=1400 audit(1356945976.634:14831): 
  avc:  denied  { write } for  pid=1886 comm="apache2" name="_system" dev=xvda3 
  ino=790893 scontext=system_u:system_r:httpd_t:s0
  tcontext=unconfined_u:object_r:httpd_t:s0 tclass=dir
Dec 31 10:26:16 s0022 kernel: [ 2116.447613] type=1400 audit(1356945976.658:14837): 
  avc:  denied  { write } for  pid=1886 comm="apache2" name="mod_mainmenu" dev=xvda3
  ino=791346 scontext=system_u:system_r:httpd_t:s0
  tcontext=unconfined_u:object_r:httpd_t:s0 tclass=dir

与 inode 值对应的目录可由 apache2(以 wwwrun 运行)写入。缓存文件是在 SELinux 关闭时创建的,而不是在它被激活时创建的。然而,这些目录的路径与 Debian Squeeze 的默认 DocumentRoot 不同。

# ls -ldZ cache cache/_system cache/mod_mainmenu
drwxrwxr-x. 5 wwwrun www unconfined_u:object_r:httpd_t:s0 4096 Dec 29 23:13 cache
drwxrwxr-x. 2 wwwrun www unconfined_u:object_r:httpd_t:s0 4096 Dec 30 19:31 cache/mod_mainmenu
drwxrwxr-x. 2 wwwrun www unconfined_u:object_r:httpd_t:s0 4096 Dec 30 19:31 cache/_system

我还尝试启用写入相关的布尔标志,但这也无济于事:

# getsebool -a | grep httpd
allow_httpd_anon_write --> on
allow_httpd_mod_auth_pam --> off
allow_httpd_sys_script_anon_write --> on
allow_httpd_user_script_anon_write --> on
httpd_builtin_scripting --> off
httpd_can_network_connect --> off
httpd_can_network_connect_db --> on
httpd_can_network_relay --> off
httpd_can_sendmail --> off
httpd_dbus_avahi --> off
httpd_enable_cgi --> off
httpd_enable_ftp_server --> off
httpd_enable_homedirs --> on
httpd_ssi_exec --> off
httpd_tty_comm --> off
httpd_unified --> off
httpd_use_cifs --> off
httpd_use_gpg --> off
httpd_use_nfs --> off

我已经使用 audit2allow 创建可加载模块以启用对其他守护程序的写访问(例如 rotatelog),但我认为在这种情况下这不是可行的方法。httpd 的模块已经存在,如果可以避免,我不想以任何方式接触它。

我只是在寻找一种方法让 apache2 / php / Joomla 在我的特定 DocumentRoot 内的特定目录中写入,而不授予对其他任何内容的写入权限。请指教。

php
  • 2 个回答
  • 7315 Views
Martin Hope
nn4l
Asked: 2012-11-04 15:30:31 +0800 CST

“postgres 阻塞超过 120 秒”——我的数据库是否仍然一致?

  • 1

我在 Open-E 存储系统上为在 XenServer 主机上运行的多个虚拟机使用 iscsi 卷。有时,当虚拟机(因此存储系统)上的磁盘 I/O 负载非常高时,我会在虚拟机控制台上收到以下错误消息:

[2594520.161701] INFO: task kjournald:117 blocked for more than 120 seconds.
[2594520.161787] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[2594520.162194] INFO: task flush-202:0:229 blocked for more than 120 seconds.
[2594520.162274] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[2594520.162801] INFO: task postgres:1567 blocked for more than 120 seconds.
[2594520.162882] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.

我了解此错误消息是由内核通知这些进程未运行 120 秒引起的,很可能是因为尚未处理对存储系统的磁盘访问。

但是对过程有什么影响。比如postgres进程会不会在存储系统过几分钟又空闲的时候最终写入它的数据,让所有的数据还是一致的?或者它会中止写入,使一些表处于不一致状态吗?

我当然希望前者应该是这种情况——如果磁盘访问速度很慢,postgres(或任何其他受影响的进程)应该等待它需要的时间。我可以忍受应用程序挂起几分钟。但是,如果有可能发生数据损坏,那么这些错误中的任何一个都是坏消息。

请建议在这里做什么。

linux
  • 3 个回答
  • 3731 Views
Martin Hope
nn4l
Asked: 2012-08-14 22:57:09 +0800 CST

如何在私有网络上为debian系统添加网关

  • 1

我的 debian 系统的 IP 地址为 192.168.111.111,我想配置一个不在 192.168.111.0 网络上的默认网关。作为第一步,我想添加一条路由,以便我可以从系统到达网关。所以我运行这个命令(我认为它会启用到单个主机的静态路由),但我仍然无法 ping 网关:

# ip route add 5.6.71.166 dev eth0
# ping 5.6.71.166
PING 5.6.71.166 (5.6.71.166) 56(84) bytes of data.
^C
--- 5.6.71.166 ping statistics ---
4 packets transmitted, 0 received, 100% packet loss, time 3023ms

这是我的配置:

# netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
5.6.71.166      0.0.0.0         255.255.255.255 UH        0 0          0 eth0
192.168.111.0   0.0.0.0         255.255.255.0   U         0 0          0 eth0

# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr ca:eb:7c:e6:7e:98  
          inet addr:192.168.111.111  Bcast:192.168.111.255  Mask:255.255.255.0
          inet6 addr: fe80::c8eb:7cff:fee6:7e98/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:45 errors:0 dropped:0 overruns:0 frame:0
          TX packets:291 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:52454 (51.2 KiB)  TX bytes:39433 (38.5 KiB)
          Interrupt:23 

# cat /etc/network/interfaces 
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The internal network interface
allow-hotplug eth0
iface eth0 inet static
address   192.168.111.111
netmask   255.255.255.0
network   192.168.111.0
broadcast 192.168.111.255

# cat /proc/sys/net/ipv4/ip_forward 
1

我已经验证,如果我在其网络中使用 IP 地址,网关将响应 ping,不幸的是,这不是一个选项,因为系统不能在该范围内拥有真实的(不在 192.168.xx 中)IP 地址。

networking
  • 3 个回答
  • 2363 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve