记录关于Devops运维,虚拟化容器云计算,数据库,网络安全等各方面问题。
Linux管理多块磁盘时(以sata盘为例),会按磁盘加载的顺序依次给磁盘命名为/dev/sda, /dev/sdb... 这种命名规则就会导致,一块磁盘在发生热插拔或系统重启后,盘符可能发生变化,会影响到一些依赖磁盘盘符工作的应用程序,比如fstab里按盘符名来挂载。要解决磁盘盘符漂移问题,一劳永逸的方法就是将磁盘槽位与盘符名做绑定;淘宝内核组的三百同学针对ali内核,添加了磁盘绑定的补丁。如果只针对磁盘挂载到问题,可通过按标签或UUID挂载的方式解决,下文将简单介绍下方案。如下所示的fstab,系统启动时,会自动执行每一行挂载动作,将/dev/sda挂载到/data/disk1,其它依此类推。如果磁盘发生热插拔,第一块磁盘的盘符由原来的/dev/sda变成了/dev/sdc,那么fstab就不能正确挂载第一块磁盘。/dev/sda /data/disk1 ext4 defaults,noatime 0 0 /dev/sdb /data/disk2 ext4 defaults,noatime 0 0为了保证在发生盘符漂移时,磁盘仍能正常挂载,首先对fstab做如下改进,按磁盘标签来挂载;比如第一行的含义是,将标签为disk1的磁盘挂载到/data/disk1。LABEL=disk1 /data/disk1 ext4 defaults,noatime 0 0LABEL=disk2 /data/disk2 ext4 &...
一. 收到报警线上有一台服务器磁盘检测告警了,提示空间不足。爬到服务器查看相关信息:/data分区只使用了71%,创建文件却提示磁盘空间不足,按理说不会出现这种情况的。难道inode耗尽?二. 分析原因查看/data分区inode使用情况相关信息如下:果不其然,IUse%=100%,导致无法创建文件。在linux系统下,硬盘被分区格式化后,包含inode和block,inode是用来记录文件的大小,物理地址,属主,属组,读写权限,时间戳,被硬链接的次数等等元数据的。block是用来存储数据的。正因为这种文件系统结构,在linux下,除了剩余磁盘空间之外,还要剩余inode才行,两者缺一不可的。可通过dumpe2fs -h /dev/sdb1或tune2fs -l /dev/sdb1 来查看最大inode数和inode大小。一旦文件系统创建后,每个分区的可用inode数无法动态的进行调整,除非重新格式化。三. 查找原因并解决/data是线上业务数据目录,各种站点、日志、临时文件存放目录。其中有个程序产生大量的小文件造成的。可通过下面的命令找出占用空间最多的文件或目录:# du -cks * | sort -nr | head -n 20删除部分文件,释放inode。
收到一台web服务器告警消息,查看/var/log/message日志信息如下所示:该台服务器每日有3kw的pv,压力有些大。 服务器的TCP连接数,超出了内核定义最大数。修改内容参数 /proc/sys/net/ipv4/tcp_max_tw_buckets# echo 20000 > /proc/sys/net/ipv4/tcp_max_tw_buckets写入/etc/sysctl.conf使之永久生效net.ipv4.tcp_max_tw_buckets = 20000# sysctl -p
pureftpd安装配置1、下载pureftpd#cd /usr/local/src/tarbag
#wget http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.22.tar.gz2、解压pureftpd#tar –xzvf pure-ftpd-1.0.22.tar.gz –C ../software/3、编译和安装pureftpd#cd pure-ftpd-1.0.22#.configure \–prefix=/usr/local/pureftpd \ //pureftpd安装目录–with-everything \ //安装几乎所有的功能,包括altlog、cookies、throttling、ratios、ftpwho、upload script、virtual users(puredb)、quotas、virtual hosts、directory aliases、external authentication、Bonjour、privilege separation。–with-cookie \ //当用户登录时显示指定的横幅–with-diraliases \ //支持目录别名,用快捷方式代cd命令–with-extauth \ //编译支持扩展验证的模块,大多数用户不使用这个选项–with-ftpwho \ //支持pure-ftpwho命令,启用这个功能需要更多的额外内存–with-language=english \ //修改服务器语言,默认是英文,如果你要做修改,请翻译‘src/messages_en.h’文件–with-ldap \ //LADP目录支持,需要安装openldap–with-minimal \ //FTP最小安装,最基本的功能–with-mysql \ //MySQL支持,如果My...
工作中总会离不开FTP,这些年一直习惯用pureftp,很久没安装,找到以前写的文档,这次顺便把文档整到ttlsa里,以后可以参考。以前自己写文档确实很啰嗦。准备pureftp#cd /usr/local/src/
#wget http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.22.tar.gz
#tar –xzvf pure-ftpd-1.0.22.tar.gz 编译和安装#cd pure-ftpd-1.0.22
#.configure \
–prefix=/usr/local/pureftpd \ //pureftpd安装目录
–with-everything \ //安装几乎所有的功能,包括altlog、cookies、throttling、ratios、ftpwho、upload script、virtual users(puredb)、quotas、virtual hosts、directory aliases、external authentication、Bonjour、privilege separation本次安装只使用这个选项。
--with-cookie \ //当用户登录时显示指定的横幅
--with-diraliases \ //支持目录别名,用快捷方式代cd命令
--with-extauth \ //编译支持扩展验证的模块,大多数用户不使用这个选项
--with-ftpwho \ //支持pure-ftpwho命令,启用这个功能需要更多的额外内存
--with-language=english \ //修改服务器语言,默认是英文,如果你要做修改,请翻译‘src/messages_en.h’文件
--wi...
ftp服务是最常见的,最经常使用的,问的问题也是最多的。ftp种类很多,如vsftp、pureftp、proftp等等。各位站长经常使用ftp,也经常搞不定ftp。下面零起点配置vsftp。1. 安装# yum -y install vsftpd2. 启动服务# service vsftpd start3. 自启动# chkconfig vsftpd on4. 添加ftp账号# useradd –d /data/wwwroot/www.ttlsa.com/webroot -g nobody –s /sbin/nologin ttlsa_ftp[warning]如果后面不加–s /sbin/nologin参数,建立的用户为普通系统用户,有登陆服务器的权限,这是非常危险。[/warning]注释:-s /sbin/nologin 是让其不能登陆系统。-d 是指定用户目录为/data/wwwroot/www.ttlsa.com/webroot,根据你的需求换成任何你要的目录。-g nobody 把用户加入到nobody组中。(我这里是添加到nobody组,是为了web可以运行)ttlsa_ftp 是ftp用户名,换成你的ftp用户名。执行该命令后,如果出现下面的提示:useradd: warning: the home directory already exists.Not copying any file from skel directory into it.这说明用户的目录已经存在,并非添加用户失败,可以忽略。5. 创建密码# passwd ttlsa_ftp6. 修改目录属性# chown -R ttlsa_ftp /data/wwwroot/www.ttlsa.com/webr...
在iptables开启的状态下, 最让人烦恼的事情就是ip_conntrack table full dropping packet,丢包严重,有时服务器都连接不上的,要重启系统,严重影响线上业务。在ubuntu12.04/centos6.4系统下,更改net.ipv4.ip_conntrack_max会报错error: “net.ipv4.ip_conntrack_max” is an unknown key。因为改名字了哈。同时,如果没有加载ip_conntrack模块、iptables 不要配置状态的规则也会报这个错误的。在ubuntu12.04/centos6.4系统下:vi /etc/sysctl.confnet.nf_conntrack_max = 6553600sysctl –p
当我们开启iptables后,会有这么个现象发生,丢包。ping的话会断断续续的丢包,ifconfig 会看到网卡dropped:XXX一直在增加,messages日志有以下内容:ip_conntrack表满导致的,iptables开启后会加载ip_conntrack模块,来跟踪包。默认情况下ip_conntrack_max大小为65536。iptables导致ftp列表失败一例参见:pureftp读取目录列表失败解决查看ip_conntrack最大大小:# cat /proc/sys/net/ipv4/ip_conntrack_max查看当前ip_conntrack大小:# wc -l /proc/net/ip_conntrack解决方法:1. 更改ip_conntrack大小# /etc/sysctl.conf net.ipv4.netfilter.ip_conntrack_max = 6553600net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 300net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait = 12net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait = 60net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait = 120# sysctl -p 使其生效这种解决方案,需要在每次iptables重启后,都要执行一遍sysctl -p, 也可以将sysctl -p写入到iptables启动脚本中。 不过ip_conntrack满的隐患还是存在的。2. 不加载ip_conntrack模块修改 /etc/sysconfig/iptables-co...
FTP是初学linuxer最经常用到的,要么遇到ftp连接超时,要么是ftp打开目录失败,要么是用户没权限。今天遇到的ftp读取目录列表失败,状况如下图:打开目录列表失败我们公司都是使用后台开通ftp账号,pure-ftp到mysql中认证,但是提示读取目录列表失败,问题一般出在服务器上,怀疑是否为iptables的问题service iptables stop然后连接FTP,不再提示失败.查看iptables,并未禁止20,21端口. 修改iptables-config文件cat /etc/sysconfig/iptables-config | grep ip_nat_ftp
IPTABLES_MODULES="ip_conntrack_netbios_ns ip_conntrack_ftp ip_nat_ftp"重启iptables,打开目录列表成功,ftp正常使用。
用yum来安装软件包非常方便快捷,有几个由CentOS以及其他第三方开发者提供的软件库,具有base和updates这两个缺省软件库以外的软件组件,可以满足你的需求,这些软件库在CentOS社区内有不同程度的稳定性、支持和合作。下面来具体列举几个软件库:1. RPMForge这个软件库主要由Dag维护的,提供超过10000个CentOS组件,包括mplayer、xmms-mp3和其他受欢迎的媒体工具。这个软件库稳定安全。缺省的RPMforge软件库不会取代任何CentOS的基本组件。以往有些组件会这么做,但现在被收录在一个独立rpmforge-extras、缺省停用的软件库中。1.1 CentOS/RHCE 6的RPMforge根据你的系统结构下载合适的rpmforge-release组件i386: http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i386.rpmx86_64: http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm1.1.1 安装GPG密钥:# rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt如果出现error:http://apt.sw.be/RPM-GPG-KEY.dag.txt: key 1 import failed.说明密钥已经安装过的。1.1.2 安装rpmforge组件:推荐将i386和x86_64都安装上# rpm -i rpmforge-release-0.5.2-2.el6....
最新评论