Articles of linux

更改根密码

更改root密码有什么含义? 有什么会受到影响吗? 我正在使用一个私人共享的SSH密钥 – 我想我不需要改变这个,因为它没有绑定到root帐户的密码。

MySQL和SSL与-sha256

我试图创build一些证书使用MySQL和一切正常,如果我使用sha1algorithm。 如果我添加-sha256开关或-sha384我不能连接到MySQL! 我得到这个错误: 错误2026(HY000):SSL连接错误:ASN:坏的其他签名确认 我在这里发现了一个类似的问题,但接受的解决scheme是使用-sha1。 我想使用sha2,因为微软,谷歌和Firefox不推荐使用sha1了。 这是我用来创build密钥的。 如果我删除了-sha256开关它使用sha1工作正常。 我也尝试了与2048位密钥,同样的问题 openssl genrsa 4096 > ca-key.pem openssl req -sha256 -new -x509 -nodes -days 10000 -key ca-key.pem -out ca-cert.pem openssl req -sha256 -newkey rsa:4096 -days 10000 -nodes -keyout server-key.pem -out server-req.pem openssl rsa -in server-key.pem -out server-key.pem openssl x509 -req -sha256 -in server-req.pem -days 10000 -CA ca-cert.pem -CAkey […]

使用JBOD进行冗余NFS

我有一个Xyratex sp-2224 JBOD机箱 (双控制器)和一对安装了SAS HBA的戴尔服务器,我打算在冗余NFS群集中使用它。 硬件不是我在这里挣扎的,它是做软件的。 我已经研究过Windows Storage Spaces,看起来它将使用MSCS,但是我希望基于Linux的解决scheme能够解决这个问题。 我的Google技能真的让我失望,因为我一直无法find任何可靠的例子来帮助我。 他们中的大多数似乎都假设了SAN后端之类的东西。 这里的最终目标是在磁盘和NFS守护进程本身上引入冗余。 我知道我可以使用类似Heartbeat / Pacemaker的东西来集群NFS,但共享存储对我来说是一个谜…我可以使用什么文件系统和/或解决scheme来实现这样的事情? JBOD机箱不会执行RAID,只是将磁盘提供给连接的服务器。 提前致谢!

软件RAID0的固态硬盘是帮助还是阻碍有用的CPU工作吞吐量的最大化?

