云计算基础 (redhat7介绍及相关配置)

时间:2023-03-09 14:48:39
云计算基础 (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(本地硬盘启动)

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