参考文档
鸟哥的Linux私房菜-WWW伺服器 http://linux.vbird.org/linux_server/0360apache.php
实验环境&内容
系统 Red Hat Enterprise Linux Server release 6.5
如果能成功安装并运行wordpress就说明搭建成功了。
继续阅读“RHEL6: LAMP安装与配置”
feichashao's Blog
Linux, RHEL, CentOS, etc.
鸟哥的Linux私房菜-WWW伺服器 http://linux.vbird.org/linux_server/0360apache.php
系统 Red Hat Enterprise Linux Server release 6.5
如果能成功安装并运行wordpress就说明搭建成功了。
继续阅读“RHEL6: LAMP安装与配置”
这是有关Kernel的学习笔记,也就是说会很乱......
继续阅读“Kernel学习笔记”
通过修改udev的rules文件,可以修改设备的owner和group。
值得注意的是,因为/lib/udev/rules.d/50-udev-default.rules会把block设备的group改为disk.
所以要改block设备的group的话,rules文件需要大于50小于99.
可以新建/etc/udev/rules.d/99-persistent-localdisk.rules这个文件,加入以下规则。
KERNEL=="vda", MODE="640" , GROUP="feichashao"
我是搬运工,搬运Better Linux Disk Caching & Performance with vm.dirty_ratio & vm.dirty_background_ratio这篇博客。
本人实验环境:Red Hat Enterprise Linux Server release 6.5 (Santiago)
http://lonesysadmin.net/2013/12/22/better-linux-disk-caching-performance-vm-dirty_ratio/
文件缓存是提升性能的重要手段。毋庸置疑,读缓存(Read caching)在绝大多数情况下是有益无害的(程序可以直接从RAM中读取数据),而写缓存(Write caching)则相对复杂。Linux内核将写磁盘的操作分解成了,先写缓存,每隔一段时间再异步地将缓存写入磁盘。这提升了IO读写的速度,但存在一定风险。数据没有及时写入磁盘,所以存在数据丢失的风险。
同样,也存在cache被写爆的情况。还可能出现一次性往磁盘写入过多数据,以致使系统卡顿。之所以卡顿,是因为系统认为,缓存太大用异步的方式来不及把它们都写进磁盘,于是切换到同步的方式写入。(异步,即写入的同时进程能正常运行;同步,即写完之前其他进程不能工作)。
好消息是,你可以根据实际情况,对写缓存进行配置。
可以看一下这些参数:
[root@host ~]# sysctl -a | grep dirty vm.dirty_background_ratio = 10 vm.dirty_background_bytes = 0 vm.dirty_ratio = 20 vm.dirty_bytes = 0 vm.dirty_writeback_centisecs = 500 vm.dirty_expire_centisecs = 3000
vm.dirty_background_ratio 是内存可以填充“脏数据”的百分比。这些“脏数据”在稍后是会写入磁盘的,pdflush/flush/kdmflush这些后台进程会稍后清理脏数据。举一个例子,我有32G内存,那么有3.2G的内存可以待着内存里,超过3.2G的话就会有后来进程来清理它。
vm.dirty_ratio 是绝对的脏数据限制,内存里的脏数据百分比不能超过这个值。如果脏数据超过这个数量,新的IO请求将会被阻挡,直到脏数据被写进磁盘。这是造成IO卡顿的重要原因,但这也是保证内存中不会存在过量脏数据的保护机制。
vm.dirty_expire_centisecs 指定脏数据能存活的时间。在这里它的值是30秒。当 pdflush/flush/kdmflush 进行起来时,它会检查是否有数据超过这个时限,如果有则会把它异步地写到磁盘中。毕竟数据在内存里待太久也会有丢失风险。
vm.dirty_writeback_centisecs 指定多长时间 pdflush/flush/kdmflush 这些进程会起来一次。
可以通过下面方式看内存中有多少脏数据:
[root@host ~]# cat /proc/vmstat | egrep "dirty|writeback" nr_dirty 69 nr_writeback 0 nr_writeback_temp 0
这说明了,我有69页的脏数据要写到磁盘里。
1. The kdump Crash Recovery Service https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/ch-kdump.html
2. 深入探索 Kdump,第 1 部分:带你走进 Kdump 的世界 http://www.ibm.com/developerworks/cn/linux/l-cn-kdump1/
3. 深入探索 Kdump,第 2 部分: Kdump 图形化配置工具 http://www.ibm.com/developerworks/cn/linux/l-cn-kdump2/
4. 深入探索 Kdump,第 3 部分: Kdump 原理探秘 http://www.ibm.com/developerworks/cn/linux/l-cn-kdump3/
5. 深入探索 Kdump,第 4 部分: kdump 的亲密战友 crash http://www.ibm.com/developerworks/cn/linux/l-cn-kdump4/
Kdump是一套内核崩溃转储机制。当遇到Kernel Panic的时候,它能将当前内核内存转储出来,转储出来的内存文件叫vmcore.
简单地理解,系统在启动的时候,除了用于正常工作的生产内核,还会启动一个捕获内核(也就是“备胎”)。在生产内核正常运行的时候,捕获内核就安安静静地坐着不干活;当生产内核Panic,捕获内核就会出来,帮生产内核收尸,这条尸就是vmcore。
继续阅读“RHEL6: 安装并启用Kdump”
a. 最好不要自行编译内核。直接下载官方的rpm包进行升级即可;
b. 下面是从2.6.32-431升级到2.6.32-504的步骤;
1. 备份重要数据;
2. 下载kernel-2.6.32-504.el6.x86_64.rpm 和 kernel-firmware-2.6.32-504.el6.noarch.rpm ;
3. 升级kernel-firmware;
[root@r6s0 tmp]# rpm -Uvh kernel-firmware-2.6.32-504.el6.noarch.rpm
4. 安装kernel;
[root@r6s0 tmp]# rpm -ivh kernel-2.6.32-504.el6.x86_64.rpm
5. 检查grub.conf,启动时应以新内核启动;
kernel /vmlinuz-2.6.32-504.el6.x86_64
PAM可用于各种认证、授权。
下面做两个简单的实验,看看pam_cracklib和pam_tally2的简单用法。
1. Linux-PAM page http://www.linux-pam.org/
2. Linux可插拔认证模块的基本概念与架构 http://www.infoq.com/cn/articles/wjl-linux-pluggable-authentication-module
3. Linux可插拔认证模块(PAM)的配置文件、工作原理与流程 http://www.infoq.com/cn/articles/linux-pam-one
继续阅读“RHEL6: PAM”