Articles of linux

用LVM扩展RAID6

我的问题比问题标题更宽泛一些,但这里是我的情况:我在2 x 2TB硬盘上搭build了Synology Hybrid Raid(SHR) 。 我想迁移到本地Linux机器上的软件RAID。 我目前的计划是远程备份SHR,使用3个2TB驱动器设置一个带有LVM的RAID6,然后将备份的目录恢复到新的RAID。 在未来,如果我想添加更多的驱动器,是否有可能dynamic扩展RAID6? 有没有什么好的文章解释RAID6和LVM之间的关系? 这台机器是为了我自己的人使用和有限的networkingstream量,所以驱动器容错对我来说比速度更重要。

如何debugging呆滞的进程性能

我有一个testing应用程序,它将一个string写入一个文件10000次。 我在两台服务器上运行这个,我得到完全不同的结果。 [SYSTEM 1] $ time ./test_depth real 0m0.152s user 0m0.070s sys 0m0.082s $ strace -cT ./test_depth % time seconds usecs/call calls errors syscall —— ———– ———– ——— ——— —————- 57.38 0.000420 0 10000 write 30.19 0.000221 0 9924 fadvise64 12.43 0.000091 0 10000 gettid 0.00 0.000000 0 11 read 0.00 0.000000 0 66 54 […]

如何将stream程从一个名称空间转移到其他名称空间?

有什么可用的方法,在Linux中将进程/进程组从一个名称空间移动到另一个名称空间? 我的意思是通过一些包的命令的方法或它可以通过setns() ? 例如我有一个名字空间中的当前会话进程和一些不同名字空间中的lxc容器的其他进程,所以我想在该容器的cgroup中运行(例如链接)(这很容易做到与cgexec),然后将其移动到容器的名称空间,因为我必须在容器中运行这个过程,而不是在这个过程中执行它。 可以这样做,或者在Linux中是不可能的?

OpenVPN断开连接,然后不断重新连接

我有一个Linux客户端连接到OpenVPN主机。 客户端连接好,动词= 5我看到客户端上的多个读写: LOG:1391694246,I,Initialization Sequence Completed LOG:1391694246,D,TCPv4_CLIENT WRITE [22] to [AF_INET]2xx.180.7.10:443: P_ACK_V1 kid=0 [ 30 ] LOG:1391694246,D,TUN READ [76] LOG:1391694246,D,TCPv4_CLIENT WRITE [117] to [AF_INET]2xx.180.7.10:443: P_DATA_V1 kid=0 DATA len=116 LOG:1391694246,D,TUN READ [76] LOG:1391694246,D,TCPv4_CLIENT WRITE [117] to [AF_INET]2xx.180.7.10:443: P_DATA_V1 kid=0 DATA len=116 LOG:1391694247,D,TUN READ [76] LOG:1391694247,D,TCPv4_CLIENT WRITE [117] to [AF_INET]2xx.180.7.10:443: P_DATA_V1 kid=0 DATA len=116 LOG:1391694249,D,TUN READ [76] […]

ZFS在RedHatconfiguration

我必须使用NFSv4设置ZFS存储设备(Oracle ZFS Storage ZS3-2)。 NFS安装在一个Redhat 6.5集群上,在这个集群上创build了linux用户(它们不存在于设备上)。 但是由于用户不匹配,我无法访问音量。 我怎样才能同步用户和控制从Linux端的一切? 我希望能够在存储上设置Linux机器的配额和共享。 这甚至有可能吗? 谢谢

btrfs:寻找有关坏扇区/读取错误/中等错误的btrfs错误模式的经验

在运行使用HDFS的Hadoop集群(因此数据已经被复制3次)时,我们经常遇到ext4的问题,因为一些坏扇区(文件系统无法读取或写入)导致ext4重新挂载文件系统。 到目前为止,我们正在努力更换磁盘,但是我偶然发现了btrfs,这是元数据重复,我对btrfs在这种情况下如何反应感兴趣? 数据错误对我们来说并不重要,因为数据已经由HDFS进行校验和复制,但是更强大的元数据处理(例如,如果元数据不能在一个地方被写入,使用重复的元数据)将会是有益的,因为理论上只读的重新加载和所需的fsck不应该经常发生,如果我们将切换到btrfs … 那么在这里,任何人都可以运行任何btrfs而不用突袭desktop-hdds,并且可以告诉我这个文件系统对于中等错误有多强大? 例如,单个磁盘上的元数据复制是否用于修复损坏的元数据,或文件系统是否失败?

如何在服务器上使用小型SSD驱动器?

我刚刚在Amazon AWS上以SSD驱动器4GB容量启动了m3.medium实例。 不过,我在常规EBS上安装了系统,系统应用程序和/ var。 我想知道现在怎样才能使用这个4GB的SSD。 对于低延迟,快速节省的磁盘驱动器,您认为怎么样? 我目前在我的服务器实例上使用的是: Apache2 + PHP5 MySQL的 Atlassian应用程序(使用自己的Tomcat服务器) Git服务器 Ldap服务器 如何交换?

服务器随机挂起没有日志条目

我的物理服务器随机挂起,在此期间我没有得到任何日志条目。 所以我让脚本运行: while true; do date >>/tmp/dates; sleep 1; done & disown 几分钟后文件/ tmp /date有“漏洞”。 有时date中断30秒,有时连续3分钟: Thu Feb 13 14:54:39 CET 2014 Thu Feb 13 14:54:40 CET 2014 Thu Feb 13 14:57:45 CET 2014 Thu Feb 13 14:57:46 CET 2014 服务器不显示高负载或内存利用率。 / var / log / messages不会显示服务器挂起的时间。 但是它确实有一些关于IO问题的信息,比如一个小睡的fibrechannel链接。 我从SAN启动,所以/在一个多映射器设备上。 如果我打电话 while true; do date >>/tmp/dates; […]

在多个linux服务器之间共享ENVvariables

我需要能够在多个linux服务器之间共享ENVvariables。 这些variables被我的应用程序使用。 我想保持这些variables在所有服务器之间同步。 应用程序部署目前由Capistrano处理。 不幸的是,我不能简单地将variables存储在cap recipe中,因为它们包含敏感数据,我不想将它们提交给未encryption的repos。 我的一个想法是使用git-encrypt创build一个encryption的回购站,将数据存储在那里,然后以某种方式通过Capistrano或Chef在应用程序部署过程中检出回购站,解密并在每个应用程序服务器中获取ENVvariables。 我想知道是否有其他人之前解决了这个问题。

RAID1磁盘“分叉”,现在重复

我有一台由OVH托pipe的服务器,configuration为具有软RAID1arrays/ dev / md0,该arrays包含LVM PV。 还有另一个/ dev / md1数组,应该是/ boot,但是最后还是没有被使用。 今天早上,我从服务器收到很多日志,指出我的/ dev / sdb产生了I / O错误(基本上我猜它已经死了)。 之后我的MySQL崩溃了,我的SSH拒绝了所有的连接。 我别无select,只能重新启动(因为它是一个远程服务器,我无法物理访问)。 当它启动时,正在使用的Web服务器是nginx,它是我最初使用的服务器,但是我前一段时间被Apachereplace。 发现那令人不安的,我马上重新启动到救援模式,并试图平静地检索我的数据,并试图让事情准备好改变我的磁盘。 现在,我已经这么做了,而且我感到吃惊,在做了一个mdadm –assemble –scan ,得到的mdstats是: # cat /proc/mdstat Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath] [faulty] md125 : active raid1 sda1[0] 314571640 blocks super 1.2 [2/1] [U_] md126 : active raid1 sdb1[2] 314571640 […]