1 RAID概述RAID独立冗余磁盘阵列Redundant Array of Independent Disks是一种将多块硬盘组合成一个逻辑存储单元的技术。通过特定的数据分布算法和冗余机制RAID能够在不同程度上实现以下目标提高性能通过并行读写操作提升整体速度提高可靠性通过数据冗余如镜像或奇偶校验实现容错扩大容量将多块硬盘合并为一个更大的逻辑卷。2.RAID级别级别说明最少磁盘容错能力RAID 0条带化性能优先2无RAID 1镜像冗余优先21块RAID 5分布式奇偶校验31块RAID 10RAID10组合4每组1块2.1 RAID 0条 带化/ Striping特点数据分块后分布在多块硬盘上。优点读写性能提升显著。缺点没有冗余一块硬盘损坏会导致全部数据丢失。使用场景对性能要求高但数据安全要求低的环境如临时缓存、游戏盘。要求 最少需要两块磁盘不校验不存储镜像2.2RAID 1镜像/ Mirroring特点两块硬盘存储完全相同的数据副本。优点高可靠性一块盘损坏可自动切换到另一块。缺点存储利用率仅50%成本较高。使用场景重要数据存储如数据库系统、服务器系统盘。最少需要两块盘100G 100G实际数据100G--------------------------------------| RAID 1 |--------------------------------------| Disk 1 | Disk 2 |--------------------------------------| A1 | A1 |--------------------------------------| A2 | A2 |--------------------------------------| A3 | A3 |--------------------------------------| A4 | A4 |--------------------------------------2.3RAID 5带奇偶校验的条带化特点数据和奇偶校验信息分布在所有磁盘上。优点在提升性能的同时提供一定的容错能力可容忍一块盘损坏。缺点写入速度略低于RAID 0重建时间长。使用场景常用于企业文件服务器和网络存储NAS。--------------------------------------------------| RAID 5 |---------------------------------------- || Disk 0 | Disk 1 | Disk 2 | Disk 3 | |---------------------------------------- || A1 | B1 | C1 | Dp | |---------------------------------------- || A2 | B2 | Cp | D1 | |---------------------------------------- || A3 | Bp | C2 | D2 | |---------------------------------------- || Ap | B3 | C3 | D3 | |---------------------------------------- |2.4RAID 10RAID 10特点先做镜像RAID 1再条带化RAID 0。优点兼顾性能与可靠性。缺点至少需要4块硬盘成本较高。使用场景数据库、高性能服务器。----------------------------------------------------------| RAID 10 |----------------------------------------------------------| || ------------- ------------- || | RAID 0 | | RAID 0 | || ------------- ------------- || | RAID 1 | | RAID 1 | || ------------- ------------- || | Disk 0 | Disk 1 | | Disk 2 | Disk 3 | || ---------------- ---------------- || | A1 | A1 | | A2 | A2 | || ---------------- ---------------- || | A3 | A3 | | A4 | A4 | || ---------------- ---------------- || | A5 | A5 | | A6 | A6 | || ---------------- ---------------- || | A7 | A7 | | A8 | A8 | || ---------------- ---------------- |----------------------------------------------------------2.5RAID的应用建议3.RAID实战注意由于磁盘阵列RAID是在硬件设备上去做现场没有环境只能在操作系统上安装软RAID .3.1检查是否已安装mdadm软件包rpm -q mdadmyum install -y mdadm3.2使用fdisk工具进行分区使用fdisk.工具将新磁盘设备/dev/sdb、/dev/sdc、/dev/sdd、/dev/sde划分出主分区sdb1、sdc1、sdd1、sde1 并且把分区类型的ID标记号改为fd”fdisk /dev/sdbfdisk /dev/sdc3.3创建RAID设备3.3.1创建RAID5mdadm -C -v /dev/md5 -l5 -n3 /dev/sd[bcd]1 -x1 /dev/sde1-C:表示新建;-v:显示创建过程中的详细信息。/dev/md0:创建RAID5的名称。-ayes:--auto表示如果有什么设备文件没有存在的话就自动创建可省略。-1:指定RAID的级别15表示创建RAID5。.-n:指定使用几块硬盘创建RAID, n3表示使用3块硬盘创建RAID。/dev/sd [bcd]1:指定使用这3块磁盘分区去创建RAID。-x:指定使用几块硬盘做RAID的热备用盘x1表示保留1块空闲的硬盘作备用/dev/sde1:指定用作于备用的磁盘3.3.2创建RAID10 (先做镜象再做条带)mdadm -Cv /dev/md0 -11 -n2 /dev/sd[bc]1mdadm -Cv /dev/md1 -l1 -n2 /dev/sd[de]1mdadm -Cv /dev/md10 -l0 -n2 /dev/md0/dev/md13.3.3查看RAID磁盘详细信息cat /proc/mdstat #还能查看创建RAID的进度或者mdadm -D /dev/md03.3.4用watch命令来每隔-一段时间刷新/proc/mdstat的输出watch -n 10 cat /proc/mdstat3.3.5检查磁盘是否做RAIDmdadm -E /dev/sd[b-e] 13.4创建并挂载文件系统mkfs -t xfs /dev/md5mkdir /opt/mybbbmount /dev/md5 /opt/mybbbdf -Thcp /etc/fstab /etc/fstab.bakvim /etc/fstab/dev/md0 /myraid xfs defaults 0 03.5实现故障恢复mdadm /dev/md5 -f /dev/sdb1 #模拟/dev/sdb1故障mdadm -D /dev/md5 #查看发现sde1已顶替sdb13.6创建/etc/mdadm.conf配置文件方便管理软RAID的配置比如启动、停止echo DEVICE /dev/sdc1 /dev/sdb1 /dev/sdd1 /dev/sde1 /etc/mdadm.confmdadm --detail --scan /etc/mdadm.confmdadm命令其它常用选项-r:移除设备-a:添加设备-S:停止RAID-A:启动RAID系统管理一、Linux系统引导过程1.1 开机自检过程系统开机后通过BIOS对CPU、内存、显卡、键盘等硬件设备进行初步检测检测成功后根据BIOS设置的启动顺序系统会选择一个设备硬盘、光驱、U盘等进行引导。总结检测到第一个能够启动的设备如硬盘或光驱、U盘。按下电源开机自检设备是否正常正常之后就去加载 引导设备光驱U盘硬盘1.2 MBR引导过程如果从硬盘启动系统会从硬盘的第一个扇区加载MBR主引导记录并通过MBR启动菜单如GRUB选择操作系统启动。总结从硬盘的MBR引导程序启动运行GRUB引导加载器。找到启动 引导方式并且启动找系统路径1.3 GRUB引导菜单过程GRUBGRand Unified Bootloader是Linux常用的多重操作系统引导程序。GRUB会显示启动菜单用户选择启动项后加载操作系统的内核文件并将控制权交给内核。总结GRUB引导程序读取/boot/grub2/grub.cfg文件加载并启动操作系统内核。找grub (内核文件系统的镜像)启动系统的路径1.4 加载Linux内核过程内核文件是一个预编译的二进制文件介于硬件与系统程序之间负责管理硬件资源和系统进程。总结将内核文件和镜像文件加载到内存。加载 系统内核把系统镜像 加载到内存当中1.5 init进程初始化过程内核加载后会启动系统的初始化进程/sbin/init该进程负责进一步的系统初始化工作如加载硬件驱动、启动系统服务最终等待用户登录。总结内核加载并启动init进程完成系统的初始化。初始systemctl重新加载 所有设备的驱动桌面出先 登录界面然后你就可以登录系统当中二、Systemd服务管理2.1Systemd是什么在Linux中服务service就是运行在后台的程序就像餐厅的服务员随时准备响应顾客的需求。Systemd是Linux系统中的一个服务管理器你可以把它理解成餐厅的经理。它的主要职责是管理所有系统服务加快系统启动速度按需启动服务不用的时候不启动省资源2.2Systemd的优点并行启动服务与传统的SysVinit相比Systemd支持并行启动多个服务从而加速系统启动过程。按需启动服务Systemd可以按需启动服务避免了启动不必要的服务提高了系统的效率。总结Systemd改善了系统的启动速度和服务管理效率解决了SysVinit启动慢和脚本复杂的问题。2.3运行级别与Systemd目标在Linux系统中运行级别runlevel定义了系统的运行状态。Systemd通过目标target来代替传统的运行级别。以下是常见的运行级别与对应的Systemd目标运行级别Systemd目标说明比喻0poweroff.target关机下班回家1rescue.target单用户模式安全模式独自加班只有你一人2、3、4multi-user.target多用户模式 黑屏正常上班无图形界面5graphical.target图形化界面正常上班有图形界面6reboot.target重启重启刷新通俗解释运行级别0关机系统完全关闭运行级别1单用户模式只有一个管理员能登录用于系统修复。就像手机进入恢复模式。运行级别2-4多用户文本模式命令行界面不带图形运行级别5多用户图形界面带桌面系统运行级别6重启重点注意运行级别0和6是绝对不能设为默认的0 关机6 重启如果你把默认运行级别设为0或6那你的电脑每次开机都会秒关机或秒重启进不去系统三、Systemd命令详解3.1设置与切换运行级别3.1.1查看当前默认目标启动模式systemctl get-default3.1.2设置默认目标修改启动模式systemctl set-default multi-user.target3.1.3临时切换目标立即切换模式systemctl isolate graphical.target3.2服务管理3.2.1启用服务开机启动systemctlstarthttpd.service apachesystemctl enable httpd.service3.2.2查看服务的开机启动状态systemctl is-enabled httpd.service3.2.3禁用服务开机启动systemctl disable httpd.service3.2.4列出所有已启用的服务systemctl list-unit-files |grepenabled3.2.5查看系统中所有已激活的服务systemctl list-units--typeservice3.2.6永久修改主机名hostnamectl set-hostname newnamehomename主机名 临时修改主机名3.2.7查看服务状态#查看服务是否在运行并显示详细状态信息systemctl status sshd3.2.8停止服务的运行systemctl stop sshd3.2.9关闭防火墙服务systemctl stop firewalld.service3.2.10启动服务systemctl start firewalld.service3.2.11重启服务systemctl restart firewalld.service3.2.12重新加载服务配置systemctl reload firewalld.service四、课后扩展4.1chkconfig命令centos 6 httpdchkconfig是一个用于查看和配置服务是否在特定运行级别下启动的工具。常用命令如下查看服务状态chkconfig--listhttpd添加服务到系统chkconfig--addhttpd设置服务在特定级别下启动chkconfig--level35httpd on4.2systemd与chkconfig的对比systemd是现代的服务管理工具支持并行服务启动和按需启动服务配置文件为.service。chkconfig用于较早的服务管理依赖于运行级别和手动设置服务的开机启动。特性Systemdchkconfig现代程度新主流老启动方式并行启动顺序启动命令格式systemctlchkconfig配置文件.service文件运行级别脚本按需启动支持不支持五、总结与案例Linux系统引导过程包括开机自检、MBR引导、GRUB引导菜单、加载内核以及init进程初始化。Systemd服务管理替代传统的init进程通过并行启动服务、按需启动服务提高系统启动速度。\服务管理**使用systemctl命令管理服务的启动、停止和开机启动状态支持配置服务在特定目标下的运行。通过这节内容我们学习了Linux引导过程5步走开机自检 → MBR引导 → GRUB菜单 → 加载内核 → init初始化GRUB2新一代启动引导器功能更强大Systemd现代化的服务管理系统取代了旧的SysVinit支持并行启动、按需启动用systemctl命令管理常用服务管理命令systemctl start/stop/restart- 启动/停止/重启systemctl enable/disable- 启用/禁用开机启动systemctl status- 查看状态systemctl get-default/set-default- 查看/设置默认目标