Articles of linux

远程升级Ubuntu:如何最大限度地减less丢失服务器的风险?

背景:由于raid控制器的兼容性问题,我不得不从Ubuntu 8.04 LTS远程升级服务器到10.04 LTS。 互联网连接到服务器是有点稳定,很less下降。 尽pipe我担心在升级过程中通过SSH丢失连接,导致服务器处于不可访问状态。 我也担心升级后服务器无法启动,万一我不知道是什么问题。 行动计划:我正在寻找的是build议,以尽量减less失去服务器的风险,我知道我在做什么是非常危险的。 这是我目前的行动计划: 1)在本地和外部备份所有重要的东西。 2)使用fsck临时禁用引导时间磁盘检查。 (如果磁盘检查需要很长时间才能完成,我不知道发生了什么)。 这将通过fstab通过将最后一个参数从1更改为0来完成: UUID=5b1ff964-7608-44fd-a38d-7e43ad6b4c11 / ext3 relatime,errors=remount-ro 0 0 3)使用屏幕启动所有升级过程,以便在丢失连接时恢复。 即: sudo screen apt-get upgrade 问题: 我提议的行动计划是否合理? 禁用启动时间磁盘检查一个坏主意? 还有什么可以做的,以减less失去服务器的风险? 更新:几乎所有的答案都build议我设置我现在已经完成的DRAC / IPMI。 这感觉就像是一个非常好的成果,肯定会让风险小得多,因为我可以通过KVM /控制台redirect来关注整个电源周期。 为了将来的参考,这是我所做的: 1)安装ipmitool为IPMI v2.0设置IP地址,网关等: sudo ipmitool lan set 1 ipaddr 192.168.1.99 sudo ipmitool lan set 1 defgw ipaddr 192.168.1.1 2)安装free-ipmi将网卡select模式改为共享(我只有一个networking接口连接到networking): sudo ipmi-oem […]

有关国家和政策的防火墙问题?

我终于设法安装我的虚拟主机,现在我正在搞iptables创build,testing和学习。 如果我把下面的规则放在我的规则的开始或结束时,是否有关系? $IPT -P INPUT DROP $IPT -P FORWARD DROP $IPT -P OUTPUT DROP 我已经testing,没有什么区别,但我想确认。 回答我目前select:尽早实施您的政策是一个好主意。 把它们放在一开始。 内部stream量的DROP规则可能会导致问题。 有下面的规则会被认为是防火墙上的错误? $IPT -A OUTPUT -m conntrack –ctstate ESTABLISHED,RELATED -j ACCEPT 没有这个规则,我需要添加例如一个输出规则为我的SSH连接,例如: $IPT -A OUTPUT -p tcp –sport 2013 -j ACCEPT 答案:在-m conntrack –ctstate ESTABLISHED,RELATED -j ACCEPT @ freenode上进行了更多的testing并与人交谈之后,我得出结论:使用-m conntrack –ctstate ESTABLISHED,RELATED -j ACCEPT INPUT和OUPUT是一个很好的方法,它将帮助你处理大量像FTP这样的东西,并且是一个很好的解决scheme,因为除非你给定的端口打开并且被接受,否则就不会有恶意的连接。 这是一个正常的例子,不使用上面的例子: $IPT -A […]

如何使Linux软件RAID1检测到光盘损坏?

这是一个噩梦般的日子:运行在Linux SW-RAID1上的虚拟化服务器运行一个虚拟机,在看似随机的代码块中出现随机的段错误。 在debugging过程中,我发现一个文件在每次运行时都会给出不同的md5sum。 深入挖掘,我发现:构成RAID1镜像的原始磁盘分区包含2位差异和ca. 9个扇区在一张光盘上完全空白,并在另一张光盘上填充数据。 显然,Linux从一个未被选定的镜像光盘中给出了一个扇区。 所以有时候同样的部门会返回OK,有时候损坏的部分会被退回。 文档说: RAID不能也不应该防止媒体上的数据损坏。 因此,故意破坏磁盘上的数据(例如使用dd)以查看RAID系统如何处理该数据也没有任何意义。 这是最有可能的(除非你损坏RAID超级块),RAID层永远不会发现损坏,但是你的RAID设备上的文件系统将被破坏。 谢谢。 这将帮助我睡觉。 : – / 有没有办法让Linux至less通过使用部门校验或类似的东西来检测这种腐败? 这是否会在RAID5设置中检测到? 这是我希望使用ZFS或btrfs(一旦没有超级pipe理function就可以使用)的时刻? 编辑: 我并不孤单 。

