一、Raid工作原理
(1)独立硬盘冗余阵列,旧称廉价磁盘冗余阵列,简称磁盘阵列。利用虚拟化存储技术把多个硬盘组合起来,成为一个或多个硬盘阵列组,目的为提升性能或数据冗余,或是两者同时提升。
RAID-0 | RAID-1 | RAID-5 | RAID-10 | RAID-01 | |
---|---|---|---|---|---|
利用率 | 100% | 50% | 75% | 50% | 50% |
冗余性 | 无容错 | 有冗余性 | 最多1块硬盘损坏 | 最多2块硬盘损坏 | 最多2块硬盘损坏 |
性能 | 速度最快 | 读快、写略有下降 | 读、写性能提升 | 读、写性能提升 | 读、写性能提升 |
至少几个硬盘 | 1+ | 2+ | 3+ | 4+ | 4 |
二、LVM磁盘
1.创建
(1)将无挂载状态的分区变成物理卷
(2)创建逻辑卷组
(3)创建逻辑卷分区
(4)创建文件系统并挂载
2.扩容
(1)直接在物理卷中扩容:(直接扩容分区)
(2)创建一个新的物理卷扩容:(先扩容卷组在扩容分区)
3.缩容 (一般不用,有风险先备份,只能离线,只支持ext4文件系统)
第一步 取消挂载
第二步 文件系统检查 fsck -f /dev/testvg/mysql_lv
第三步 缩减文件系统 resize2fs /dev/testvg/mysql_lv 1G
第四步 缩减逻辑卷 lvreduce -L 1G /dev/testvg/mysql_lv
第五步 重新挂载
三、RedHead系列YUM私有仓搭建
1. 使用一个linux系统做服务器
2.安装apache服务:yum -y install httpd
3.创建目录 mkdir -p /var/www/html/rockylinux/8/{BaseOS,AppStream,extras,epel}
4. 将光盘中的仓库拷贝到目录中
cp -r /misc/cd/AppStream/ /var/www/html/Rockylinux/8/
启动另一个Linux系统做客户端访问:
配置源仓库指定服务器:
5. 将互联网中的仓库拷贝到目录中:
首先配置服务器的yum源,将网络上的仓库配置到服务器
在使用命令拉取:yum reposync --repoid=extras --download-metadata -p /var/www/html/Rockylinux/8/extras
在配置客户端仓库指定服务器:
四、Rocky和CentOS系统初始化
1.Rocky初始化
!#/bin/bash
color () {
RES_COL=60
MOVE_TO_COL="echo -en \\033[${RES_COL}G"
SETCOLOR_SUCCESS="echo -en \\033[1;32m"
SETCOLOR_FAILURE="echo -en \\033[1;31m"
SETCOLOR_WARNING="echo -en \\033[1;33m"
SETCOLOR_NORMAL="echo -en \E[0m"
echo -n "$1" && $MOVE_TO_COL
echo -n "["
if [ $2 = "success" -o $2 = 0 ] ;then
${SETCOLOR_SUCCESS}
echo -n $" ok "
elif [ $2 = "failure" -o $2 = "1" ] ;then
${SETCOLOR_FAILURE}
echo -n $"FAILED"
else
${SETCOLOR_WARNING}
fi
${SETCOLOR_NORMAL}
echo -n "]"
echo
}
disable_selinux () {
#关闭SELinux
sed -i '/^SELINUX=/c SELINUX=disabled' /etc/selinux/config
color "SElinux已关闭" 0
}
#关闭防火墙
disable_firewall () {
systemctl disable --now firewalld
color "防火墙已关闭" 0
}
set_hostname() {
echo "开始配置主机名"
echo "rocky8.baige.org" > /etc/hostname
hostnamectl set-hostname "rocky8.baige.org"
color "主机名配置已完成" 0
}
# 配置vimrc环境
set_vimrc() {
echo "开始配置vimrc环境"
cat>~/.vimrc<<EOF
set nu
set cul
set tabstop=2
set expandtab
set shiftwidth=2
set ai
set softtabstop=2
map <F2> :set paste <CR> o
map <F3> :set expandtab <CR> :%retab! <CR> :wq! <CR>
map <F4> :set binary <CR> :set noendofline <CR> :wq! <CR>
autocmd BufNewFile *.sh exec ":call SetTitle()"
function SetTitle()
if expand("%:e") == 'sh'
call setline(1,"#!/bin/bash")
call setline(2,"#")
call setline(3,"#********************************************************************")
call setline(4,"#Author: baijiabao")
call setline(5,"#QQ: 1953936927")
call setline(6,"#Date: ".strftime("%Y-%m-%d"))
call setline(7,"#FileName: ".expand("%"))
call setline(8,"#URL: https://www.baige123.com")
call setline(9,"#Description: For personal learning")
call setline(10,"#Copyright (C): ".strftime("%Y")." All rights reserved")
call setline(11,"#********************************************************************")
call setline(12,"")
endif
endfunc
autocmd BufNewFile * normal G
EOF
color "配置vimrc环境已完成" 0
}
#rocky配置软件仓库
yum_rocky_config () {
mkdir /etc/yum.repos.d/backup
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup
cat > /etc/yum.repos.d/base.repo <<EOF
[BaseOS]
name=BaseOS
baseurl=https://mirror.nju.edu.cn/rocky/\$releasever/BaseOS/\$basearch/os/
gpgcheck=0
[AppStream]
name=AppStream
baseurl=https://mirror.nju.edu.cn/rocky/\$releasever/AppStream/\$basearch/os/
gpgcheck=0
[epel]
name=epel repo
baseurl=http://mirrors.aliyun.com/epel/\$releasever/Everything/\$basearch/
https://mirrors.tuna.tsinghua.edu.cn/epel/\$releasever/Everything/\$basearch/
https://mirrors.cloud.tencent.com/epel/\$releasever/Everything/\$basearch/
gpgcheck=0
[extras]
name=extras
baseurl=https://mirrors.nju.edu.cn/rocky/\$releasever/extras/\$basearch/os/
gpgcheck=0
EOF
color "软件仓库配置完成" 0
}
#centos配置软件仓库
yum_centos_config () {
mkdir /etc/yum.repos.d/backup
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup
cat > /etc/yum.repos.d/base.repo <<EOF
[BaseOS]
name=BaseOS
baseurl=https://mirrors.cloud.tencent.com/centos/\$releasever/BaseOS/\$basearch/os/
gpgcheck=0
[AppStream]
name=AppStream
baseurl=https://mirrors.cloud.tencent.com/centos/\$releasever/AppStream/\$basearch/os/
gpgcheck=0
[epel]
name=epel repo
baseurl=http://mirrors.aliyun.com/epel/\$releasever/Everything/\$basearch/
https://mirrors.tuna.tsinghua.edu.cn/epel/\$releasever/Everything/\$basearch/
https://mirrors.cloud.tencent.com/epel/\$releasever/Everything/\$basearch/
gpgcheck=0
[extras]
name=extras
baseurl=https://mirrors.cloud.tencent.com/centos/\$releasever/extras/\$basearch/os/
gpgcheck=0
EOF
color "软件仓库配置完成" 0
}
#修改网卡名称,配置IP地址
network_config () {
sed -ri '/GRUB_CMDLINE_LINUX=/s#(.*)"$#\1 net.ifnames=0"#' /etc/default/grub
grub2-mkconfig -o /boot/grub2/grub.cfg
rm -f /etc/sysconfig/network-scripts/ifcfg-*
cat > /etc/sysconfig/network-scripts/ifcfg-eth0 <<EOF
TYPE=Ethernet
BOOTPROTO=static
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=10.0.0.161
NETMASK=255.255.255.0
GATEWAY=10.0.0.2
DNS1=223.5.5.5
DNS2=114.114.114.114
EOF
nmcli connection reload
nmcli connection up eth0
color "网卡配置完成" 0
}
#最小化安装系统后,建议安装常用软件
install_packages () {
yum -y install autofs vim-enhanced tcpdump chrony lrzsz tree telnet ftp lftp redhat-lsb-core bash-completion net-tools postfix wget bzip2 zip unzip xz lsof mlocate man-pages rsync gcc gcc-c++ automake pcre pcr
e-devel openssl openssl-devel iproute iotop
color "常用软件安装完成" 0
}
#支持光盘,/misc/cd对应就是光盘内容
set_cdrom () {
systemctl enable --now autofs
color "自动连接光盘已完成,访问路径:/misc/cd" 0
}init_install() {
function_arr=("disable_selinux" "disable_firewall" "set_hostname" "set_vimrc" "yum_centos_config" "install_packages" "set_cdrom" )
for func in ${function_arr[@]} ;do
$func
sleep 2
done
color "初始化完成,10s后重启系统!" 0
sleep 10
reboot
}
init_install
五、一键编译安装httpd服务Shell脚本
#!/bin/bssh
CPUS=`grep -c processor /proc/cpuinfo`
HTTPD_VERSION=2.4.59
HTTPD_FILE=httpd-${HTTPD_VERSION}.tar.gz
INSTALL_DIR=/apps/httpd
COLOR="echo -e \E[32;1m"
END="\E[0m". /etc/os-release
if [[ $ID =~ rhel|rocky|centos ]];then
systemctl disable --now firewalld
yum -y install gcc make apr-devel apr-util-devel openssl-devel pcre-devel redhat-rpm-config bzi
p2 wget
elif [ $ID = 'ubuntu' ];then
apt update
apt -y install gcc make libaprl-dev libaprutil1-dev libpcre3-dev libssl-dev
else
$COLOR"不支持此系统,退出!"$END
exit
fiif [ ! -f ${HTTPD_FILE} ];then
wget https://dlcdn.apache.org/httpd/${HTTPD_FILE} || { $COLOR "下载失败,退出" $END;exit;}
fitar xf ${HTTPD_FILE} -C /usr/local/src
cd /usr/local/src/httpd-${HTTPD_VERSION}
./configure --prefix=${INSTALL_DIR} --enable-ssl --disable-status
make -j $CPUS && make install
ln -s /apps/httpd/bin/apachectl /usr/local/bin/
apachectl start && $COLOR"安装成功!"$END
$COLOR"请访问:http://`hostname -I`"$END
六、OSI模型及协议
ISO七层:物理层 数据链路层 网络层 传输层 会话层 表示层 应用层
四层: 链路接口层 网络层 传输层 应用层
局域网(WAN) 城域网(MAN) 广域网(LAN)
hub 集线器 物理层
swich 交换机 数据链路层
router 路由器 网络层
端口号:1-1023 root 用户 1024-65535 普通用户
传输层协议:TCP/UDP
网络层协议:IP/ICMP
链路层协议:ARP、RARP
TCP/UDP协议
TCP为什么要进行三次握手? 要双向确认
四次挥手:
FIN-WAIT2 半关闭状态 等待服务器发送数据。
2MSL 需要等待服务端数据传送完成。
ARP、RARP协议
ARP地址解析协议,是根据IP地址获取物理地址的一个TCP/IP协议。IP--->MAC,具有缓存机制(短期)。
arp -a 查看arp缓存 / arp -n
arp欺骗 冒充MAC地址
Gratuitous ARP 免费ARP 探测地址冲突
RARP协议是将MAC地址转换为IP地址
IP/ICMP协议
IP协议:
IP地址的作用:可以认为指定,客观理性。逻辑地址
IP地址由两部分组成:网络ID和主机ID
修改路由器数量 /proc/sys/net/ipv4/ip_default_ttl
ICMP协议:主要用来检测网络通信故障和实现链路追踪
ping命令就是走的ICMP协议
IP地址划分:
A类:1-127 前8位是网络地址,后24位是主机地址
B类:128-191 前16位是网络地址,后16位是主机地址
C类 : 192-223 前24位是网络地址,后8位是主机地址
D类: 224-239 多播地址
在同一个网段,网络地址一样,主机地址不同。
在一个网段中,主机的最多数量位:2^主机id-2 (除去*.0.0.0和*.0.0.0)
划分子网数=2^(网络ID向主机ID借的位数)
CIDR表示法 无类域间路由IP/ 网络ID位数
无类:网络ID位数可以根据需要分配
netmask:和ip成对出现,255对应网络ID,0对应主机ID
跨网络通信:路由,选择路径
路由分类:主机路由 网络路由 默认路由
优先级:精度越高,优先级越高
DHCP动态主机配置协议:自动分配IP地址
七、网卡配置
RedHat系列网卡配置
修改网卡名称: 修改文件配置 /etc/default/grub
GRUB_CMDLINE_LINUX=" net.ifnames=0 " 在这一行后加入net.ifnames=0
再配合命令 grub2-mkconfig -o /etc/grub2.cfg
配置网卡:网卡文件位置 /etc/sysconfig/network-scripts/ifcfg-ens33
编辑文件:
nmcli connection 网卡生效
nmcli connection reload;nmcli connection up eth1 配置ip生效 通用
systemctl restart network CentOS7系列独有 配置生效
ip a ip和netmask确认生效
route -n / ip route 网关确认
cat /etc/resolv.conf 确认生效
Ubuntu网卡配置
修改网卡名称: 修改文件配置 /etc/default/grub
GRUB_CMDLINE_LINUX=" net.ifnames=0 " 在这一行后加入net.ifnames=0
再配合命令: grub-mkconfig -o /boot/grub/grub.cfg
配置网卡:网卡文件位置 /etc/netplan
编辑文件:
netplan apply网卡配置生效
ip a ip确认
route -n /ip route 网关确认
resolvectl status 确认DNS
八. ping实验
使用脚本判断主机所在网络内在线的主机ip有哪些?
#!/bin/bash
NETWORK=$1
for HOST in $(seq 150 254)
do
ping -c 1 -w 1 $NETWORK.$HOST &>/dev/null && result=0 || result=1
if [ "$result" == 0 ];then
echo -e "\033[32;1m$NETWORK.$HOST is up! \033[0m"
else
echo -e "\033[;31m$NETWORK.$HOST is down!\033[0m"
fi
done
文章来源:https://www.toymoban.com/news/detail-858972.html
文章来源地址https://www.toymoban.com/news/detail-858972.html
到了这里,关于Raid工作原理、LVM磁盘、YUM仓库、网络协议和管理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!