我的问题是在标题…这里是一些背景: [操作系统是Linux。] [ 更新:这个RAID0的内容是冗余的(从SCM同步)。 我不担心数据丢失的风险增加。] [ 更新2:实际上,我可能在这里分裂头发。 但是,除了试图解决一个实际问题,我想要改进/确认我对理论的理解。 我有一个自动构build服务器,我用它来编译一个非常大的项目的源代码,我正在寻找最小化我的构build时间。 我认为当机器在整个构build期间(即所有核心以100%加载,整个时间)保持CPU限制时,将会发生最好的构build时间。这当然是一个理想化的目标,只能是渐近地走近。 我可以从构build的行为(主要是观看mpstat的输出)中看出我的目标的最大敌人是%iowait。 有时候我看到一个不可忽略的空闲百分比,而且我认为内核调度程序的一个适度的失败,和/或Make的并行化构build能力的小的低效率。 但这通常不足以让我担心。 另一方面,%iowait相当频繁地被严重超大…我的CPU负载急剧下降。 我相信这通常发生在某些线程尝试将大型库连接(写入)(软件控制的[*])RAID0时,而其他线程正在尝试读取源代码。 (请暂时忽略这样一个事实,即我可以将输出写入不同于源代码的音量和控制器,这是计划的。 我正在考虑切换到SSD。 但在这种情况下,我认为最好放弃驱动器的软件RAID [*]。 我的直觉是:SSD的访问时间非常快,传输时间如此之快,一个简单的4个固态硬盘LVM将压缩我的%iowaits几乎没有,我的核心将不断挂钩,做最大有用的工作量。 …在这种情况下,4个RAID磁盘arrays的软件控制将不必要地增加我的%sys,而对于%用户则更less。 我的核心仍然是固定的,但是没有什么“有用的”工作完成了。 对于这个特定的目标,我对软件RAID0的固态硬盘的直觉是否正确? 奖励问题:主板上有一个RAID控制器,但是我的理解是这只是“假RAID”,在BIOS选项ROM中提供音量pipe理function,否则只是软件RAID。 所以我不使用它。 但是真的硬件RAID控制器在这里会有帮助吗? 很明显,我可以很容易地在这台机器上固定我的内核。 我无法承受。 我相信固态硬盘将主要解决耐力问题,我发现自己想知道,即使是一个真正的硬件RAID控制器可以改善。

pg_basebackup自动密码

我有一个主从数据库设置。 master数据库位于安全的networking上,只有postgres端口被允许通过从数据库服务器。 数据库需要被保护,只有pipe理员有数据库密码。 这些服务器也位于远程站点,无需访问pipe理员即可访问。 我发现如果两个连接之间的连接中断了很长一段时间,从属数据库将会被破坏/不同步。 我写了一个脚本来重新同步从数据库,但我面临的问题是,一旦pg_basebackup运行它会提示input密码。 我需要一个简单的方法将密码传递给pg_basebackup命令。 sudo -u postgres pg_basebackup -h <masterDB-IP> -D /var/lib/pgsql/9.3/data -U rep -v -P 有什么build议么?

CentOS 6.5安装hhvm时依赖性错误

我正在尝试在新创build的液滴上安装hhvm。 为此,我正在遵循本指南 。 添加Gleez存储库后,我试着运行 yum update && yum upgrade 很多线路,然后在最后: –> Finished Dependency Resolution Error: Package: less-436-13.el6.x86_64 (@base) Requires: libpcre.so.0()(64bit) Removing: pcre-7.8-6.el6.x86_64 (@anaconda-CentOS-201311272149.x86_64/6.5) libpcre.so.0()(64bit) Updated By: pcre-8.33-2.el6.2.x86_64 (gleez) Not found Error: Package: 2:postfix-2.6.6-6.el6_5.x86_64 (@updates) Requires: libpcre.so.0()(64bit) Removing: pcre-7.8-6.el6.x86_64 (@anaconda-CentOS-201311272149.x86_64/6.5) libpcre.so.0()(64bit) Updated By: pcre-8.33-2.el6.2.x86_64 (gleez) Not found Error: Package: nginx-1.7.9-1.el6.ngx.x86_64 (@nginx) Requires: libpcre.so.0()(64bit) Removing: pcre-7.8-6.el6.x86_64 (@anaconda-CentOS-201311272149.x86_64/6.5) […]

LUKS分区恢复

具有2个分区的驱动器 – 第一个分区是纯ext4,第二个分区是encryption的LUKS。 分区表已被覆盖。 我发现第二个分区的开始,我需要恢复,因此: #hexdump -s 400000m -C /dev/sdc | grep LUKS 61d3dec850 79 c8 81 6d e5 4c 55 4b 53 40 49 aa 29 df de d7 |y..m.LUKS@I.)…| 然后: #losetup -o 0x61d3dec850 -r -f /dev/sdc #losetup -a /dev/loop0: [0005]:477209 (/dev/sdc), offset 420166420560 好吧,那么这个问题popup: #cryptsetup luksOpen /dev/loop0 luksrecover Device /dev/loop0 is not a […]

Linux正在向其他子网中的主机发送ARP请求?

build立 Host B <–> Router <–> Host A 主机A:IP = 192.168.1.10,networking= 192.168.1.0/24,VLAN = 1,默认网关= 192.168.1.1(路由器) 主机B:IP = 192.168.2.10,networking= 192.168.2.0/24,VLAN = 20,默认网关= 192.168.2.1(路由器) 路由器:IP = 192.168.1.1,192.168.2.1,VLAN = 1,20 所有设备都连接到configuration了这些VLAN的交换机。 平testing 现在,如果我尝试从主机B ping主机A,则会发生以下情况:主机B发出ARP请求,查找路由器的MAC地址,并将Ping请求发送到路由器。 路由器也发出一个ARP请求来找出目的地主机A的MAC地址,并将这个Ping请求转发给主机A.没关系,这是可行的。 另一个子网的ARP请求? 现在奇怪的是:主机A当然试图回应Ping,但是(!)没有发出ARP请求来查找路由器的MAC地址,发送Ping-Reply将其转发给主机B,而不是直接发送请求主机B的MAC地址的ARP请求。 当然,这是行不通的,在本地子网上将不会有回应,因为广播域被限制在VLAN 1中。 主机A(192.168.1.10)上的ARPcaching如下所示: # arp -an ? (192.168.1.1) at 16:bc:aa:f2:bc:44 [ether] on eth0 ? (192.168.2.10) at <incomplete> on eth0 当我尝试删除奇怪的ARPparsing尝试,我得到这个消息和失败的ARP尝试仍然在caching: # […]

如何直接grep到ftp?

这个语法有什么问题? 如何直接在远程FTP上写输出,因为硬盘空间不足? 该命令正在工作,但没有硬盘空间来获得完整的结果: find /somedir/ -name '*.*' -exec grep -i 'some string' /dev/null {} + >> /somedir/output.txt 我试过类似的东西,但我得到错误“操作不适用”: find /somedir/ -name '*.*' -exec grep -i 'some string' /dev/null {} + >> ftp -u ftp://[email protected] /somedir/output.txt

ipt_CLUSTERIP:未知协议1

我正在尝试创build一个具有两个负载平衡器和一个公共IP地址的Web群集 我使用的命令如下: iptables -I INPUT -d $CLUSTERIP -i $WAN_IF -j CLUSTERIP –new –clustermac $CLUSTERMAC –total-nodes $TOTALNODES –local-node $LOCALNODE –hashmode sourceip-sourceport 我失去了10%的请求,我不知道原因。 在第一个节点dmesg说: [3953663.740770] ipt_CLUSTERIP: unknown protocol 1 [3958608.863834] ipt_CLUSTERIP: unknown protocol 1 [3959598.791987] ipt_CLUSTERIP: unknown protocol 1 [3962373.974935] ipt_CLUSTERIP: unknown protocol 1 [3964028.213515] ipt_CLUSTERIP: unknown protocol 1 [3964884.100071] ipt_CLUSTERIP: unknown protocol 1 [3969131.737498] ipt_CLUSTERIP: unknown […]