尺寸:1U 2U 4U
外形:机架式、刀片式、云主机、塔式、小型机
DellR720 2U 双路 16个sas硬盘32G 64G 一个cpu 4核 16G
ups(不间断电源):ups类似于一个蓄电池,相当于服务器的电池,可以在断电的情况下,为服务器供电一段时间,服务器ups一般可以撑到几个小时,期间可以为运维人员腾出时间解决电的问题.
1、土豪组合是?
SSD+SAS
2、对速度要求比较高场景下的常规组合是?
SSD+SATA
3、对速度没有特殊要求场景下的常规组合是?
机械磁盘+SAS
4、穷人套餐,对速度要求较低,通常用于企业内部应用的组合是?
机械磁盘+SATA
冷数据就是用户不经常访问的数据
热数据就是用户经常访问的数据
阵列卡就是RAID卡
1、把所有硬盘的容量加在一起
2、可以让数据更安全
3、可以获得更高的性能
Raid0:
至少一款盘,n块盘的总容量,n块盘加在一起的读写速度,实际略低一些,不允许坏任何一块盘,用于队速度有要求,对数据安全没有特殊要求的。
Raid1:
只能两块盘,一块盘的容量,几乎是一块盘的读写速度,允许坏一块盘,另一块盘里有完整的数据,用于对数据安全有要求,对速度没有特殊要求的,例如系统盘
Raid5:(介于raid0与raid1之间,折中的一种方案)
至少三块盘,两两之间奇偶效验,相同结果位0,不同结果位1,坏掉一块盘等量的情况下容量低于raid0,读写速度低于raid0高于raid1,可以坏掉一块盘,可以通过其余两块盘推断出坏盘的数据,一般场合都可以用
Raid10:
至少四块盘,raid1和raid0的整合产物,兼顾了raid1的数据安全性与raid0的性能,但是成本大幅度提升,通常用于数据库服务器
1Byte=8bit
1KB=1024Byte
1MB=102KB
1GB=1024MB
1TB=1024GB
1PB=1024TB
1EB=1024TB
集成DELL的远程控制卡
buffer 缓冲区,先把数据攒一波,然后在刷入磁盘
cache 缓存区,把经常访问的数据放到cache中,提高访问的速度
空间上的复用:将多个任务在运行前加载到内存中
时间上的复用:多个任务复用cpu的时间段,就是cpu在多个程序之间来回切换。当cpu遇到任务io的时候会切换(提高效率),当任务长时间占用cpu不做io的时候也会切换(降低效率)
进程:一个程序在运行过程当中产生的资源
线程:线程就是代码运行过程,cpu执行的就是线程
并发:多个任务看起来是同时运行
并行:过个任务同时运行,cpu必须是多核
串行:多个任务一个运行完运行下一个
同步:同步就是发送者与接收者同步交流,一方退出,另一方也随之中断通信,类打电话
异步:发送者发送信息后,就不再管,发送者并不管接收者在不在线,类发短信
两种:并行,需多核
并发,看起来是同时
应用层:规定应用程序的数据格式(数据)
表示层:数据处理和加密
会话层:建立连接
传输层:建立端口到端口的通信(数据段)
网络层:把数字改为网络地址(数据包)
数据链接层:把点信号成组,组意(数据帧)
物理层:电信号,高电压1,低电压0表示(电信号)
通过ARP协议拿到目标地址:
在同一lan下:
(主机1IP,主机1Mac,主机2IP,12F)=》所有主机收到包,主机2响应,返回自己Mac。发真正数据(主机1IP,主机1Mac,主机2IP,主机2Mac,数据)
在不同lan下:
(主机1IP,主机1Mac,网关IP,12F)=》网关返回自己Mac。发真正数据(主机1IP,主机1Mac,主机2IP,网关Mac,数据)
tcp协议=》可靠协议
udp协议=》不可靠协议
tcp必须双方都在线,需要建立链接三次握手四次挥手,每次数据都包含确认号,序列号保整数据完整性
udp不管对方在不在线,直接发送过去,可能出现数据丢失的问题
syn洪水攻击:模拟大量虚假的ip向服务端发送syn请求建立连接,服务端会一直处于syn_rcvd状态,大量占用服务端资源,导致正常客户端无法连接
半连接池类似排队的凳子
socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用已实现进程在网络中通信
DNS: 域名解析服务,负责把域名解析成ip地址
递归查询,迭代查询
浏览器DNs缓存->本地系统DNs缓存->本地计算机HosTs文件->ISP DNS缓存->递归or迭代搜索
动态获取,IP地址、子网掩码
1.通过dhcp动态获取或者静态配置本机的网络
本机的IP地址
子网掩码
网关的IP地址
DNS的IP地址
2.打开浏览器,输入域名
3,DNS协议解析域名
4,HTTP服务
5.TCP协议,本机端口随机,接收方端口默认80
6.IP协议
本机IP 目标IP
7.以太网协议
本机Mac地址 网关Mac地址
8 服务器端响应
经过多个网关的转发,将数据包发送给服务器,服务器也用TCP协议把请求结果返回,本机收到后就可以将网页显示出来
为了区分是不是在同一个局域网内
借主机位给网络位使用,以此来达到把一个大网段划分为n个儿子网段的目的
就是虚拟局域网
带有部分路由功能的交换机,工作在osi的网络层
工作在传输层
工作在应用层
方案一:
/boot:存放引导程序,建议大小是300-500MB
swap: 虚拟内存,1.5-2倍内存大小,如果物理内存>8G,swap封顶8G
/:根分区,存放所有数据,剩余空间都给根
方案二:
/boot:存放引导程序,建议大小是300-500MB
swap: 虚拟内存,1.5-2倍内存大小,如果物理内存>8G,swap封顶8G
/:根分区,50-200G,只存放系统相关文件
/data:剩余硬盘空间大小,放数据库及存储重要数据的
通电=》进入bios,扫描启动设备=》读取启动设备第一个扇区=》grub程序把操作系统载入内存=》启动操作系统=》操作系统让bios去检测驱动程序
编程语言
Shell解释器
可移植的操作系统接口,操作系统为应用程序提供的接口标准
两种:
Hostnamectl set-hostname 主机名
/etc/hostname
- 普通文件
d 目录文件
b 设备文件
l 链接文件
/etc/sysconfig/network-scripts/ifcfg-eth0
/etc/resolv.d
/etc/hosts
/etc/fstab
/dev/null
dd if=/dev/zero of=a.txt bs=10M count=1
绝对路径:路径是从根开始的,即/作为前缀
相对路径:路径不是从根开始的
修改,访问,改变
创建文件:touch 文件名
删除文件与文件夹:
rm -f 文件,rm -rf 目录
移动文件:
mv -p 文件路径 文件路径
复制文件与目录:
cp 文件路径 文件路径
浏览文件信息:
ll 文件路径
查看文件内容:
cat 文件路径
如何快速跳到行尾及行首?
行尾:$ 行首:0
如何快速跳到整篇文档的开头与末尾?
开头:gg 末尾:G
如何批量替换?:
%s/old/new/g
egon1111
22222egon
3333egon33333
4444xXx44444
5555xxx55555xxxx555xxx
6666egon6666egon666egon
用sed命令将文件内容中的所有egon替换成EGON(1分)
sed -i ‘s/name/NAME/g‘
用sed命令删除文件内容的1、3、5行(1分)
sed -i ‘1d;3d;5d
cat /etc/passwd | awk -F:’ /^root/{print $3,$7}’
ps aux | grep [s]sh
grep -rl “root” /etc
find /etc -type f -size +3M -delete
find /etc -type f -size +3M | xargs rm -f
echo 111 > a.txt 覆盖
echo 111 >> a.txt 追加
sort a.txt | unip -cd
00 3 * * * /usr/bin/tar zcf /bak/`date "+ %F_%H-%M-%S"`_data.tar.gz /data &>/dev/null
文件系统是操作系统内核中负责组织管理磁盘的程序
元数据存在inode的块中
真实数据存在block块中
软连接:ln -s 硬链接 ln
相同点:可以连接文件
不同点:目录不可以创建硬链接,软连接可以跨分区,硬链接不可以,软连接删除源文件,连接文件不可用,硬链接删除源文件,连接文件可用,软连接inode不同,硬链接相同
普通文件,属主读写权限,属组读权限,其他读权限,在selinux开启的状态下创建的文件,没有硬连接数,属主,改变属组,文件大小,日期,文件名
文件
r:读文件内容
w:修改文件内容
x:执行文件
目录:
r:浏览
w:创建、删除、移动子文件与子目录
x:进入该目录
rpm包: 预先编译打包,安装简单 通常软件的稳定版会被官方做成rpm,所以软件版本偏低
源码包: 手动编译打包,安装繁琐 软件版本丰富,可选择性强
二进制包: 解压即可使用,安装简单 不能修改源代码
R 运行状态
S 可中断睡眠状态
D 不可中断睡眠状态
T 暂停状态
Z 僵尸状态
< 优先级较高的进程
N 优先级较低的进程
+ 表示是前台的进程组
如果1分钟5分钟15分钟负载数值相差不大,系统较“稳定”
如果1分钟的数值远小于15分钟的数值,说明系统之前经历过大风大浪,但已逐渐趋于平均,至于15分钟区间数值上升的原因,还需要查明
如果1分钟的数值远大于15分钟的数值,证明系统负载逐渐升高,有可能是临时的也有可能逐渐上升,需要观察
一旦1分钟的负载接近或超过cpu个数,就意味系统正在发生过载的问题,需要赶快分析问题并优化
Top M
renice -20 3333
僵尸进程:操作系统负责管理进程
孤儿进程:父进程死掉子进程还在
方法一:父进程死后子进程会被1 pid接管,发送wait/waitpid来通知操作系统清理僵尸
方法二:发信号给父进程,通知他发起系统调用wait/waitpid来清理僵尸儿子,kill -CHLD 父进程PID
MBR:4个主分区
GPT:128个主分区
先尝试修复: xfs_repair /dev/sdb1
如果不行再强制修复,但是数据会丢失,所以需要提前做好备份:
xfs_repair -L /dev/sdb1
如果是ext文件系统,可以使用fsck命令:
fsck -f -y /dev/sda1
全量备份:只备份原始数据
增量备份:只备份新增的数据
CRC循环冗余校验码
网卡收包后,先进行crc校验,验证数据正确性和完整性,把数据帧放入网卡fifo缓冲区,发出中断请求程序,系统把数据帧从网卡缓冲区拷贝到内存,交给内核处理
Ethtool -g eth0
Ethtool -G eth0 rx 2048
vim /etc/sysconfig/network-scripts/ifcfg-eth0
1 TYPE=Ethernet
2 BOOTPROTO=static
3 NAME=eth0
4 DEVICE=eth0
5 ONBOOT=yes
6 IPADDR=10.211.55.5
systemctl restart network
交换:指同网络访问,两台机器连在同一个交换机上,配置同网段的不同IP就可以直接通讯
路由:指跨网络访问的路径选择
vim /etc/syconfig/network-scripts/route-eth0
route add/del -host 1.1.1.5/24 via 2.2.2.4
route add/del -net 1.1.1.0/24 via 2.2.2.4
route add/del default via 2.2.2.4
systemctl restart network
先匹配掩码位长度,掩码越长的优先级高
若掩码位相同,则比较节点间的管理距离,管理距离短的生效
bash 脚本
.脚本
执行和读权限
临时:PATH=$PATH:/root
永久:vim /etc/profile
PATH=$PATH:/root
export PATH
vim把源文件删除,新建了一个文件,需要重新加载inode号
Useradd love && echo 1 |passwd love --stdin
grub2-setpassword 加密
vim /boot/grub2/grub.cfg
vim /etc/passwd
vim /etc/group
vim /etc/gshadow
vim /etc/shadow
mkdir -m 700 /home/feitiandundizhu && cp -a /etc/skel/.[mb]* /home/feitiandundizhu/
cd /home
chown -R love.love
touch /var/spool/mail/love && chmod 660
/var/spool/mail/love && chown love.mail
/var/spool/mail/love
源头主机:yum install -y vsftpd
systemctl start vsftpd
systemctl enable vsftpd
systemctl status vsftpd
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld
setenforce (临时关闭)
vim /etc/selinux/config ###SELINUX=disabled(永久关闭)
mount /dev/cdrom /mnt
cp -a /mnt/[Pr]* /var/ftp/pub/
客户端:
vim /etc/yum.conf
keepcache=1
mv /etc/yum.repos.d/[!b]* /etc/yum.repos.d/bak/
vim /etc/yum.repos.d/local.repo
[local.yum]
name="xxx"
baseurl=ftp://10.0.0.253/pub
enabled=1
gpgcheck=0
yum install -y vsftpd
visudo
visudo-c
While true;do echo $(( 1+1 ));done
mkdir -p /data/data1
gdisk /dev/sdb
mkfs.xfs /dev/sdb1
mount /dev/sdb1 /data/data1
vim /etc/fstab
mount -a
准备一个硬盘 然后硬盘分区
pvcreate /dev/sdb
pvcreate /dev/sdc
vgcreate vg1 /dev/sdb /dev/sdc
lvcreate -l 1G -n lv1_you_vg1 vg1
mkfs.xfs /dev/vg1/lv_you_vg1
mount /dev/vg1/lv_you_vg1 /opt
wget htts://nginx.org/download/nginx-1.18.0.tar.gz &>/dev/null
yum -y install gcc gcc-c++ autoconf automake make &>/dev/null
yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel &>/dev/null
tar xf nginx-1.18.0.tar.gz -C /opt
cd /opt/nginx-1.18.0/ && ./configure --prefix=/usr/local/nginx1.18.0 &>/dev/null
make && make install &>/dev/null
ln -s /usr/local/nginx/sbin/nginx /nginx-1.18.0
chmod 744 nginx.sh
Vim love.sh
#!/bin/bash
for i in {1..254}
do
(ping -c 1 10.0.0.$i &>/dev/null
if [ $? = 0 ];then
echo "10.0.0.$i up" >> up.txt
else
echo "10.0.0.$i down" >> down.txt
fi) &
done
chmod u+x checkip.sh
vim bak.sh
#!/bin/bash
cd / && tar zcf /bak/`date "+%F_%H-%M-%S"`_data_tar.gz /data &> /dev/null
chmod u+x bak.sh
[root@allenzhu ~]# crontab -e
# backup data by:allenzhu
* * * * * /root/bak.sh &> /dev/null
vm1
route add default gw 1.1.1.2
vm2
echo 1 > /proc/sys/net/ipv4/ip_forward
route add -net 3.3.3.0/24 gw 2.2.2.3
route add -net 4.4.4.0/24 gw 2.2.2.3
vm3
echo 1 > /proc/sys/net/ipv4/ip_forward
route add -net 1.1.1.0/24 gw 2.2.2.2
route add -net 4.4.4.0/24 dev eth1
vm4
route add -net 1.1.1.0/24 gw 3.3.3.3
route add -net 2.2.2.0/24 gw 3.3.3.3
mkdir -m 700 .ssh
touch .ssh/authorized_keys
chmod 600 .ssh/authorized_keys
vim .ssh/authorized_keys
把xshell 生成的公钥复制下来粘贴上去
> ./.bash_history
history -c
原文:https://www.cnblogs.com/dachangtui/p/13977574.html