阿辉的博客

系统 网络 集群 数据库 分布式云计算等 研究

centos linux 7 更新第三方内核

centos linux 7本身的内核为3.10,比较老,很多新的特性都没有,可以考虑使用第三方的比较新的内核。如ELRepo仓库就提供了kernel 4.4.x的长期支持版本及5.0.x的最新版.

启用 ELRepo 仓库:
导入密钥:
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
安装yum源包:
yum install -y https://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm

安装内核:
yum --enablerepo=elrepo-kernel install kernel-lt -y

配置启动内核,使用最新的就可以了:
egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d \'
grub2-set-default 0

kernel 4.4 对kdump参数有调整,需做如下修改:
vim /etc/default/grub

crashkernel=auto
改成:
crashkernel=128M

可使用以下命令一键修改:
sed -i 's/crashkernel=auto/crashkernel=128M/' /etc/default/grub
否则使用新内核重启后kdump会报错。

生成新的配置文件
grub2-mkconfig -o /boot/grub2/grub.cfg

重启机器:
reboot

重启后可以看看kdump服务是否正常:
systemctl status kdump

以下命令可以测试做一次kernel dump:

echo 1 > /proc/sys/kernel/sysrq
echo c > /proc/sysrq-trigger

如何获取自己的公网IP

如何获取自己的公网IP呢?

1. dig查google dns

dig TXT +short o-o.myaddr.l.google.com @ns1.google.com
#或
dig +short myip.opendns.com @resolver1.opendns.com

2. curl查IP网站


curl icanhazip.com curl ifconfig.me curl icanhazip.com curl ipecho.net/plain curl ifconfig.co

3. 参考

http://www.chenshake.com/page/2/
https://www.cyberciti.biz/faq/how-to-find-my-public-ip-address-from-command-line-on-a-linux/

centos linux 7下使用nmcli绑定网卡

 

在 CentOS 7.x 中可以用 nmcli(Network Manager Command Line Interface:网络管理命令行接口)进行网卡绑定。

多网卡的7种bond模式原理请参考:http://support.huawei.com/huaweiconnect/enterprise/thread-282727.html

官方文档:https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Networking_Guide/sec-Network_Bonding_Using_the_NetworkManager_Command_Line_Tool_nmcli.html

(更多…)

LVM物理卷迁移

在生产环境中有时候会经常碰到不能停机维护的情况,或停机窗口时间不够用,比如希望更换存储系统,几十个T或更大的数据,在半天内是迁移不完的,那这个时候就只能在线做了。

下面测试使用LVM的物理卷迁移的方式来在线迁移数据:

1) 物理机已分配2块硬盘sdc,sdd

[root@test-204 ~]# fdisk -l
Disk /dev/sdd: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000


Disk /dev/sdc: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

(更多…)

jks格式的证书转base64的key格式证书

最近发现公司之前申请的SSL证书是tomcat使用的jks格式的私key,但是我现在要放到nginx上使用,所以需要把jks格式的证书转base64的私key格式证书。

网上找了一些资料:

JKS(Java KeyStore)是Java的一个证书仓库,包括授权整数和公钥整数等。JDK提供了一个工具keytool用于管理keystore。转换步骤:

1.使用keytool导出成PKCS12格式:

# keytool -importkeystore -srckeystore server.jks -destkeystore server.p12 -srcstoretype jks -deststoretype pkcs12
输入目标密钥库口令:  
再次输入新口令:
输入源密钥库口令:  
已成功导入别名 ca_root 的条目。
已完成导入命令: 1 个条目成功导入, 0 个条目失败或取消

2. 生成pem证书(包含了key,server证书和ca证书):

(更多…)

使用MySecureShell做sftp服务器安装与配置

有些合作方需要我们提供sftp服务帐号来交换信息,linux自带的sftp开出去不是很安全,网上找了一下,发现了MySecureShell这个东东作sftp服务器非常不错。

1. 安装
下载页:http://mysecureshell.sourceforge.net/en/download.html

wget http://mysecureshell.free.fr/repository/index.php/centos/6.4/mysecureshell-1.33-1.x86_64.rpm
rpm -ivh mysecureshell-1.33-1.x86_64.rpm

2. 配置 (更多…)

利用dnsmasq来修改dns记录

我想做技术的或多或少都会知道dnsmasq,因为基本上所有的家用路由都内置了它,使用他来做域名服务的缓存代理。

仔细研究你会发现,除了缓存代理的基本功能之外,它修改dns记录的功能也很有意思。看看下面:

1. 安装dnsmasq:

在centos linux上的,可以直接yum安装:

yum install -y dnsmasq

2. 配置dnsmasq:
vim /etc/dnsmasq.conf
#监听所有网卡
bind-interfaces
#修改A记录
address=/www.163.com/1.2.3.4
#修改mx记录
mx-host=126.com,m.126.com,10
mx-host=163.com,m.163.com,10

(更多…)

AWS EC2上ftp的配置

AWS EC2上配置ftp服务器有它特殊的地方:

1. 理论上来说,EC2的机器是在内网,机器上只有内网IP.外网IP是映射到内网IP上的。

2. 有安全组,相当于带了一个防火墙。

一般的vsftpd配置文件是下面这样的:

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES

use_localtime=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
listen=YES

pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
pasv_min_port=2000
pasv_max_port=3000
(更多…)

yum 报错:pkgKey 1445 doesn’t exist in repo base

执行yum -y update报错:pkgKey 1445 doesn’t exist in repo base.

系统提示进行如下操作:

package-cleanup –problems
package-cleanup –dupes
rpm -Va –nofiles –nodigest

但其实没有作用,真正有用的是下面两个命令:

yum clean all
yum clean metadata

把缓存清理一下,然后再:

yum -y update

就好了。