Raid工作原理、LVM磁盘、YUM仓库、网络协议和管理

一、Raid工作原理 

 (1)独立硬盘冗余阵列,旧称廉价磁盘冗余阵列,简称磁盘阵列。利用虚拟化存储技术把多个硬盘组合起来,成为一个或多个硬盘阵列组,目的为提升性能或数据冗余,或是两者同时提升。

   RAID-0   RAID-1    RAID-5RAID-10RAID-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
fi

if [ ! -f ${HTTPD_FILE} ];then
    wget https://dlcdn.apache.org/httpd/${HTTPD_FILE} || { $COLOR "下载失败,退出" $END;exit;}
fi

tar 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
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值