Articles of linux

QEMU:Linux / X86-64主机上的Solaris 11 / Sparc64 Guest

我试图在Linux / x86-64主机上运行Solaris 11 / Sparc64客户机。 我克隆了qemu项目,并用sparc64支持(./configure –target-list =“sparc64-softmmu”)configuration/编译它。 我已经尝试了各种示例和教程,但似乎一切都是针对旧版本编写的。 另外QEMU Sparc64支持似乎在近期得到了改进,可能会改变需求。 有没有人成功地configuration过这样的虚拟机? 如果是这样,你是怎么做到的? 我还需要抢自定义的BIOS吗?

为什么Linux中的“nocto”NFS挂接选项不能阻止flush-on-close?

我一直在学习NFS的接近开放策略,这会导致每个文件在closures时都被刷新到服务器上,以确保客户端的一致性。 (请参阅http://docstore.mik.ua/orelly/networking_2ndEd/nfs/ch07_04.htm 。)当尝试写入许多小文件时,会导致性能下降。 我知道显然是“asynchronous”导出选项,但也有一个“nocto”客户端安装选项,它应该禁用该客户端的close-to-open机制。 据我所知,这应该阻止客户端在closures时刷新文件(以及在打开时不检查caching一致性)。 但是,这似乎没有任何影响:客户端仍然将文件刷新到服务器上,导致大量的等待。 有没有人有任何想法,为什么“nocto”没有我希望会的影响? “asynchronous”选项按预期工作,但对我来说更重要的是客户端caching在这种情况下是正确的,这只是让我感到困惑。 例如:一组无盘节点共享远程根,偶尔从其中一个节点更新。 每个文件在closures后立即刷新并不重要,因为没有其他节点正在尝试写入同一个文件。 但更重要的是,如果服务器在更新一组软件包时崩溃,则客户端知道哪些数据还没有写入服务器的磁盘,以便一旦服务器重新启动就可以再次尝试。 使用“asynchronous”选项,这种情况下可能会导致数据丢失(因为服务器对客户端的数据被刷新到磁盘),而禁用closures打开(并使用“同步”,而不是“asynchronous”)在理论上提供相同的性能优势,而不会造成潜在的数据丢失(因为多个文件写入将被缓冲并一起刷到服务器)。 服务器和其他客户端会看到文件系统的一个稍微过时的视图(几秒钟)。 这对我来说似乎是合理的。 简单地说,“asynchronous”就是服务器端的缓冲,这会加快速度。 我期望的是“nocto”应该做客户端缓冲,类似的速度提升,代价是在其他客户端出现一些数据滞后。

keepalivedconfiguration与virtualbox虚拟机无法正常工作

我的keepalivedconfiguration不能正常工作。 我有两个虚拟testing机器(virtualbox)用keepalived / vrrp来尝试一些东西。 Bot可以完美地相互ping通(内部virtualboxnetworking)。 VM 1(MASTER): eth0: Management eth1: 192.168.2.1/24 eth2: 192.168.2.2/24 keepalived.conf: vrrp_instance test { state MASTER interface eth1 track_interface { eth2 } virtual_router_id 1 priority 101 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.3.1/24 dev eth1 192.168.3.2/24 dev eth2 } } tcpdump on eth1: 12:44:54.720119 IP 192.168.2.1 > […]

在NTFS中由Linux创build的文件的权限

我试图在Linux中使用以下设置来挂载NTFS文件系统: 在Linux中,NTFS中的所有文件和目录应该由root拥有,并拥有一个组的win 。 权限应设置为775。 在NTFS文件系统中由Linux创build的所有文件和目录应该在Windows中具有与包含新创build的文件或目录的目录相同的所有权和许可权。 为此,我添加了以下logging到fstab: /dev/sda7 /mnt/win/users_data ntfs-3g noauto,inherit,usermapping=/etc/ntfs-3g.usermapping,uid=0,gid=1002,umask=0002 0 0 以下是/etc/ntfs-3g.usermapping文件的内容: :win:S-1-5-21-3452292639-2475245894-2622236828-1002 :win:S-1-5-21-3452292639-2475245894-2622236828-1003 :win:S-1-5-21-3452292639-2475245894-2622236828-1005 :win:S-1-5-21-3452292639-2475245894-2622236828-1004 :win:S-1-5-21-3452292639-2475245894-2622236828-1009 … 在挂载文件系统时,在控制台中显示以下消息: $ sudo mount /mnt/win/users_data There were no valid user or no valid group 挂载文件系统中的文件和目录在Linux中拥有正确的所有权和权限(root:win 775)。 但在Windows中,所有用户都可以对文件系统中的Linux文件执行所有操作。 我究竟做错了什么? 以及如何以上述方式安装NTFS文件系统?

当多个来源具有相同的代号时,代表使用

我正在调查使用reprepro来控制什么更新传播到我们的服务器,以及什么时候。 这个想法是审查Debian和Ubuntu的更新,只适用于我们select的。 我们希望通过仅在reprepro处指定/etc/apt/sources.list来完成此操作,并且使用单个位置来执行此操作,而不是使用apt-whatever来单独固定在每台计算机上。 我面临的问题是,我们使用的一些软件包来自与Ubuntu回购相同的PPA,具有相同的代码名称; reprepro抱怨,例如,conf / distributions中有两个代码精确的条目,一个是Ubuntu,一个是PPA。 我怎样才能克服这个问题在代表? 另外,我是否需要使用其他软件?

