Category: Linux
-
CentOS 7 更改 interface name
习惯于用 eth0 eth1 ,不习惯 em1, enp0s3,在 kickstart 文件中写如下脚本,使用 eth0, eth1 # grub 的配置,关键是内核启动参数 net.ifnames=0 biosdevname=0 cat /etc/default/grub GRUB_TIMEOUT=5 GRUB_DEFAULT=saved GRUB_DISABLE_SUBMENU=true GRUB_TERMINAL_OUTPUT=”console” GRUB_CMDLINE_LINUX=”crashkernel=auto rhgb quiet net.ifnames=0 biosdevname=0″ GRUB_DISABLE_RECOVERY=”true” __EOT__ # 生成实际使用的 grub2.cfg grub2-mkconfig -o /boot/grub2/grub.cfg # 删掉不喜欢的 interface name rm -f /etc/sysconfig/network-scripts/ifcfg-em* rm -f /etc/sysconfig/network-scripts/ifcfg-en* # 创建 eth0, eth1 模板 cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=”static” IPV6INIT=”no” NM_CONTROLLED=”yes”…
-
使用nat时net.ipv4.tcp_timestamps参数
在使用 iptables 做 nat 时,发现内网机器 ping 某个域名 ping 的通,而使用 curl 测试不通 原来是 net.ipv4.tcp_timestamps 设置了为 1 ,即启用时间戳 cat /proc/sys/net/ipv4/tcp_timestamps 这时将其关闭 修改 /etc/sysctl.conf 中 net.ipv4.tcp_timestamps = 0 sysctl -p 生效 原理 问题出在了 tcp 三次握手,ping 的通 icmp ok ,http ssh mysql 都不 ok 经过nat之后,如果前面相同的端口被使用过,且时间戳大于这个链接发出的syn中的时间戳,服务器上就会忽略掉这个syn,不返会syn-ack消息,表现为用户无法正常完成tcp3次握手,从而不能打开web页面。在业务闲时,如果用户nat的端口没有被使用过时,就可以正常打开;业务忙时,nat端口重复使用的频率高,很难分到没有被使用的端口,从而产生这种问题。 只有客户端和服务端都开启时间戳的情况下,才会出现能ping通不能建立tcp三次握手的情况
-
对比两个文件夹是否相同
find dirname1 -type f -exec md5sum {} + | awk ‘{print $1}’ | sort | md5sum find dirname2 -type f -exec md5sum {} + | awk ‘{print $1}’ | sort | md5sum 如果值不一样 分别进入两个目录中 for i in `ls`; do echo $i ; find $i -type f -exec md5sum {} + | awk ‘{print $1}’ |…
-
查看 ssd 寿命
安装必要的软件 yum install -y MegaCli Lib_Utils 得到 device id /opt/MegaRAID/MegaCli/MegaCli64 -LdPdInfo -aALL | grep -B 30 ‘Solid State Device’ | grep ‘Device Id’ 我这里得到的是 1, 下面用 smartctl 的时候跟上 ,1 smartctl -a -d sat+megaraid,1 /dev/sdc | grep Media_Wearout_Indicator Wear Levelling Count(颗粒平均擦写次数):最后一列为 0,即这块硬盘的全盘写入/擦除(P/E)数为 0 次,显示还有 100% 的寿命. ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED…