我们刚刚订购了一个服务器,我们将把它用作我们虚拟机环境的存储。基本上它将作为块级存储设备运行 iSCSI 到每个管理程序。
该服务器有 (12) 个 500GB 7200RPM SATA 3/GBs 驱动器,带有 512MB 板载缓存的 PERC H700 控制器。
我们应该运行哪个 RAID 级别?我们正在讨论 RAID 5 或 RAID 10。RAID 5 提供了额外的存储容量,但我们读取它的速度比 RAID 10 慢,而且容错性差。知道 RAID 10 比 RAID 5 快多少吗?我们是在说快 10%、20%、50% 还是 100%?
基本上,我们想要性能最高的解决方案。
我想知道我是否需要为我的配置购买受管理(支持 VLAN)的交换机,还是更便宜的非受管交换机可以工作?
我的服务器各有两个 NICS。第一个 NIC 是公共的,第二个 NIC 是私有的。路由器将插入交换机端口 1 假设(公共)。然后服务器 1 公共插头插入交换机上的端口 2,并将 1 私有插头插入交换机上的端口 3。公共接口为:192.168.XX / 255.255.0.0,私有接口为 10.0.XX / 255.255.0.0。
所以看起来像:
** SWITCH **
Port Device Network
1 Router/Firewall 192.168.X.X
2 Server 1 Public 192.168.X.X
3 Server 1 Private 10.0.X.X
4 Server 2 Public 192.168.X.X
5 Server 2 Private 10.0.X.X
6 Server 3 Public 192.168.X.X
7 Server 3 Private 10.0.X.X
Run Code Online (Sandbox Code Playgroud)
谢谢。
我们刚刚购买了带有 (12) 个运行 RAID 10 的 7200 RPM SATA 驱动器和 (4) 个千兆网络接口卡的戴尔存储服务器。此外,它还有一个带有 512MB 板载缓存的 PERC H700 控制器卡。我们将虚拟机管理程序连接到戴尔服务器(块级存储),它将存储虚拟机。
我们的问题是,使用 iSCSI 以及每个管理程序和戴尔存储服务器之间的单个千兆位连接,每个管理程序的最大理论传输速率是否为 1000 兆位 / 8 = 125 兆字节每秒?或者,我完全错了,iSCSI 进行了某种压缩并且能够实现更高的 I/O 吞吐率。
每秒 125 兆字节实际上有点慢,因为我们有 12 个心轴并运行 RAID 10。除了光纤通道之外,还有哪些替代方案可以消除网络瓶颈?我们知道启用巨型帧,并会尝试一下,其他任何事情。使用每个虚拟机管理程序的单个千兆位连接,我们应该期望什么样的性能?
有没有什么是用于 Linux 的非常简单的 PHP Web 服务器,它实际上需要一个 PHP 文件并通过端口 80 为其提供服务。不想配置一个完整的 Web 服务器,如 apache、lighttpd 或 nginx。只需要提供单个 PHP 脚本,不需要虚拟主机。如果它像这样工作,那就太棒了:
$ simple-php-web-server myscript.php
Run Code Online (Sandbox Code Playgroud) 我有以下 nginx 位置块:
location /publish/domain.io.php {
allow 127.0.0.1;
deny all;
}
location ~\.php {
try_files $uri =404;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_intercept_errors on;
fastcgi_pass 127.0.0.1:9000;
include /etc/nginx/fastcgi_params;
}
Run Code Online (Sandbox Code Playgroud)
问题是位置块/publish/domain.io.php似乎没有执行。我可以domain.io.php从任何主机调用 php 脚本。
想法?非常感谢。
我正在尝试使用解释器运行 shell 片段bash。使用该-c标志允许我直接向命令行提供命令,而无需写入文件。这是我的使用所必需的。
工作示例:
$ bash -c 'free -m'
Run Code Online (Sandbox Code Playgroud)
问题是我想要运行的实际 shell 片段中有单引号。
find / -type f -size +50M -exec ls -lh {} \; | awk '{ print $9 ": " $5 }'
Run Code Online (Sandbox Code Playgroud)
我认为简单地转义引号就可以了:
$ bash -c 'find / -type f -size +50M -exec ls -lh {} \; | awk \'{ print $9 ": " $5 }\''
Run Code Online (Sandbox Code Playgroud)
但这是行不通的。它不执行该命令。
此外,同样的问题,我需要能够从命令行执行 Node.js,而不写入文件。
$ node -e 'console.log("hello");'
Run Code Online (Sandbox Code Playgroud)
上面的方法有效,但是:
$ node -e 'console.log('hello');'
and
$ node -e 'console.log(\'hello\');'
Run Code Online (Sandbox Code Playgroud)
两者都打破。
有想法吗?谢谢。
如何查看我的分区在 Linux CentOS 中是主分区还是次分区?我试过了,df -T但它没有显示分区是主要的还是次要的。
谢谢。
如何在不创建文件的情况下执行 shell 脚本?例如,假设我有以下脚本 ( testscript):
#!/bin/bash
function run_free() {
free -m
}
run_free
Run Code Online (Sandbox Code Playgroud)
然后我当然可以执行此操作: sh testscript
不过,我想避免创建文件。我试过:
sh echo '#!/bin/bash
function run_free() {
free -m
}
run_free'
哪个不起作用。有任何想法吗?
我location在 nginx 中有以下块:
location /stats {
allow 127.0.0.1;
deny all;
}
Run Code Online (Sandbox Code Playgroud)
如果我尝试/stats从我的家用 MacBook 上查看,我会得到403 Forbidden预期的结果。但是,如果我查看,/stats/index.php我可以查看它。我的印象是location /stats会递归地应用(即对所有孩子)。
如何使这个位置块按预期运行?
谢谢。
我有以下 nginxlocation块:
location ^~ /publish {
allow 127.0.0.1;
#Allow home
allow 99.100.101.102;
deny all;
}
Run Code Online (Sandbox Code Playgroud)
然后这个location块在处理 PHP 之后:
location ~\.php {
try_files $uri =404;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_intercept_errors on;
fastcgi_pass 127.0.0.1:9000;
include /etc/nginx/fastcgi_params;
}
Run Code Online (Sandbox Code Playgroud)
问题是/publishlikeexecute.php中的文件没有被 fastcgi PHP 处理器处理,它们只是在从 CURL 调用时输出纯 PHP 代码。/publish如果文件以 .php 结尾,我如何强制执行块中定义的安全规则,但仍然执行 PHP 块?