snmp MIB-TCP :: tcp没有显示任何用法

我正在尝试在所有服务器上configurationMRTG来制作networking天气图,这需要运行SNMP,MRTG从中获取信息。 所以,我用完全相同的方式将它安装在两台服务器上。 但是,在第二台服务器上,SNMP不能检索或显示TCP信息,这里是运行的输出 snmp -c my_community_string -v1 localhost TCP-MIB::tcp : > snmpq TCP-MIB::tcp TCP-MIB::tcpRtoAlgorithm.0 = INTEGER: 0 TCP-MIB::tcpRtoMin.0 = INTEGER: 0 milliseconds TCP-MIB::tcpRtoMax.0 = INTEGER: 0 milliseconds TCP-MIB::tcpMaxConn.0 = INTEGER: 0 TCP-MIB::tcpActiveOpens.0 = Counter32: 0 TCP-MIB::tcpPassiveOpens.0 = Counter32: 0 TCP-MIB::tcpAttemptFails.0 = Counter32: 0 TCP-MIB::tcpEstabResets.0 = Counter32: 0 TCP-MIB::tcpCurrEstab.0 = Gauge32: 0 TCP-MIB::tcpInSegs.0 = Counter32: 0 […]

linux上的FIN-WAIT-2状态的TCP连接不会根据tcp_fin_timeout超时

我们在现场使用大量的embedded式设备来运行服务,它们的tcp堆栈有点儿错误,有时不能正确closures连接,导致某些连接被卡在服务器上的FIN-WAIT-2中。 通常情况下,这些连接将根据/proc/sys/net/ipv4/tcp_fin_timeout超时,但是我们的连接在ss一分钟之后仍然可见。 即使重新启动过程并没有摆脱他们,唯一的办法似乎是重新启动。 当然,长期的解决scheme是修复客户端以正确地closures连接,但是我担心连接不会超时,即使应该是这样。 什么可能导致这个? 我怎样才能摆脱无用的连接?

nginx和cloudlfare ip混淆?

我在使用Cloudflare加速服务的时候,在我的nginx.conf http块中使用了下面的configuration来获取真实的IP地址: ## Cloudflare settings to get Real IP's set_real_ip_from 204.93.240.0/24; set_real_ip_from 204.93.177.0/24; set_real_ip_from 199.27.128.0/21; set_real_ip_from 173.245.48.0/20; set_real_ip_from 103.21.244.0/22; set_real_ip_from 103.22.200.0/22; set_real_ip_from 103.31.4.0/22; set_real_ip_from 141.101.64.0/18; set_real_ip_from 108.162.192.0/18; set_real_ip_from 190.93.240.0/20; set_real_ip_from 188.114.96.0/20; set_real_ip_from 197.234.240.0/22; set_real_ip_from 198.41.128.0/17; set_real_ip_from 162.158.0.0/15; set_real_ip_from 2400:cb00::/32; set_real_ip_from 2606:4700::/32; set_real_ip_from 2803:f800::/32; set_real_ip_from 2405:b500::/32; set_real_ip_from 2405:8100::/32; real_ip_header CF-Connecting-IP; 我也使用在上面的configuration下定义的nginx速率限制function,如下所示: limit_conn_zone $binary_remote_addr zone=two:30m; 这是由limit_conn two […]

两个KVM虚拟机之间的专用networking

我试图用透明的以太网链接连接两台KVM主机。 我使用Proxmox VE作为主机,并configuration了2个具有以太网接口的KVM VE,并将它们连接到单个桥(vmbr1)。 我已经在同一个子网上的每台主机上configuration了静态IP,但是我无法ping通这个网桥(主机A ping主机B)。 虚拟机上的ARP表是零星“不完整”,还没有正确发现其他主机。 如果我使用其他主机的mac和ip地址诱导arp表,则会在虚拟机的网桥上看到ICMP回显请求,并在我正在ping的主机上增加接口packet_in计数器。 我在ServerFault上看到类似的问题,但是下面的RedHat'bug'似乎没有任何效果: https ://bugzilla.redhat.com/show_bug.cgi?id=512206 这里有什么想法?

Adaptec pm80xx驱动程序随机丢弃驱动器

我正在使用Ubuntu 12.04.4上的Adaptec ASA-71605H HBA构build一个ZFS NAS。 现代Linux内核附带所需pm80xx内核模块的开源版本。 Adaptec为Ubuntu 12.04提供了一个驱动程序,我testing了它们的效果。 我看到的症状是,开机后不时只能使用16个驱动器中的14个。 完整的dmesg日志可在这里 ,有趣的部分是 [ 3.591035] pm80xx 0000:01:00.0: driver version 0.1.37 / 1.0.15-1 [ 50.749419] sas: Enter sas_scsi_recover_host busy: 0 failed: 0 [ 50.749424] sas: ata1: end_device-1:0: dev error handler [ 50.749430] sas: ata2: end_device-1:1: dev error handler [ 50.749433] sas: ata3: end_device-1:2: dev error handler [ 55.900826] […]