一、服务器技术架构的三大发展趋势:
1. scale-up纵向扩展架构:
它主要提升的单台服务器的计算性能:高可靠,高可用,高扩展;
应用于高性能交易类业务。如企业核心交易数据库,关键应用系统以及HPC高性能计算等业务;广泛应用于金融交易,电信计费,科学研究,气象分析等领域
2.scale-out横向扩展架构:
对单台服务器的性能要求不高,主要通过更多的服务器来协同完成任务。具有高并发性能、低成本、高密度、节能低碳、统一管理等特点。
适用于超大规模数据中心。大数据分析、公有云、web应用集群等业务场景
3.hyper-converged超融合架构
将计算、存储、网络和统一管理放在一个盒子里,提供一个整体的计算解决方案;可达到整体系统的一体化融合集成、性能优化、简易管理的目的;
通过一体化的设计 集成、与优化消除系统瓶颈,实现更好的整体系统效能。
主要应用于高性能数据分析、数据库整合、云计算资源池平台、一体化数据中心等应用场景。
二、业务应用软件在服务器上的部署
1.C/S架构:二层应用部署架构。不利于应用的灵活部署,不利于较大规模客户应用和推广。
2.B/S架构:中间加入应用服务器,三层结构;客户只需要用web浏览器连接不同的应用服务器就可以利用不同的应用服务器。B/S架构的web客户端使用简单,免维护;业务应用软件 数据库系统可以集中 统一部署 统一维护;适用于大规模应用系统的部署与服务。
互联网业务是典型的B/S架构。由于互联网的用户数量庞大、并发点击负载高、海量大数据等特点,因此互联网业务的后台服务器系统的架构模式一直朝着开放 分布式的架构模式发展。
三、服务器的系统安装与业务部署
服务器==》os操作系统==》数据库,中间件==》业务应用软件
中间件为上层应用软件提供运行和开发环境,提供预制可复用的业务功能模块 API接口等
四、LINUX系统概述
1973年 Unix正式诞生;1994年linux1.0发布
linux结构:硬件,内核kernel,外壳shell,应用程序
linux特点:多任务,多用户,管道,shell,移植性好
五、linux用户和用户组
用户 用户组
UID GID
了解配置文件/etc/passwd的7个字段:用户名 、密码、UID、GID、说明字段、家目录、shell
/etc/group的4个字段:组名称、组密码、GID、加入该组的用户
用户管理的常用命令
1.用户查询常用命令:id、finger
id:查询当前登录用户的GID,UID
finger:查询当前用户属性信息
新增用户:useradd useradd [参数] [用户名] -d 设置用户的家目录 -m 设置家目录不存在是自动创建 -u 设置用户的uid -g 设置初始GID或组名 -s 指定用户的shell,如/bin/csh
删除用户userdel [参数] [用户名]
-r 连用户家目录一起删除
设置用户密码: passwd [用户名]
修改用户属性 : usermod [参数] [用户名]
-d 修改用户家目录
-g 修改初始用户组
新增用户组:groupadd
groupadd [参数] [用户组名]
-g 指定组id
删除用户组:groupdel
groupdel [用户组名]
修改用户组:groupmod
groupmod [参数] [用户组名]
-g 修改组id
-n 修改组名
2 . linux文件和目录结构
pwd :当前所在路径 绝对路径:有根目录(/)开始写起的文件名或者目录名 相对路径:基于当前路径的文件名或者目录名称写法 . 代表当前目录 .. 代表上一级目录
cd [目录] 改变当前的工作目录
新增目录 mkdir [参数] 目录名
-p 建立目录时建立起所有不存在的父目录
-m 指定存取模式建立目录
删除目录 rmdir [参数] 目录名
-p 删除目录和其父目录,这样可以一次删除多个目录
复制文件或目录 cp 源文件或目录 目的文件或目录
移动文件或目录 mv 源文件或目录 目的文件或目录
删除文件或目录 rm [-ir] 文件或目录
查找文件或目录 find [路径] [参数]
-name
-user
查看文件内容:cat :直接查阅文件内容,不能翻页
more : 翻页查看文件内容
less :翻页阅读
head :查看文档的前面几行内容,默认10行
tail :查看文件的最后几行内容,默认10行
3 linux文件系统管理
传统文件系统:写入文件内容的时候,先写入数据,再写入元数据,典型的传统文件系统是ext2文件系统
日志型文件系统:写入文件内容的时候,首先写入日志记录文件;典型日志型文件系统有ext3,reiserFS文件系统。ext3是对ext2的扩展,在ext2基础上加入日志功能。
ReiserFS使用基于平衡树的文件系统结构,搜索快
文件系统的分区步骤:(1)创建分区 fdisk (2)创建文件系统mkfs(3)挂载文件系统mount
创建分区fdisk fdisk 设备名 参数m,查看按键操作说明 参数p,得到本磁盘的相关信息 输入命令n, 可以新建一个分区 新建分区的步骤:1.选择分区类型 2.选择分区开始的磁柱 3.绝对分区大小 4.保存新建分区 重启服务器或使用partprobe命令通知内核 如: fdisk /dev/sda 创建文件系统mkfs mkfs [参数] 设备名称 -t 指定文件系统类型,如ext3 -b指定block大小,单位byte,ext2/ext3只支持1024,2048,4096三种 挂载文件系统mount mount 设备名 挂载点 -t 指定文件系统类型 -b 指定block大小,单位bytes 如: mount /dev/sda6 /root/testmount 查看分区使用情况 df:查看文件系统的磁盘空间占用情况 -h 以容易理解的格式打印出文件系统大小 -i 显示inode信息而非块使用量 du:查询文件或目录的磁盘使用空间 -a 显示目录下的每个文件所占用的磁盘空间 -s 显示大小的总和 -h 以容易理解的格式输出文件大小值 查看系统打开的文件 lsof:显示系统打开的文件 lsof filename 显示打开指定文件的所有进程 lsof -c string 显示以指定字符开头的进程所打开的文件 lsof -u username 显示所属user相关进程打开的文件 修复文件系统 fsck:检查文件系统并尝试修复错误 执行fsck时,必须将要修复的设备进行umount后,在执行fsck命令 e2fsck :检测和修复ext2和ext3文件系统
4、LVM原理
LVM:是logical volume manger的缩写
5.LINUX网络管理
查看网口配置:ifconfig 接口
修改网口的配置:ifconfig 网口 【参数】
永久生效:改/etc/sysconfig/network/ifcfg-[网口] 使用ifup [网口]启用接口
查看路由表:route
新增路由:route add [-net|-host] [netmask Nm] [gw Gw] [[dev] if] 如:route add -net 192.168.1.1 netmask 255.255.0.0 dev eth3
永久有效:/etc/sysconfig/network/routes 重启生效
ping -c 数字 地址 ping的次数
traceroute <地址或主机>
6.进程与任务管理
(1)查看进程 ps :静态查看某一时间点进程信息
-a 显示现行终端机下的所有进程
-x 显示所有程序,不以终端机来区分
-u 以用户为主的格式来显示程序状况
-f 用asc字符显示树状结构
top 连续观察进程动态,默认三秒刷新一次,并按cpu使用率高到低排序
pstree 用asc字符显示树状结构
-p 显示进程id
-u 显示用户名称
(2)结束进程
kill -9 pid
killall 终止同一进程组内的所有进程
(3)任务管理
& 直接将程序放入后台处理 如 find / -name smcapp &
jobs 查看当前shell的后台任务
ctrl +z 将正在运行的任务放入后台暂停
fg %[job id] 将任务放前台执行
bg %[job id] 将任务放入后台执行
(4)管理周期计划任务
crontab [-u user ] [-e| -l|-r]
-u 指定用户
-e 编辑crontab任务内容
-l 查阅crontab任务内容
-r 移除所有的crontab的任务内容
(5)管理定时任务
at 安排一个任务在未来执行,必须先启用atd进程
at -l 相当于atq,列出当前at任务
at -d [job id] 相当于atrm,删除一个at任务
at -c [job id] 查看任务的具体内容
7、系统监控
(1)监控系统是否正常启动
kernel ring buffer 、 dmesg|less 、/var/log/boot.msg
(2)监控系统硬件信息
cat /proc/...下文件的保存硬件信息
hwinfo --disk 显示磁盘信息 --cpu 显示cpu信息 --memory 内存信息 --network 网卡信息 --short 显示硬件的摘要信息
fdisk -l 查看服务器所挂硬盘个数及分区情况
iostat 查看cpu和磁盘i/o的统计信息 -c 仅显示cpu信息 -d仅显示磁盘统计信息 -k 以k为单位显示每秒的磁盘请求数
lspci 列出pci设备 -v 显示pci接口装置的详细信息
(3)监控系统进程
ps top uptime uname netstat
(4)监控用户的登录信息
who w lastlog last finger