zoukankan      html  css  js  c++  java
  • 云计算基础 (redhat7介绍及相关配置)

    redhat7简介
    新版本的rhel7不再对32位架构的支持

    引导程序:
    GRUB2,比之前的GRUB更强大,GRUB2支持bios,efi和openfiremware
    GRUB2支持mbr分区表和gpt分区表,GRUB2甚至支持非linux文件系统,如ntfs等

    文件系统:
    默认使用的文件系统为xfs,xfs是一个高性能的大文件系统,xfs支持在线调整大小

    服务管理:
    systemd,它是linux系统和服务的管理程序,用来代替sysv和upstart
    兼容于sysv和基本init脚本,提供了并行处理的能力

    网络管理:
    networkmanager
    支持基本网络配置,虚拟vlan,bonds,ipv6等功能,可以通过命令行设置,图形设置,tui设置
    network是传统的网络管理服务

    防火墙:
    firewalld,支持zone及动态管理防火墙守护进程
    firewalld-config:图形化管理工具
    firewalld-cmd:命令行工具
    防火墙规则以xml格式存储在/usr/lib/firewalld

    ————————————————————————————————————————————————————

    systemd

    兼容性:
    systemd引入了新的配置方式,很多程序并没有来得及为systemd做相应的改变
    systemd提供了和sysvinit兼容性的特性
    系统中已经存在的服务和进程无需修改
    降低了系统向systemd迁移的版本
    使得systemd替换现有初始化系统成为可能

    启动速度:
    systemd的设计目标,尽可能启动更少的进程,将更多进程并行启动,可以实现按需启动

    单元的概念:
    启动后台服务,挂载文件系统等都被systemd抽象为一个配置单元,即unit
    可以认为一个服务是一个配置单元,一个挂载点是一个配置单元,一个交换分区是一个配置单元
    service:代表一个后台服务
    socket:代表一个套接字
    device:代表一个设备
    mount:代表一个挂载点
    automount:代表一个自动挂载点
    swap:交换配置单元用来管理交换分区
    target:此类配置单元为其它配置单元进行逻辑组合,本身不做什么
    timer:定时器配置单元用来触发用户定义的操作,取代了atd,crond
    snapshot:与target配置单元相似,快照是一组配置单元

    redhat7服务管理新命令(工具)
    systemctl start name.service:启动服务
    systemctl stop name.service:关闭服务
    systemctl restart name.service:重启服务
    systemctl reload name.service:重新加载配置文件
    systemctl status name.service:查看状态
    systemctl list-unit --type service --all:查看所有服务状态
    systemctl enable name.service:开机启动
    systemctl disable name.service:开机禁止
    systemctl is-enable name.service:查看状态
    systemctl list-units --type service:列出所有服务状态

    开机运行级别:
    redhat7取消了运行级别的概念,取代的是target unit
    target是其他systemd单元的逻辑集合
    poweroff.target:关机
    rescue.target:救援模式
    multi-suer.gtarget:多用户模式
    graphical.target:图形模式
    reboot.target:重启

    切换运行级别:
    systemctl list-units --type target:查看当前加载的单元
    systemctl isolate name.target:切换target unit
    systemctl get-default:查看默认target unit
    systemctl set-default name.target:修改target unit

    其他模式:
    systemctl rescue:救援模式
    尝试挂载所有本地文件系统,启动一些重要系统服务,不激活网络
    不允许多用户同时登录,需要root密码
    systemctl emergency:应急模式
    提供尽可能的最小环境,无法进入到救援模式时,进入应急模式
    以只读方式挂载根文件系统,仅启动必须的服务,需要root密码

    电源管理:
    sysetmctl halt:关机
    sysetmctl reboot:重启
    sysetmctl suspend:暂停系统(保持系统状态到内存)
    sysetmctl hibernate:系统休眠(保持系统状态到硬盘)
    ————————————————————————————————————————————————————

    网络及防火墙

    网络配置

    网卡命令规则:
    redhat7采用新的网卡命名规则,集成主板上的设备
    使用bios提供的索引编号,如eno1
    使用PCI-E的slot编号,如ens1
    使用硬件连接器的物理位置,如enp2s0
    使用mac地址,如enx78.。。
    使用传统方式,如eth0
    NetworkManager:
    redhat7默认网络管理服务为networkmanager
    传统的ifcfg类型的配置文件依然被支持
    新版网络管理工具有
    NetworkManager:默认网络服务进程
    nmtui:tui
    nmcli:命令行工具
    control-center:gnome控制中心
    nm-connection-editor:图形化配置工具
    修改主机名:
    redhat7主机名位于/etc/hostname


    防火墙
    firewalld是一个主持域的动态防火墙管理服务
    firewalld支持ipv4及ipv6网络
    支持图形和命令行两种配置方式(firewall-config,firewall-cmd)
    配置文件存放路径为/usr/lib/firewalld和/etc/firewalld

    防火墙区域:
    firewalld根据网络区域过滤数据,默认区域如下
    block:默认拒绝所有数据
    trusted:默认接受所有数据
    drop:默认丢弃所有数据
    public:除明确允许的数据,其他均默认拒绝
    external:除明确允许的数据,其他均默认拒绝
    dmz:除明确允许的数据,其他均默认拒绝
    work:除明确允许的数据,其他均默认拒绝
    home:除明确允许的数据,其他均默认拒绝
    internal:除明确允许的数据,其他均默认拒绝

    firewall-cmd --state:查看状态
    firewall-cmd --get-zones:查看所有可用区域
    firewall-cmd --get-active-zones:查看所有生效的配置
    firewall-cmd --get-default-zone:查看默认区域
    firewall-cmd --set-default-zone=dmz:设置默认区域

    防火墙区域生效规则:
    根据客户机ip地址,决定数据包进入哪个区域进行检查
    根据进入的端口,决定数据包进入哪个区域检查
    如果两个条件都不满足,则进入默认区域检查

    示例:从192.168.10..0/24发来的数据包进入work区域检查
    从eno1网卡收到的数据包进入dmz区域检查
    [root@rhel7 ~]# firewall-cmd --permanent --add-source=192.168.10.0/24 --zone=work
    [root@rhel7 ~]# firewall-cmd --permanent --add-interface=eno1 --zone=dmz
    [root@rhel7 ~]# firewall-cmd --reload:重新加载生效

    实例:(加上--permanent永久生效)
    查看eth0属于哪个区域
    [root@rhel7 ~]# firewall-cmd --permanent --get-zone-of-interface=eth0
    将原来在dmz区域的eno1端口改变到home区域
    [root@rhel7 ~]# firewall-cmd --permanent --zone=home --change-interface=eno1
    删除端口
    [root@rhel7 ~]# firewall-cmd --permanent --zone=home --remove-interface=eno1
    列出public的规则
    [root@rhel7 ~]# firewall-cmd --permanent --list-all --zone=public
    向public区域增加规则,允许访问http服务
    [root@rhel7 ~]# firewall-cmd --permanent --add-service=http --zone=public
    向public区域增加规则,允许链接3206端口
    [root@rhel7 ~]# firewall-cmd --permanent --add-port=3206/tcp --zone=public
    向public区域增加规则,设置端口转发,访问5423端口时,转发到80端口
    [root@rhel7 ~]# firewall-cmd --permanent --zone=public --add-forward-port=port=5423:proto=tcp:toport=80

    ——————————————————————————————————————————————————————

    GRUB2
    gnu grub是一个来自gnu项目的启动引导程序
    它允许用户可以在计算机内同时拥有多个操作系统
    并在计算机启动时选择希望运行的操作系统
    目前grub分成grun legacy和grun2
    版本号是0.9x以及之前的版本都被称为grub legacy
    从1.x开始称为grub2


    主配置文件:
    grub默认配置文件
    /boot/grub2/grub.conf
    生成grub配置文件
    grub2-mkconfig -o /boot/grub2/grub.cfg
    生成grub配置文件用到/etc/grub.d/目录喜下的文件
    00_header:用于加载/etc/default/grub配置信息
    10_linux:用于定位缺省分区上的rhel内核
    30_os-prober:用于检测其他分区上的操作系统
    40_custome:用于自定义菜单
    重新安装grub
    grub2-install /dev/sda

    redhat7恢复密码:
    重启系统
    在开机界面按方向键,在第一个菜单上按e
    找到linux16这行,按end键,在行尾输入 rd.break console=tty0
    按ctrl+x启动
    输入mount -o remount,rw /sysroot/(以读写方式重新挂载根)
    输入chroot /sysroot/(切换根)
    echo 123456 | passwd --stdin root(改密码)
    touch /.autorelabel(创建文件以便进行selinux的重新标记)
    exit
    exit

    redhat7手工引导系统:
    grub> set root=(hd0,msdos1) #设置根目录为第一硬盘的第一分区
    grub> linux16 /vmlinuz<按下tab键> ro root=/dev/rhel/root #设置内核文件
    grub> initrd16 /initramfs-3.10<按tab键>.img #设置initrd文件,也有可能用软链接
    grub> boot #boot从硬盘启动
    grub2-mkconfig -o /boot/grub2/grub.cfg(启动后重新生成配置文件)


    redhat6手工引导系统(番外篇,不能只会7不会6啊)
    首先连接光盘,设置cdrom开机第一启动介质(因为没内核了,需要光盘启动到救援模式)
    开机后选择rescue installed system(救援模式)
    进入界面后选择语言,键盘,是否链接网络,推荐不连,看到介绍,选择continue
    bash-4.1# chroot /mnt/sysimage
    sh-4.1# mount /dev/vda1 /boot
    sh-4.1# mount /dev/cdrom /media(挂载光盘)
    sh-4.1# rpm -ivh --force /media/Packages/kernel-2<按tab键>(安装内核文件)
    sh-4.1# grub-install /dev/vda(安装grub)
    sh-4.1# vim /boot/grub/grub.conf(创建grub文件)
    default=0
    timeout=15
    title red hat 6.7
    root (hd0,0)
    kernel /vmlinuz-2.6.32-573.el6.x86_64 ro root=/dev/VolGroup/lv_root(读取:r ! ls /boot/vmlinuz-2.6)
    initrd /initramfs-2.6.32-573.el6.x86_64.img (读取:r ! ls /boot/initramfs-2.6<按tab键>)
    sh-4.1# vim /etc/fstab(将boot分区的uuid改成新值)
    (:r ! blkid /dev/vda1 读取新的uuid 并把旧的uuid删掉)
    sh-4.1# exit
    bash-4.1# exit
    然后重启主机,选择boot from local deive(本地硬盘启动)

    ——————————————————————————————————————————————————————————————

  • 相关阅读:
    Mysql 8.0 OCP认证考试原题题库整理(CUUG内部资料)-第2题
    Mysql 8.0 OCP认证考试原题题库整理(CUUG内部资料)-第1题
    【2020年8月】Oracle OCP 062考试新题(-3题)CUUG内部题库
    【2020年8月】Oracle OCP 062考试新题(-2题)CUUG内部题库
    iOS7时代我们用什么来追踪和识别用户?
    插件就是生产力——那些不能错过的XCode插件们
    批处理执行Testng
    Jmeter调度器小记
    Newtonsoft.Json小记
    批处理添加环境变量
  • 原文地址:https://www.cnblogs.com/Hydraxx/p/7651642.html
Copyright © 2011-2022 走看看