DHCP服务

DHCP服务

  • 作用:集中在网络中为客户端下发ip地址、网关、DNS、子网掩码等参数,避免客户端手动配置的错误,提高IP地址的利用率;
  • 工作原理

例如

系统 主机名 IP地址
centos7.4 dhcp.cloud.com 172.24.0.101
win7-1 win7-1 自动获取
  • 禁用基础服务

    [root@dhcp ~]# systemctl stop firewalld
    [root@dhcp ~]# systemctl disable firewalld
    [root@dhcp ~]# getenforce
    Disabled

  • 配置基本网络

[root@dhcp ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0                         #网卡名称
TYPE=Ethernet                       #以太网网络类型
BOOTPROTO=static                    #启动协议,none引导时不使用协议,static映泰分配地址,bootp使用bootp协议,dhcp使用区域为内自动分配IP的服务
ONBOOT=yes                          #开机自启动
HWADDR=00:0c:29:ea:28:8e            #MAC地址
NAME=eth0                           #网络连接名
IPADDR=192.168.100.101              #IP地址
PREFIX=24                           #子网掩码24位
GATEWAY=192.168.100.100             #网关
DNS1=8.8.8.8                        #第一个DNS服务器
  [root@dhcp ~]# systemctl restart network
  • 安装DHCP软件包

[root@dhcp ~]# yum -y install dhcp

[root@dhcp ~]# rpm -qa |grep dhcp
dhcp-common-4.2.5-58.el7.centos.x86_64
dhcp-libs-4.2.5-58.el7.centos.x86_64
dhcp-4.2.5-58.el7.centos.x86_64

  • 修改DHCP配置文件
    [root@dhcp ~]# vi /etc/dhcp/dhcpd.conf

    option domain-name "dhcp.cloud.com";    #定义客户端的默认域,可以全局定义也可以局部定义
    option domain-name-servers 202.106.0.20;    #定义客户端的默认DNS服务器地址,可以全局定义也可以局部定义
    default-lease-time 600;     #定义默认最小租约期限(单位秒),可以全局定义可以局部定义
    max-lease-time 7200;        ##定义最长租约期限(单位秒),可以全局定义也可以可以局部定义
    log-facility local7;        #定义自身的日志属性
    subnet 192.168.100.0 netmask 255.255.255.0 {    #定义作用域,指定子网掩码
       range 192.168.100.200 192.168.100.250;#定义动态获取IP地址范围,可以声明多个range但范围不能重合。
       option routers 192.168.100.1;#定义客户端的默认网关,该项可以全局定义,也可以局部定义。
          host dhcp.cloud.com { 
                hardware ethernet 00:0c:29:ea:28:8e;
                fixed-address 192.168.100.101;
                }
    }
  • 启动服务
    [root@dhcp ~]# systemctl start dhcpd.service
    [root@dhcp ~]# netstat -utpln|grep 67
    udp 0 0 0.0.0.0:67 0.0.0.0:* 2383/dhcpd

  • win7-1验证






李泽信 发布于 2022-7-21 21:22

基础网络管理

一、查看基本网络参数

  • 查看网卡的IP地址、掩码地址、MAC地址及启用禁用网卡:
 ifconfig           #查看主机中已经启动的网卡信息
 ip a               #查看主机中所有的网卡信息
 ifup   网卡名     #开启此网卡
 ifdown 网卡名      #禁用此网卡
  • 查看主机的dns地址,作用:将域名和ip地址进行互相解析
cat /etc/resolv.conf
cat /etc/hosts
  • 测试网络
  ping -c 4 ip地址                ##允许主机ping此地址4个包
  traceroute ip地址           ##查看此数据包经过了哪些网络节点
  nslookup 域名或ip地址      ##解析域名或地址
  netstat -utpln                ##查看主机端口使用状态
  netstat -utplna               ##查看主机所有的连接信息
  lsof                      ##查看主机打开的所有文件信息
  lsof -i tcp                   ##查看主机的所有的tcp连接信息
  lsof -i tcp:22                    ##查看主机的所有的ssh服务相关连接信息
  lsof -u root                  ##查看该用户的所有进程
  lsof -p 进程号               ##查看该进程所打开的文件信息

李泽信 发布于 2022-7-21 21:14

计划任务

  • 概念:实现进程调度管理,在特定的时间(时间点)完成特定的任务(命令);

  • 作用:周期性备份、定期更新系统、完成某一个特定的任务;

  • 一次计划任务:

    • 流程
      启动atd服务-->at(时间:例:at 00:17 2017-11-1)-->任务(命令)-->ctrl+d(提交)-->atq(查看)-->atrm 任务编号(删除)
  • 周期性计划任务:

    • 了解crond:周期性执行命令,由crontabs软件提供系统计划任务内容;crond提供程序或用户自定义计划任务。
    • 计划任务的格式:分 时 日 月 周 要执行的命令 ##用户可以不指定,默认为root用户
    • .时间的表示:所有时间为正常标准,特殊的表示以下:
      • *:表示任意时间,可用在除分钟外的其他时间
      • -:表示连续的时间
      • /:表示时间的频率,如*/3表示每隔3
      • ,:表示不连续的时间,如1,3,5
    • 设置周期性计划任务的方式:
      crontab -e -u 用户 -->时间 命令-->:wq --> crontab -l -->crontab -r (删除用户的所有计划任务)
      echo‘时间 命令’>>/var/spool/cron/用户名 --> crontab -l (查看)

李泽信 发布于 2022-7-18 21:44

进程管理

一、进程

程序是保存在硬盘中的可执行代码或数据的静态集合;
进程是cpu及内存中处于动态执行状态的计算机程序;
进程由程序运行后产生,需要消耗cpu和内存,分为父子进程,子进程向父进程申请或提交;
线程:包含在进程中的一个实体,与所在的进程共用计算机资源;
单线程:串行化处理;
多线程:并行化处理;

二、进程的管理:增(启动)、删(杀死或关闭)、查(显示进程)

  • 查:查找进程 ps/top/pgrep/pstree

    • 语法:ps aux ##静态查看进程

      RSS:物理内存,不包括swap,单位kb
      VSZ:虚拟内存
      STAT:进程状态:R运行、S休眠、Z僵尸、s父进程、<高优先级、N低优先级、+前台进程

    • 语法:top ##动态显示进程的列表,相当于windows下的任务管理器

      k--输入PID--9代表强制杀死--15代表正常杀死(windows关机时 有未关闭的程序时的提醒)
      大写P按cpu使用情况进行将进程排序、shift < 或 shift > 进行翻页、q退出




    • 清除内存的缓存命令:echo 3 >/proc/sys/vm/drop_caches
    • pgrep命令 :按条件查看进程;
      语法:pgrep -l 关键字 ##查看包含关键字的进程
      pgrep -l -u 用户名 ##查看该用户的进程
    • pstree命令:树形显示进程列表,显示包含其子进程;
      语法:
      pstree -aup ##查看当前系统的进程树
      pstree -ap 用户名 ##查看某用户的进程树
  • 增:启动进程

    • 启动方式:
      手动启动:手动执行命令进行开启进程;
      调度启动:根据任务计划定时自动启动进程;
    • 进程类型:
      前台进程:在界面运行,必须等待结束后才能继续执行命令;
      后台进程:不在操作界面运行。
    • 前后台进程的管理:
      • 启动前台进程:
      • 启动后台进程:
        运行命令加上 &,将现在运行的进程放到后台运行;例:cat /dev/zero >/dev/null &
      • 挂起前台进程到后台:
        ctrl z ##将正在运行的前台进程调到后台并暂停;
      • 查看后台进程:
        jobs -l
      • 恢复后台进程到前台:
        fg 后台进程编号(并非pid) ##将后台暂停的进程调到前台继续运行
  • 删:停止进程 kill/killall/pkill

    • ctrl c ##终止前台正在运行的进程
    • kill -9 PID ##强制终止单个进程
    • killall -9 进程名 ##强制终止此进程名称的所有有关进程
    • pkill -9 -u 用户名 ##针对此用户的所有进程强制终止

李泽信 发布于 2022-7-18 21:27

恢复误删除文件

  • 恢复的工具:extundelete(无法恢复空文件)
  • 恢复的原理:
    在数据被误删除后,第一时间要做的就是卸载被删除数据所在的分区;
    如果是根分区的数据遭到误删,就需要将系统进入单用户模式,并且将根分区以只读模式挂载。这样做的原因很简单,因为将文件删除后,仅仅是将文件的inode节点中的扇区link指针-1,实际文件还储存在磁盘上,如果磁盘继续以读写模式挂载,这些已删除的文件的数据块就可能被操作系统在创建新文件时重新分配出去,在这些数据库被新的数据覆盖后,这些数据就真的丢失了,恢复工具也无力回天。所以!以只读模式挂载磁盘可以尽量降低数据库中数据被覆盖的风险,以提高恢复数据成功的比例。
  • 案例:
    [root@localhost ~]# fdisk /dev/sdb              ##分区为sdb1
    [root@localhost ~]# partx -a /dev/sdb
    [root@localhost ~]# mkfs -t ext4 /dev/sdb1
    [root@localhost ~]# mkdir /benet
    [root@localhost ~]# mount /dev/sdb1 /benet
    [root@localhost ~]# df -hT
    [root@localhost ~]# touch /benet/1.file
    [root@localhost ~]# cp /etc/fstab /benet
    [root@localhost ~]# cp /etc/inittab /benet
    [root@localhost ~]# echo "haha" >>/benet/haha.txt
    [root@localhost ~]# ls /benet
    1.file   fstab   inittab   haha.txt
    [root@localhost ~]# rm -rf /benet/*
    [root@localhost ~]# ls /benet
    [root@localhost ~]# umount /benet

    [root@localhost ~]# yum -y install *2fs*    
    [root@localhost ~]# tar jxvf extundelete-0.2.4.tar.bz2
    [root@localhost ~]# cd extundelete-0.2.4
    [root@localhost extundelete-0.2.4]#./configure
    [root@localhost extundelete-0.2.4]# make
    [root@localhost extundelete-0.2.4]# make install
    [root@localhost extundelete-0.2.4]# cd
    [root@localhost ~]# extundelete /dev/sdb1 --inode 2             ##查看可以恢复的文件
    [root@localhost ~]# extundelete /dev/sdb1 --restore-all         ##恢复所有文件
    [root@localhost ~]# ls RECOVERED_FILES/                     ##验证恢复的文件
    1.file  fstab  haha  inittab

    extundelete命令其他语法:
    extundelete /dev/sdb1 --restore-file 文件名                ##恢复单个文件,只指定文件名,不指定文件的任何路径
    extundelete /dev/sdb1 --restore-directory 目录名           ##恢复目录

李泽信 发布于 2022-7-18 21:15

raid管理

一、raid磁盘阵列概述

概述:

raid(Redundant Array of Independent Disk 独立冗余磁盘阵列)技术是加州大学伯克利分校1987年提出,最初是为了组合小的廉价磁盘来代替大的昂贵磁盘,同时希望磁盘失效时不会使对数据的访问受损失而开发出一定水平的数据保护技术。
raid就是一种由多块廉价磁盘构成的冗余阵列,在操作系统下是作为一个独立的大型存储设备出现。raid可以充分发挥出多块硬盘的优势,可以提升硬盘速度,增大容量,提供容错功能够确保数据安全性,易于管理的优点,在任何一块硬盘出现问题的情况下都可以继续工作,不会受到损坏硬盘的影响。

二、raid工作模式

  • raid0(分条)

    可以把多块硬盘连成一个容量更大的硬盘群,可以提高磁盘的性能和吞吐量。
    RAID 0没有冗余或错误修复能力,成本低,要求至少两个磁盘,一般只是在那些对数据安全性要求不高的情况下才被使用。

容错性: 冗余类型:
热备盘: 读性能:
随机写性能: 连续写性能:
需要的磁盘数: 1+N(N不能为0) 可用容量: N*(多个磁盘的容量总和)

典型应用 : 对数据安全性要求不高,但对读写性能要求极高,如图形工作站等应用

  • raid1(镜像)

    把一个磁盘的数据镜像到另一个磁盘上,在不影响性能情况下最大限度的保证系统的可靠性和可修复性上,
    具有很高的数据冗余能力,但磁盘利用率为50%,故成本最高,多用在保存关键性的重要数据的场合。
    raid 1的操作方式是把用户写入硬盘的数据百分之百地自动复制到另外一个硬盘上。

容错性: 冗余类型: 镜像
热备盘: 读性能: 低(与单块磁盘一样)
随机写性能: 连续写性能:
需要的磁盘数: 2*N(N代表磁盘数量) 可用容量: 50%

典型应用 :对数据安全性可靠性要求高,但是读写效率低,用于服务器或数据库存储等;

  • raid5(奇偶校验)

    raid 5可以理解为是raid 0和raid 1的折中方案。
    raid 5可以为系统提供数据安全保障,但保障程度要比raid1低而磁盘空间利用率要比Mirror高。
    raid 5具有和raid 0相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度比对单个磁盘进行写入操作稍慢。
    同时由于多个数据对应一个奇偶校验信息,raid 5的磁盘空间利用率要比raid 1高,存储成本相对较低。

容错性: 冗余类型: 奇偶校验信息存储
热备盘: 读性能: 高(与raid0相近)
随机写性能: 较低 连续写性能: 较低
需要的磁盘数: 大于等于3 可用容量: n-1

典型应用 :随机数据传输要求安全性高,如金融、数据库、存储等。

  • raid1+0(分条+镜像)

    raid 10是一个raid 0与Raid1的组合体,所以它继承了raid0的快速和raid1的安全。
    raid 1在这里就是一个冗余的备份阵列,而raid 0则负责数据的读写阵列。
    情况是从主通路分出两路,做Striping操作,即把数据分割,而这分出来的每一路则再分两路,做Mirroring操作,即互做镜像。

容错性: 冗余类型: 镜像
热备盘: 读性能: 高(与raid0相近)
随机写性能: 较低 连续写性能: 较低
需要的磁盘数: N*2 可用容量: n/2

典型应用 :集成了RAID0和RAID1的优点;

总结:

三、制作raid

  • 硬raid制作

    • 戴尔R410服务器配置硬raid1: http://m.ouyaoxiazai.com/article/20/702.html
    • IBM X3650服务器配置硬raid: http://blog.itpub.net/27771627/viewspace-1246405/
    • 戴尔R740服务器配置硬raid

      • 开机按f2进入system setup界面选择Device Settings
      • 选择第1个进入raid卡配置
      • 选择第1个 Configuration Management,进入raid卡管理
        - 选择第1个 Configuration Management,进入raid卡管理
      • 选择第二个 Create Virtual Disk,创建raid
      • 创建双盘600G raid1

      • 点击OK
      • 鼠标下拉在Default Intialization 选择fast后,点击Create virtual Disk创建
      • 选中Confirm后,点击yes
      • 点击OK,完成raid1创建
      • raid 0步骤一致
      • 查看raid配置情况,可esc进入raid卡管理中选中第三个查看
      • 最后点击右上角exit,退出f2,配置完成
  • 软raid0制作:在本地虚拟机演示

    • 添加三块硬盘sdb和sdc并进行分区,分为sdb1、sdc1,各5G,将其文件系统类型ID改为fd;
    • 重读分区表;
    • 安装软件包parted和mdadm工具;
    • mdadm命令创建raid 0;

      mdadm -C /dev/md0 -l 0 -n 2 /dev/sdb1 /dev/sdc1
      选项:
      -C 指定Raid卷位置
      -l 执行Raid等级
      -n 指定分区数量

    • 查看raid卷初始化进度,完成后/dev/md0卷的详细信息;
      cat /proc/mdstat
      mdadm --detail /dev/md0
    • 格式化/dev/md0卷;
    • 重启服务器,使其重新加载raid关系;
    • 挂载使用;
      vi /etc/fstab
      /dev/md/localhost:0 /data1/ ext4 defaults 0 0
    • df -hT验证磁盘使用情况;
  • 软raid1制作:

    • 分区为sdb2、sdc2,各5G,将其文件系统类型ID改为fd;
    • 重读分区表;
    • mdadm命令创建raid 1;
      mdadm -C /dev/md1 -l 1 -n 2 /dev/sdb2 /dev/sdc2
    • 查看/dev/md1卷的详细信息;
      cat /proc/mdstat
      mdadm --detail /dev/md1
    • 格式化/dev/md1卷;
    • 重启服务器,使其重新加载raid关系;
    • 挂载使用;
      vi /etc/fstab
      /dev/md/localhost:1 /data2/ ext4 defaults 0 0
    • df -hT验证磁盘使用情况;
  • 软raid5制作:

    • 分区为sdb3、sdc3、sdd1,各5G,将其文件系统类型ID改为fd;
    • 重读分区表;
    • mdadm命令创建raid 5;
      mdadm -C /dev/md2 -l 5 -n 3 /dev/sdb3 /dev/sdc3 /dev/sdd1
    • 查看/dev/md2卷的详细信息;
      cat /proc/mdstat
      mdadm --detail /dev/md1
    • 格式化/dev/md2卷;
    • 重启服务器,使其重新加载raid关系;
    • 挂载使用;
      vi /etc/fstab
      /dev/md/localhost:2 /data3/ ext4 defaults 0 0
    • df -hT验证磁盘使用情况;
  • 为raid1添加热备盘
    注意
    新增加的硬盘的容量大小需要大于等于原有硬盘;
    如果原有阵列缺少工作磁盘(如raid1只有一块在工作,raid5只有2块在工作),这时新增加的磁盘直接变为工作磁盘,如果原有阵列工作正常,则新增加的磁盘为热备磁盘;
    步骤

    • 分区为sdd2,大小为5G,并将文件系统类型改为fd,并且重读分区表;
    • 将/dev/sdd2添加到RAID1,作为热备盘;
      mdadm /dev/md/localhost:1 --add /dev/sdd2
    • 查看raid1卷的详细信息;
      cat /proc/mdstat
      mdadm -D /dev/md/localhost:1
    • 将raid1卷中的活跃卷/dev/sdb2模拟故障;
      mdadm /dev/md/localhost:1 --fail /dev/sdb2
    • 查看raid1卷的详细信息;
      mdadm -D /dev/md/localhost:1
    • 将故障卷在RAID1中进行移除;
      mdadm /dev/md/localhost:1 -r /dev/sdb2
    • 查看raid1卷的详细信息;
      mdadm -D /dev/md/localhost:1
  • 为raid进行动态扩容:
    注解

    • raid0的存储方式为散列存储,无法进行扩容;
    • 如若为raid1进行扩容,需要进行添加比当前工作硬盘容量大的硬盘,然后逐一替换掉原有工作硬盘,命令如下:
      mdadm /dev/md/localhost:1 --add /dev/sdb3 ##添加热备盘
      mdadm --grow /dev/md/localhost:1 --raid-devices=3 ##将默认两块工作硬盘数量调整到三块,热备盘自动变为工作磁盘
      mdadm -D /dev/md/localhost:1 ##查看复制状态
      mdadm /dev/md/localhost:1 --fail /dev/sdb2 ##模拟磁盘分区故障
      mdadm /dev/md/localhost:1 -r /dev/sdb2 ##删除原有小的工作磁盘
      mdadm -G /dev/md/localhost:1 --size=20G ##重新加载扩容后的大小
      resize2fs /dev/md/localhost:1 ##重新读取大小
    • 如若为raid5进行扩容,则直接添加硬盘即可,命令如下;
      mdadm /dev/md/localhost:1 --add /dev/sdb3
      mdadm --grow /dev/md/localhost:1 --raid-devices=4
      mdadm -D /dev/md/localhost:1
      resize2fs /dev/md/localhost:1 ##重新加载磁盘大小
  • 制作raid1+0

    • 分区为sdb4、sdc4、sdd3、sdd4各4G,将其文件系统类型ID改为fd;
    • 重读分区表;
    • mdadm命令创建第一个raid 1;
      mdadm -C /dev/md3 -l 1 -n 2 /dev/sdb4 /dev/sdc4
    • 查看/dev/md3卷的详细信息;
      cat /proc/mdstat
      mdadm --detail /dev/md3
    • mdadm命令创建第二个raid1;
      mdadm -C /dev/md4 -l 1 -n 2 /dev/sdd3 /dev/sdd4
    • 查看/dev/md4卷的详细信息;
      cat /proc/mdstat
      mdadm --detail /dev/md4
    • 格式化两个raid 1卷;
      mkfs -t ext4 /dev/md3
      mkfs -t ext4 /dev/md4
    • 重启服务器,使其重新加载raid关系;
    • 将上述两个raid1卷制作成为一个raid0;
      mdadm -C /dev/md5 -l 0 -n 2 /dev/md/localhost:3 /dev/md/localhost:4
    • 查看/dev/md5卷的详细信息;
      cat /proc/mdstat
      mdadm --detail /dev/md5
    • 格式化新创建的raid0卷/dev/md5;
      mkfs -t ext4 /dev/md5
    • 重启服务器,使其重新加载raid关系;
    • 挂载使用;
      vi /etc/fstab
      /dev/md/localhost:5 /data4/ ext4 defaults 0 0
    • df -hT验证磁盘使用情况;

李泽信 发布于 2022-7-18 19:52

个人资料

搜索

日历

时间进度

    今日剩余 59.6%
    本周剩余 37.1%
    本月剩余 22.0%
    本年剩余 52.2%

访问统计