是否有可能将带状逻辑卷转换为线性逻辑卷?

我有一个逻辑卷,分为三个物理卷。 我不得不把这个逻辑卷移到另一个物理卷。 这与pvmove命令很好地工作。 不过,后来我发现逻辑卷仍然是条纹的,现在所有三个条纹都在同一个物理卷上。 有没有办法将带区逻辑卷转换成线性逻辑卷? 我在Linux上使用LVM2。 我认为很明显的可能性是重新命名条带逻辑卷,创build一个新的线性逻辑卷,然后复制数据,但这需要使文件系统离线一段时间。 不幸的是,下周之前我不能这样做。 有没有更好的select?

openvpn隧道之间的dynamic路由

我正在考虑通过OpenVPN隧道使用dynamic路由[OSPF或RIP]。 现在我有几个连接全网的办公室,但这不是可扩展的解决scheme,因为我们添加更多的位置。 如果我计划使用的两个VPNterminal中有一个closures,我想避免出现大量内部stream量受到影响的情况。 你有类似的configuration工作在生产? 如果是这样 – 你使用什么路由守护进程 – quagga ? 别的东西? 你有没有遇到任何问题? 谢谢!

如何诊断频繁段错误

我的服务器在不同的工具中logging频繁的分段错误到/var/log/kern.log。 到目前为止,我已经看到他们在Perl,PHP和rsync。 所有安装的软件都是最新的Debian软件包。 这是来自日志文件的exerpt: Mar 2 01:07:54 gaz kernel: [ 5316.246303] imapsync[4533]: segfault at 8b ip 00007fb448c98fe6 sp 00007ffff571dd68 error 4 in libperl.so.5.10.1[7fb448bd7000+164000] Mar 2 01:17:42 gaz kernel: [ 5904.354307] php5-cgi[4441]: segfault at 2bb3dc8 ip 0000000002bb3dc8 sp 00007fffbeeaae48 error 15 Mar 2 02:54:05 gaz kernel: [11687.922316] php5-cgi[4495]: segfault at 2d7acf9 ip 0000000002d7acf9 sp 00007fff60c6eb18 error […]

linux和Solaris之间的区别/ usr / bin / env

我有一个简单的脚本: #!/usr/bin/env perl -w print "Hello World\n" 使这个可执行文件,在Linux上运行,我得到: /usr/bin/env: perl -w: No such file or directory (没有-w,这工作正常) 在Solaris 8计算机上运行相同的脚本会生成正确的输出。 有什么build议,为什么这是?

CentOSnetworkingBNX2

在我的网卡上遇到一些麻烦。 服务器启动正常,我可以wget / ping等。但是,当我/etc/init.d/networking restart ,然后收到以下错误: Bringing up interface eth0: bnx2: fw sync timeout, reset code = 1030009 SIOCSIFFLAGS: Device or resource busy 因此,任务失败。 我search了谷歌用户build议在BIOS中禁用PNP,但我看不到select。 以下是一些系统信息: $ ethtool -i eth0 driver: bnx2 version: 2.0.8-rh firmware-version: bc 2.9.1 $ uname -a Linux host 2.6.18-238.9.1.el5 #1 SMP Tue Apr 12 18:10:13 EDT 2011 x86_64 x86_64 x86_64 GNU/Linux […]

Linux的 – 如何判断哪些文件来源login?

当一个特定的用户login到一台Linux机器上时,某些文件可能来源于,例如.bashrc,.bash_profile等。有时,不同的shell意味着不同的文件来源。 当然用户可能有一些设置来源自己的某些自定义文件。 我的问题:有没有一种方法让root / su确定每个给定用户login的文件的列表?

在linux中修改grub.conf文件

我编辑了我的linux系统的'grub.conf'文件,并改变了它的'timeout'值,并添加了一些其他的行,以解决'xm console guest'命令的超时问题。 我很愚蠢的认为,grub.conf中的'timeout'参数实际上与'xm console timeout'相关,并将其更改为非常大的值。 所以这导致了一个很大的问题。 现在,当我重新启动我的Linux机器时,即使在手动select内核启动后,它仍然在启动屏幕上挂起。 所以基本上我想撤销我在grub.conf文件中引导或通过grub进行的更改。 或者以某种方式强制系统启动一次,然后撤消更改。 我无法做到这一点。 一种方法是在救援模式下从Linux CD启动并撤消它,但由于它是XEN上的虚拟机,所以我无法做到这一点,而且我无法从外部CDfind启动它的方法。 有没有办法解决我创build的混乱?