一、内核
1、操作内核
微内核:比单内核先进,只包含最核心的内容core,其他如FS,驱动程序等都称为subsystem.
如:Windows,Solaris

单内核:所有内核所需内容都包含进去,但体积庞大
Linux,Modules可自动动态装载和卸载,可手动管理
比喻:球,布满了洞--模块


ls -lh /boot
ls /lib/modules


2、内核职责
cpu多路复用,时钟中断(如:1s中断1000次),O(1)算法--------进程调度
物理内存,线性内存,MMU --------内存管理
目录项缓存 --------缓存
Selinux,iptables规则 --------安全性
TCP,NTP... --------网络协议


3、kernel支持和限制
rhel 5.4 32-bit x86 kernels: 不适合服务器系统架构
kernel:最多32个cpu,4GB RAM            每个进程最多使用3GB内存
kernel-PAE:最多32个cpu,16GB RAM 内存使用效率低,pae物理地址扩展
kernel-xen:最多32个cpu,16GB RAM 管理虚拟机
rhel 5.4 64-bit x86-64 kernels:
kernel:最多64个cpu,512GB RAM              
kernel-xen:最多128个cpu,512GB RAM  


4、内核相关命令:
Kernel state:  uname---man uname
       uptime显示当前系统运行时间
tload基于文本图形,显示系统负载

Processes:ps,top,gnome-systme-monitor

Memory:free,vmstat,swapon -s所有交换内存,pmap


内核线程[]
Disk Utilization:df,fdisk,iostat,lsof
yum install sysstat

Support Summary:sosreport



5、【重要】
/proc:内核信息映射输出,导出内存中内核信息
/proc/sys下文件有可写权限即可写入
/proc/sys/kernel/hostname
/proc/sys/net/ipv4/ip_forward
/proc/sys/vm/
     drop_caches echo 1 > drop_caches释放缓存
   swappiness
sysctl -w net.ipv4.ip_forward=1  //sysctl即去掉/proc/sys路径    当前生效
sysctl -a  列出当前所有使用sysctl设置的信息
vim /etc/sysctl.conf 重启有效     
sysctl -p 重新读取一下,并当前生效


查看bios信息:dmidecode
x86info 查看cpu更详细信息
-a
-c

6、dev/udev  【重要】
1)Block devices:    随机设备
USB,SATA,SCSI,ISCSI--/dev/sd..
Software RAID   --/dev/md0,/dev/md1

2)Character devices:线性设备
(逻辑设备,软件设备)
/dev/null--bit bucket
/dev/zero--0 设备   --抹除原有数据,防止反删除
/dev/random,/dev/urandom 生成随机数 ‘熵池’


ls /dev
主设备号,次设备号---标识不同设备


udev按需动态创建设备文件
vim /etc/udev/rules.d/

lsmod 显示当前系统所有加载的模块。模块间有依赖关系
modinfo 显示具体模块的信息  如:modinfo ipv6
modprobe -r 手动装载或卸载模块  (不需要指定具体路径)
depmod生成模块间依赖关系列表

vim /etc/modprobe.conf

insmod 向内核装载模块  (必须指出具体路径)
rmmod 从内核中移除模块 

7、mkinitrd
which mkinitrd
如:mkinitrd /boot/initrd-$(uname -r).img $(uname -r)
--with 指定额外附加的模块
如:mkinitrd --with=scsi_mod /boot/initrd-$(uname -r).img $(uname -r)





二、network
1、ip tcp 协议结构
arp 

路由类型:
静态路由,动态路由
ospf
rip
eigrp
bgp
主机路由,网络路由,默认路由


2、man ip
ip addr show     
scope   host
link
global
ip addr show eth0
ip link show
ip -s link show  统计信息数据 mtu 最多传输单元

配地址:
ip addr add

ip link dev eth0 down

ifup/ifdown

ethtool -i eth0
-s eth0 speed 100

speed设置速率

duplex half|full    双工模式

autoneg on|off


自动专用地址:169.254不能实现路由
NOZEROCONF=yes


3、eth0:N取别名
ifconfig eth0:1 10.1.1.1/24 当前生效,重启生效需创建文件ifcfg-eth0:1

redhat特有:
vim /etc/sysconfig/network-scripts/ifcfg-eth2-range0
DEVICE=eth2
IPADDR_START
IPADDR_END
NETMASK
CLONENUM_START="1"


4、route
route -n 查看当前系统路由信息   或  netstat -rn   或ip route

U  up
UG  gateway
UGH  到目标主机路由



route add 配置静态路由 【当前生效】
-host 到主机路由 
-net TARGET/mask gw 到目标网络路由



vim /etc/sysconfig/network-scripts/route-eth0
ADDRESS0=172.15.0.0
NETMASK0=255.255.0.0
GATEWAY0=172.16.0.2

ADDRESS1=10.2.1.0
NETMASK1=255.255.255.0
GATEWAY1=172.16.0.3


5、ping
traceroute
mtr

vim /etc/sysconfig/network
HOSTNAME=

sysctl -w kernel.hostname=
echo "hostname" > /proc/sys/kernel/hostname

vim /etc/hosts
vim /etc/resolv.conf 配置dns
gethostip www.a.com  探测主机ip地址
host -t A www.a.com
dig -t A www.a.com


vim /etc/sysconfig/network-scripts/route-eth0
PEERDNS=no 不要覆盖刚配置的dns地址



netstat -t
-u
-r
-n
-l
-p

nmap 扫描工具
nmap -sL 192.168.0.1-254 -o
tcpdump -i eth0

wireshark

netcat 网络瑞士×××


多路径机制BOND:
modprobe bonding
0 负载均衡



三、设备开机自动挂载

vim /etc/fstab



四、NFS                    (类似Windows下的网络驱动器)
1、
NFS:network filesystem  共享文件系统
RPC服务:remote procedure call 
service portmap status

2、
rpcinfo -p 192.168.0.254
showmount -e 192.168.0.254查看对方共享目录及对谁开放
mount IP:/var/ftp/pub /mount_point   


3、
autofs 自动挂载器:访问时自动挂载,不访问时自动卸载
automounter在5.4上以daemon运行

实现:
1)间接挂载
service autofs status
vim /etc/auto.master
/share /etc/auto.pub
vim /etc/auto.pub  自己创建
pub -ro,soft 192.168.0.254:/var/ftp/pub
service autofs restart


2)直接挂载
vim /etc/auto.master
/- /etc/auto.pub

vim /etc/auto.pub
/pub -ro,soft 192.168.0.254:/var/ftp/pub

service autofs restart

3)直接挂载本地设备
vim /etc/auto.master
/- /etc/auto.cdrom
/etc/auto.cdrom
/media/cdrom  -fstype=iso9660,ro,soft :/dev/cdrom

/dev/cdrom /media/cdrom



4)间接挂载服务器某路径下的所有子目录
vim /etc/auto.master
/home/guests  /etc/auto.home /home/guests需要存在

vim /etc/auto.home
* -rw,soft 192.168.0.254:/home/guests/&

service autofs restart

注:
直接挂载:192.168.0.254:/var/ftp/pub /share/pub /share/pub事先存在
间接挂载:192.168.0.254:/var/ftp/pub netfs netfs事先不存在