一、内核
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 负载均衡
1
三、设备开机自动挂载
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事先不存在