就业班 2401--2.29 Linux Day8--存储管理2(LVM)+swap+磁盘阵列raid

!!!!!!小伙伴们一定要看到最后,有彩蛋呢^--^

一、存储管理Ⅱ

逻辑卷LVM

(Logical Volume Manager(逻辑卷管理)的简写)

LVM管理
lvm概念:LVM是Linux环境中对磁盘分区进行管理的一种机制,是建立在硬盘和分区之上、文件系统之下的一个逻辑层,可提高磁盘分区管理的灵活性。

lvm与传统分区的区别

#传统分区的缺点:
传统的文件系统是基于分区的,一个文件系统对应一个分区。这种方式比较直观,但不易改变。当一个分区空间已满时,无法对其扩充,只能采用重新分区/建立文件系统,非常麻烦;或把分区中的数据移到另一个更大的分区中。
​
#当采用LVM时:
1.将硬盘的多个分区由LVM统一为卷组管理,可以方便的加入或移走分区以扩大或减小卷组的可用容量,充分利用硬盘空间;
2.当磁盘空间不足而加入新的硬盘时,不必将数据从原硬盘迁移到新硬盘,而只须把新的分区加入卷组并扩充逻辑卷即可。
3.文件系统建立在LVM上,可以跨分区,方便使用;
​
#使用LVM主要是方便管理、增加了系统的扩展性。可以跨分区,多个硬盘组合。
1.lvm的制作
2.lvm的使用
3.lvm扩容-------在线扩容。可以在有数据的情况下去扩容
基本分区(MBR|GPT) ----> Filesystem(制作文件系统类型) ----> mount(挂载)
逻辑卷LVM ----> Filesystem(制作文件系统类型) ----> mount(挂载)
lvm的制作
第一步:拥有基本分区
第二步:做成物理卷:  pv ------- sdb1、sdb2 打pv的标记。
第三步:加入卷组:   vg-------- 卷组里面包含:sdb1  sdb2,建立在PV之上。
第四步:逻辑卷   lv  -------  逻辑卷是从卷组里面拿空间出来做成的逻辑卷,在起个名,建立在VG之上
第五步:制作文件系统------mkfs.xfs    lvm路径    初始化
第六步:挂载 ------mount   使用lvm
#制作lvm的时候可以是一整块硬盘也可以是硬盘分好的区并且是还没有用的。必须是没有做文件系统的
实战
创建LVM

首先准备添加3块磁盘:可以是/dev/sdb这种没有分区的也可以是/dev/sdb1这种已经分区了的

注意:如果没有pv命令安装 #yum install -y lvm2
[root@linux-server ~]# ll /dev/sd*
brw-rw----. 1 root disk 8,  0 Nov  9 12:59 /dev/sda
brw-rw----. 1 root disk 8,  1 Nov  9 12:59 /dev/sda1
brw-rw----. 1 root disk 8,  2 Nov  9 12:59 /dev/sda2
brw-rw----. 1 root disk 8, 16 Nov  9 12:59 /dev/sdb
brw-rw----. 1 root disk 8, 32 Nov  9 12:59 /dev/sdc
brw-rw----. 1 root disk 8, 48 Nov  9 14:04 /dev/sdd
创建pv
[root@linux-server ~]# pvcreate /dev/sdb #创建pvPhysical volume "/dev/sdb" successfully created.
[root@linux-server ~]# pvs  #查看pvPV         VG     Fmt  Attr PSize   PFree /dev/sdb          lvm2 ---   10.00g 10.00g
[root@linux-server ~]# pvscan  #查看pvPV /dev/sda2   VG centos          lvm2 [<19.00 GiB / 0    free]PV /dev/sdb                       lvm2 [10.00 GiB]Total: 2 [<29.00 GiB] / in use: 1 [<19.00 GiB] / in no VG: 1 [10.00 GiB]
创建vg
[root@linux-server ~]# vgcreate vg1 /dev/sdb   #创建vgVolume group "vg1" successfully created
参数解释:
-s 16M 指的是在分区的时候指定vg的大小。
[root@linux-server ~]# vgs    #查看vgVG     #PV #LV #SN Attr   VSize   VFree  centos   1   2   0 wz--n- <19.00g      0 vg1      1   0   0 wz--n- <10.00g <10.00g
[root@linux-server ~]# vgscanReading volume groups from cache.Found volume group "centos" using metadata type lvm2Found volume group "vg1" using metadata type lvm2
[root@linux-server ~]# vgdisplay #查看vg
--- Volume group ---VG Name               vg1System ID             Format                lvm2Metadata Areas        1Metadata Sequence No  2VG Access             read/writeVG Status             resizableMAX LV                0Cur LV                1Open LV               0Max PV                0Cur PV                1Act PV                1VG Size               <10.00 GiBPE Size               4.00 MiBTotal PE              2559Alloc PE / Size       0 / 0 MiBFree  PE / Size       2559 / <10.00 GiBVG UUID               bVvQxe-4M2A-mMuk-b3gJ-4Maj-0xDy-5QZDOp
创建lv
[root@linux-server ~]# lvcreate -L 150M -n lv1 vg1  #创建lvRounding up size to full physical extent 152.00 MiBLogical volume "lv1" created.
[root@linux-server ~]# lvcreate -l 20 -n lv2 vg1  #采用PE方式在创建一个lvLogical volume "lv2" created.
参数解释:
-L 指定lv的大小
-n 给创建的lv起一个名字
-l 20 指定PE 
[root@linux-server ~]# lvs   #查看lvLV   VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convertroot centos -wi-ao---- <17.00g                                                    swap centos -wi-ao----   2.00g                                                    lv1  vg1    -wi-a----- 152.00m                                                    lv2  vg1    -wi-a-----  80.00m
制作文件系统并挂载
[root@linux-server ~]# mkfs.xfs /dev/vg1/lv1
[root@linux-server ~]# mkfs.ext4 /dev/vg1/lv2
[root@linux-server ~]# mkdir /mnt/lv{1..2}
[root@linux-server ~]# mount /dev/vg1/lv1 /mnt/lv1
[root@linux-server ~]# mount /dev/vg1/lv2 /mnt/lv2
[root@linux-server ~]# df -Th
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/vg1-lv1     xfs       149M  7.8M  141M   6% /mnt/lv1
/dev/mapper/vg1-lv2     ext4       74M  1.6M   67M   3% /mnt/lv2

LVM逻辑卷扩容

VG管理
#注意:如果lv所在的vg有空间直接扩容就ok了!

        如果你家没米了肯定是从自家米袋找找对吧,不可能直接去外面买,嘿嘿

扩大VG vgextend
1.创建pv
[root@linux-server ~]# pvcreate /dev/sdc Physical volume "/dev/sdc" successfully created.
2.直接vgextend扩容
[root@linux-server ~]# vgextend vg1 /dev/sdc       #vg1卷组名字,将/dev/sdc扩展到vg1中Volume group "vg1" successfully extended
[root@linux-server ~]# vgsVG     #PV #LV #SN Attr   VSize   VFree centos   1   2   0 wz--n- <19.00g     0 vg1      2   2   0 wz--n-  19.99g 18.23g
实战lv扩容
[root@linux-server ~]# vgs  #查看vgVG     #PV #LV #SN Attr   VSize   VFree centos   1   2   0 wz--n- <19.00g     0 vg1      1   2   0 wz--n- <19.99g <9.77g
[root@linux-server ~]# lvextend -L 850M /dev/vg1/lv1  #扩展到850M
[root@linux-server ~]# lvextend -L +850M /dev/vg1/lv1 #在原有基础上加850M
[root@linux-server ~]# lvsLV   VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convertroot centos -wi-ao---- <17.00g                                                    swap centos -wi-ao----   2.00g                                                    lv1  vg1    -wi-ao----   1.66g                                                    lv2  vg1    -wi-ao----  80.00m 
[root@linux-server ~]# lvextend -l +15 /dev/vg1/lv1 #在原有基础上加15个PE
[root@linux-server ~]# lvsLV   VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convertroot centos -wi-ao---- <17.00g                                                    swap centos -wi-ao----   2.00g                                                    lv1  vg1    -wi-ao----  <1.68g                                                    lv2  vg1    -wi-ao----  80.00m
FS(file system)文件系统扩容
[root@linux-server ~]# df -Th
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/vg1-lv1     xfs       149M  7.8M  141M   6% /mnt/lv1
/dev/mapper/vg1-lv2     ext4       74M  1.6M   67M   3% /mnt/lv2
[root@linux-server ~]# xfs_growfs /dev/vg1/lv1  #xfs扩容   刷新,初始化
[root@linux-server ~]# resize2fs /dev/vg1/lv2   #ext4扩容
[root@linux-server ~]# df -Th
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/vg1-lv1     xfs       1.7G  9.1M  1.7G   1% /mnt/lv1
/dev/mapper/vg1-lv2     ext4       74M  1.6M   67M   3% /mnt/lv2

注意

文件系统不符合,应该用xfs_growfs,,如果用的mkfs.xfs  使用resize2fs 就会报下面的错误

二、交换分区    Swap

交换分区管理 Swap---也叫虚拟内存

作用: ‘提升‘ 内存的容量,防止OOM(Out Of Memory)

现象是当内存不够的时候内核会随机杀死进程,它认为占用内存多的进程。(内核会先删除占用内存多的进程).
​
如何制作交换分区?
#我们可以将硬盘空间拿来当作内存来用
什么时候用到交换分区?
#当物理内存不够用的时候使用swap分区,防止物理内存耗尽

扩展知识

swap分区大小设置规则
在Linux系统,我们可以参照Redhat公司为RHEL5、RHEL6推荐的SWAP空间的大小划分原则,在你没有其他特别需求时,可以作为很好的参考依据。
内存小于4GB时,推荐不少于2GB的swap空间;
内存4GB~16GB,推荐不少于4GB的swap空间;
内存16GB~64GB,推荐不少于8GB的swap空间;
内存64GB~256GB,推荐不少于16GB的swap空间。

一、查看当前的交换分区

[root@linux-server ~]# free -m total        used        free      shared  buff/cache   available
Mem:           1984         155        1679           8         149        1656
Swap:          2047           0        2047
[root@linux-server ~]# swapon -s  #查看交换分区信息

二、增加交换分区 可以是基本分区,LVM,File

[root@linux-server ~]# fdisk /dev/sdd  #分一个主分区出来,使用MBR(DOS)
[root@linux-server ~]# partprobe /dev/sdd #刷新分区表
[root@linux-server ~]# ll /dev/sdd*
brw-rw----. 1 root disk 8, 16 Nov  9 14:11 /dev/sdd
brw-rw----. 1 root disk 8, 17 Nov  9 14:11 /dev/sdd1

初始化

[root@linux-server ~]# mkswap /dev/sdd1  #初始化
Setting up swapspace version 1, size = 5242876 KiB
no label, UUID=d2fd3bc0-10c0-4aeb-98ea-6b640d29b783

挂载

[root@linux-server ~]# blkid /dev/sdd1  #查看UUID
/dev/sdd1: UUID="d2fd3bc0-10c0-4aeb-98ea-6b640d29b783" TYPE="swap" 
[root@linux-server ~]# vim /etc/fstab  #制作开机挂载
/dev/sdd1       swap    swap    defaults        0 0
[root@linux-server ~]# swapon -a #激活swap分区(读取/etc/fstab)
[root@linux-server ~]# swapon -s
Filename                                Type            Size    Used    Priority
/dev/dm-1                               partition       2097148 0       -1
/dev/sdd1                               partition       5242876 0       -2
​
#swapoff /dev/sdd1  #关闭swap分区

想要删除swap分区的话,在fdisk里面,使用d删除

但是必须        swapoff /dev/sdd1 #关闭swap分区

file制作

[root@linux-server ~]# dd if=/dev/zero of=/swap2.img bs=1M count=512
解释:dd 读入  从空设备里面拿空块 到交换分区                块多大  一共多少兆
[root@linux-server ~]# mkswap /swap2.img  #初始化
[root@linux-server ~]# vim /etc/fstab
/swap2.img      swap    swap    defaults        0 0
[root@linux-server ~]# chmod 600 /swap2.img #交换分区权限需要设置为600,默认644权限不安全。
[root@linux-server ~]# swapon -a
[root@linux-server ~]# swapon -s
Filename                                Type            Size    Used    Priority
/dev/dm-1                               partition       2097148 0       -1
/dev/sdd1                               partition       5242876 0       -2
/swap2.img                              file    524284  0       -3

总结swap:有两种创建方法,第一种是fdisk  创建一个主分区,第二种是将文件变为swap交换分区使用

三、mount详解

**常用挂载选项详解 **

挂载设备文件名、UUID

常见的挂载选项

-o         指定文件系统属性
rw         读写 
ro         只读 
noexec     不允许执行二进制文件
exec       允许执行二进制文件 
auto       mount -a 开机自动挂载 
remount    在线重新挂载
​
-t   指定文件类型   #比如ext4   xfs   等等
[root@linux-server ~]# mount  #查看已经挂载上的系统的属性

案例1:exec/noexec

[root@linux-server ~]# mount /dev/vg1/lv1 /mnt/lv1/     #挂载默认是有执行权限的
[root@linux-server ~]# mount -o noexec /dev/vg1/lv2 /mnt/lv2  #不允许执行二进制文件
[root@linux-server ~]# cat /mnt/lv1/hello.sh
#!/bin/bash
echo "hello"
​
[root@linux-server ~]# cat /mnt/lv2/hello2.sh
#!/bin/bash
echo "hello"
[root@linux-server ~]# chmod +x /mnt/lv1/hello.sh 
[root@linux-server ~]# chmod +x /mnt/lv2/hello2.sh
[root@linux-server ~]# /mnt/lv1/hello.sh
hello
[root@linux-server ~]# /mnt/lv2/hello2.sh
-bash: /mnt/lv2/hello2.sh: Permission denied

取消挂载

[root@linux-server ~]# df -Th
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/vg1-lv1     xfs       1.7G   34M  1.7G   2% /mnt/lv1
/dev/mapper/vg1-lv2     ext4       74M  1.6M   67M   3% /mnt/lv2
[root@linux-server ~]# umount /mnt/lv2/

四、raid--磁盘阵列

RAID介绍

RAID ( Redundant Array of Independent Disks )即独立磁盘冗余阵列,通常简称为磁盘阵列。简单地说, RAID 是由多个独立的高性能磁盘驱动器组成的磁盘子系统,从而提供比单个磁盘更高的存储性能和数据冗余的技术。

#注意
所有服务器在安装操作系统之前必须先做raid【常识】

最常见的raid级别:0、1、5、6、10:是 1和0 的组合

raid0 ---数据条带卷
最少需要两块磁盘,分别往每一块磁盘上写一部分数据
优点:
1.读写速度快, 
2.磁盘利用率:100%
缺点:不提供数据冗余,无数据检验,不能保证数据的正确性,存在单点故障。
​
应用场景:
1)对数据完整性要求不高的场景,如:日志存储,个人娱乐
2)要求读写效率高,安全性能要求不高,如图像工作站 
============================================================================
raid1 又叫镜像raid,通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据。
一般需要两块磁盘,每块磁盘上都会存储一份完整数据。其数据安全性就会较高,但是磁盘空间利用率是比较低的。
​
优点:提供数据冗余,数据双倍存储安全性高支持容错。读速度快
缺点:写速度慢,无数据校验。磁盘利用率不高
磁盘利用率:50%
​
应用场景:
存放重要数据,如数据存储领域
===========================================================
raid5:RAID5应该是目前最常见的 RAID 等级,它的校验数据分布在阵列中的所有磁盘上。RAID5的磁盘上同时存储数据和校验数据。当一个数据盘损坏时,系统可以根据其他数据块和对应的校验数据来重建损坏的数据。 
​
raid5最少需要3块磁盘。
优点:
1.可以找回丢失的数据---数据可以通过校验计算得出,
2.冗余磁盘-->(需要4快磁盘将其中一块做热备)当某一块磁盘坏掉后,冗余磁盘会自动替换上去
3.有校验机制
4.读写速度高
5.磁盘利用率高
缺点:
1.磁盘越多安全性能越差
​
#定义:
RAID 5是RAID 0和RAID 1的折中方案。RAID 5具有和RAID0相近似的数据读取速度,只是多了一个校验信息。RAID5的磁盘空间利用率要比RAID 1高,存储成本相对较低,是目前运用较多的一种解决方案。
​
​
应用场景:安全性高,如金融、数据库、存储等。
==================================================
raid6:RAID6 等级是在 RAID5 的基础上为了进一步增强数据保护而设计的一种 RAID 方式。
RAID6引入双重校验的概念,最少需要四块磁盘,它可以保护阵列中同时出现两个磁盘失效时,阵列仍能够继续工作,不会发生数据丢失。
优点:
1.容错:允许两块磁盘同时坏掉。读写快。
2.良好的随机读性能
3.有校验机制
​
缺点:
1.写入速度差
2.成本高
​
应用场景:对数据安全级别要求比较高的企业
===============================================
RAID10:先做镜像再作条带--也叫混合raid
优点:
1.较高的IO性能
2.有数据冗余
3.无单点故障
4.安全性能高
缺点:成本稍高
应用场景:
特别适用于既有大量数据需要存取,同时又对数据安全性要求严格的领域,如银行、金融、商业超市、仓储库房、各种档案管理等。
=======================================================

作用

为什么要做raid? #为了保证数据完整性,防止数据丢失
购买磁盘后需要操作
# 1.有磁盘,2.制作raids5,3.开始分区,4.刷新分区表,5,制作文件系统,6.挂载。

sr0 镜像大小

系统起不来,进配置文件看有没有遗留

PE size 一块有4M

假如创98M 一块4M,到九十八的时候,再拿一块有点浪费,就会直接使用PE size,补充到100M

lv移除(顺序:lv====>>vg====>pv)

[root@localhost ~]# lvremove /dev/vg2/lv2
​
Do you really want to remove active logical volume vg2/lv2? [y/n]: y
​Logical volume "lv2" successfully removed#先移除lv
​
[root@localhost ~]# vgremove /dev/vg2
​Volume group "vg2" successfully removed#再移除vg
​
[root@localhost ~]# pvremove /dev/sdc
​Labels on physical volume "/dev/sdc" successfully wiped.
​#移除pv

lv 缩容(谨慎使用,谨慎使用,谨慎使用)!!!!!!!!!!

1. 备份数据

在进行任何磁盘操作之前,确保你有所有重要数据的备份。这是因为缩减逻辑卷涉及到文件系统和分区大小的调整,如果操作不当,可能会导致数据丢失。

2. 检查并卸载逻辑卷

在你可以缩小一个逻辑卷之前,你需要确保该逻辑卷没有被挂载。你可以使用umount命令来卸载它。如果逻辑卷正在使用中,是不能被卸载的。

umount /dev/vgname/lvname

3. 检查文件系统

在缩减逻辑卷之前,需要先检查文件系统是否有错误。这通常涉及到运行e2fsck命令。对于ext4文件系统,命令如下:

e2fsck -f /dev/vgname/lvname

4. 缩小文件系统

在缩小逻辑卷之前,你首先需要缩小文件系统。对于ext4文件系统,你可以使用resize2fs命令。假设你想将逻辑卷缩小到20GB,命令如下:

resize2fs /dev/vgname/lvname 20G

确保缩小到的大小不小于实际使用的空间。

5. 缩小逻辑卷

一旦文件系统被成功缩小,你就可以缩小逻辑卷本身了。使用lvreduce命令来执行这个操作。同样地,如果你想将逻辑卷缩小到20GB,命令如下:

lvreduce -L 20G /dev/vgname/lvname

6. 重新挂载逻辑卷

最后,你可以重新挂载逻辑卷到它之前挂载的目录。

mount /dev/vgname/lvname /mountpoint

在执行上述操作时,非常重要的一点是确保在缩小文件系统和逻辑卷时指定的大小是一致的,以避免数据损坏。

企业级磁盘阵列(Raid)

一、 什么是磁盘阵列

磁盘阵列是由很多块独立的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上。 独立磁盘冗余阵列(RAID,redundant array of independent disks)是把相同的数据存储在多个硬盘的不同 的地方(因此,冗余地)的方法。通过把数据放在多个硬盘上,输入输出操作能以平衡的方式交叠,改良性能。因 为多个硬盘增加了平均故障间隔时间(MTBF),储存冗余数据也增加了容错。

二、功能

(1)通过对磁盘上的数据进行条带化(蛇形走位嘿嘿我理解的),实现对数据成块存取,减少磁盘的机械寻道时间,提高了数据存取速度。

(2)通过对一个阵列中的几块磁盘同时读取,减少了磁盘的机械寻道时间,提高数据存取速度。

(3)通过镜像或者存储奇偶校验信息的方式,实现了对数据的冗余保护

三、RAID级别

三:RAID级别(0,1,5,10是最常用的)

单类型:RAID0, RAID1, RAID2, RAID3, RAID4, RAID5, RAID6

混合型:RAID7, RAID10/01, RAID50, RAID53, RAID60

raid0 最少需要两块磁盘,分别往每一块磁盘上写一部分数据 优点:读写速度快 缺点:没有其他raid级别安全性高 raid1 又叫镜像raid

最少需要两块磁盘,每块磁盘上都会存储一份完整数据 优点:安全性高,读速度快 缺点:写速度慢 raid5 最少需要3块磁盘,两块磁盘存数据,一块磁盘存校验位优点:可以找回丢失的数据 冗余磁盘-->当某一块磁盘坏掉后,冗余磁盘会自动替换上去 安全性比raid1还高读写速度在raid0和raid1之间

磁盘阵列RAID

RAID:廉价磁盘冗余阵列(Redundant Array of Independent Disks) 作 用:容错、提升读写速率

RAID类型个数利用率优缺点
RAID0   条带集2+100%读写速率最快,不容错
RAID1   镜像集250%读写速率一般,容错
RAID5   带奇偶校验条带集3+(n-1)/n读写速率快,容错,允许坏一块
RAID6   带奇偶校验条带集双校验dp4+(n-2)/n读写快,容错,允许坏两块
RAID10 RAID1的安全+RAID0的高速450%读写速率快,容错

0

1

5

一、不同场景RAID的使用
RAID 实现方式
硬RAID: 需要RAID卡,有自己的CPU,处理速度快,有电池和无电池
软RAID:   通过操作系统实现,比如Windows、Linux
​
二、RAID5 (3块硬盘) + 热备(1块硬盘)
1. 准备4块硬盘
[root@tianyun ~]# ll /dev/sd*
brw-rw---- 1 root disk 8,  48 Jan 13 16:07 /dev/sdd
brw-rw---- 1 root disk 8,  64 Jan 13 16:07 /dev/sde
brw-rw---- 1 root disk 8,  80 Jan 13 16:07 /dev/sdf
brw-rw---- 1 root disk 8,  80 Jan 13 16:07 /dev/sdg2. 创建RAID
[root@tianyun ~]# yum -y install mdadm              //确保mdadm命令可用
[root@tianyun ~]# mdadm -C /dev/md0 -l5 -n3 -x1 /dev/sd{d,e,f,g}
mdadm: array /dev/md0 started.
-C                  创建RAID
/dev/md0        第一个RAID设备
-l5                 RAID5
-n                  RAID成员的数量
-x                  热备磁盘的数量
​
3. 格式化,挂载
[root@tianyun ~]# mkfs.xfs /dev/md0
[root@tianyun ~]# mkdir /mnt/raid5
[root@tianyun ~]# mount /dev/md0 /mnt/raid5
[root@tianyun ~]# cp -rf /etc /mnt/raid5/etc1
​
4. 查看RAID信息
[root@tianyun ~]# mdadm -D /dev/md0                 //-D 查看详细信息
/dev/md0:Version : 1.2Creation Time : Mon Jan 13 16:28:47 2014Raid Level : raid5Array Size : 2095104 (2046.34 MiB 2145.39 MB)Used Dev Size : 1047552 (1023.17 MiB 1072.69 MB)Raid Devices : 3Total Devices : 4Persistence : Superblock is persistent
​Update Time : Mon Jan 13 16:34:51 2014State : clean Active Devices : 3
Working Devices : 4Failed Devices : 0Spare Devices : 1
​Layout : left-symmetricChunk Size : 512KNumber   Major   Minor   RaidDevice State0       8       48        0      active sync   /dev/sdd1       8       64        1      active sync   /dev/sde4       8       80        2      active sync   /dev/sdf
​3       8       96        -      spare   /dev/sdg
​
5. 模拟一块硬盘损坏,并移除
终端一:
[root@tianyun ~]# watch -n 0.5 'mdadm -D /dev/md0 | tail'   //watch持续查看
终端二:
[root@tianyun ~]# mdadm /dev/md0 -f /dev/sde -r /dev/sde  
//模拟坏了并移除  -f  --fail  -r  --remove
​
6. 设置RAID开机生效
[root@tianyun ~]# mdadm -D -s
ARRAY /dev/md0 metadata=1.2 name=sxl1.com:0 UUID=c6761621:8878498f:f5be209e
[root@tianyun ~]# mdadm -D -s > /etc/mdadm.conf如果写入的文件大小很小的话,他就会很快。在第二个终端看不到恢复的百分比
​
========================================================
mdadm选项:
-s  --scan
-S  --stop
-D  --detail
-C  --create
-f   --fail  模拟损坏
-r   --remove  拔出硬盘
-a  插回硬盘
-n  --raid-devices=3
-x  --spare-devices=1
-l   --level=5
​
raid5 删除操作
1、卸载raid挂载
umount /dev/md0
​
2、停止raid
mdadm -S /dev/md0
​
3、删除raid卷
mdadm --misc --zero-superblock /dev/sd{b,c,d,e}

总结:

2、概念部分

逻辑卷和传统磁盘分区相比优势在哪里 20%

性能更高:他可以跨越多个磁盘进行数据读写,

灵活性更强:他可以动态调整大小

可靠性更高:它支持热插拔和热扩展,可以在不中断系统运行的情况下进行存储容量的扩展或替换损失的硬盘

管理更方便:他有自己的管理软件

安全性更好:他支持数据镜像和数据备份。

raid0、1、5的各个特点 20%

0:磁盘利用率 100%

读写率 优

安全性 差

1:磁盘利用率 50%

读写率 读 优 写 差

安全性 优

5:磁盘利用率 n-1/n

读写率 良

安全性 良

10:磁盘利用率 50%

读写率 优

安全性 优

彩蛋来喽,初级程序员们的福音来喽!!!!!!

 =========================================================================

fuck配置(有错误的可以纠正,)

wget -c https://gitea.beyourself.org.cn/newrain001/shell-project/raw/branch/master/os/get-repo.sh &>/dev/null && sh get-repo.sh

yum install -y gcc python3 python3-devel

pip3 install thefuck -i Simple Index

if [ $? -eq 0 ];then

echo 'eval "$(thefuck --alias)"' /root/.bashrc

exit

else

echo "安装出错"

fi

=========================================================================

今天就到这里吧,喜欢的朋友们收藏加关注,期待后面会更精彩哦!!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/709486.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

代理IP如何帮助领英账号预防封号限制?

LinkedIn是跨境外贸必备的拓客工具&#xff0c;世界各地的许多专业人士都使用领英来作为发布和共享内容的主要工具&#xff0c;这使得它成为跨境出海必备的渠道工具。 但是不少做外贸的朋友都知道&#xff0c;领英账号很容易遭遇限制封禁&#xff0c;但如果善用工具&#xff0…

单点登录的三种方式

前言 在B/S系统中&#xff0c;登录功能通常都是基于Cookie 来实现的。当用户登录成功后&#xff0c;一般会将登录状态记录到Session中&#xff0c;或者是给用户签发一个 Token&#xff0c;无论哪一种方式&#xff0c;都需要在客户端保存一些信息(Session ID或Token)&#xff0…

redis-RedisTemplate.opsForGeo 的geo地理位置及实现附近的人的功能

redis内部使用的是 zset 数据结构存储&#xff0c;如下 import cn.huawei.VideoApplication; import cn.huawei.domain.Jingqu; import cn.huawei.service.JingquService; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired…

Tkinter.Text控件中,文本存在某个关键字的将被高亮显示(标记颜色+字体加粗)

在Tkinter的Text控件中&#xff0c;要标记某个关键字并改变其颜色&#xff0c;你可以使用tag_add方法来给包含关键字的文本添加标签&#xff0c;然后使用tag_config方法来配置该标签的显示样式&#xff0c;包括前景色&#xff08;字体颜色&#xff09;和背景色等。以下是一个完…

云桥通+IDC数据中心:SDWAN企业组网实现高效连接案例

一、需求和背景 云桥通曾服务的一家大型跨国企业C公司&#xff0c;C公司多个数据中心分布在全球各地。为了实现数据共享和协作&#xff0c;数据中心之间需要建立稳定高效的网络连接。然而&#xff0c;传统的MPLS专线网络存在昂贵的成本和漫长的开通周期&#xff0c;无法满足企…

机器学习|线性回归

线性回归是尝试使用一条直线去拟合出图上的节点。 e i e_i ei​为第i个点构成的误差&#xff0c;使用平方的好处一是可以避免正负抵消&#xff0c;二是平方有利于放大大于1的误差的影响&#xff0c;同时缩小误差小于1的影响。 将平方项进行展开&#xff0c;以w作为变元&…

C++指针(二)

个人主页&#xff1a;PingdiGuo_guo 收录专栏&#xff1a;C干货专栏 文章目录 1.数组指针 1.1数组指针的概念 1.2数组指针的用处 1.3数组指针的操作 1.4二维数组如何访问 1.5数组指针访问流程 1.6数组指针的练习题 2.指针数组 2.1指针数组的概念 2.2指针数组的用处 2…

ChemDraw Pro 2022:呈现专业化学绘图的极 致之作 mac/win版

PerkinElmer ChemDraw Pro 2022是一款功能强大的化学绘图软件&#xff0c;专为化学家、科研工作者和教育者设计。这款软件凭借其卓越的性能和丰富的功能&#xff0c;已经成为化学绘图领域的领导者。 PerkinElmer ChemDraw Pro 2022软件获取 ChemDraw Pro 2022提供了广泛的化学…

接口自动化测试用例如何设计,一文搞定!

说到自动化测试&#xff0c;或者说接口自动化测试&#xff0c;多数人的第一反应是该用什么工具&#xff0c;比如&#xff1a;Python Requests、Java HttpClient、Apifox、MeterSphere、自研的自动化平台等。大家似乎更关注的是哪个工具更优秀&#xff0c;甚至出现“ 做平台的 &…

【leetcode】反转链表

大家好&#xff0c;我是苏貝&#xff0c;本篇博客带大家刷题&#xff0c;如果你觉得我写的还不错的话&#xff0c;可以给我一个赞&#x1f44d;吗&#xff0c;感谢❤️ 目录 方法1 .将箭头方向逆转方法2. 点击查看题目 方法1 .将箭头方向逆转 思路&#xff1a; n1,n2,n3分别指…

基于Python3的数据结构与算法 - 06 topk问题

一、引入 问题&#xff1a;目前共有n个数&#xff0c;设计算法得到前k大的数。&#xff08;m<n&#xff09; 解决思路&#xff1a; 排序后切片&#xff1a;O(n*lognm) O(n*logn)排序LowB三人组&#xff1a;O(mn) 例如冒泡排序&#xff0c;交换m次&#xff0c;即可取前m…

通过QScrollArea寻找最后一个弹簧并且设置弹簧大小

项目原因&#xff0c;最近需要通过QScrollArea寻找其中最后一个弹簧并且设置大小和策略&#xff0c;因为无法直接调用UI指针&#xff0c;所以只能用代码寻找。 直接上代码&#xff1a; if (m_scrollArea){int iScrollWidth m_labelSelectedTitle->width();m_scrollArea-&g…

初学HTMLCSS——盒子模型

盒子模型 盒子&#xff1a;页面中所有的元素&#xff08;标签&#xff09;&#xff0c;都可以看做是一个 盒子&#xff0c;由盒子将页面中的元素包含在一个矩形区域内&#xff0c;通过盒子的视角更方便的进行页面布局盒子模型组成&#xff1a;内容区域&#xff08;content&…

linux操作docker

docker地址 官方地址 centos7安装docker 卸载旧版本docker sudo //在前面表示以管理员权限操作yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine安装docker //安装所需资…

力扣:9. 回文数

力扣&#xff1a;9. 回文数 给你一个整数 x &#xff0c;如果 x 是一个回文整数&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 回文数是指正序&#xff08;从左向右&#xff09;和倒序&#xff08;从右向左&#xff09;读都是一样的整数。 例如&#xf…

网络安全Web Hacking 101笔记,2023年最新整理!

在计算机技术如日中天的今天&#xff0c;Web安全问题也接踵而来。但Web安全却“入门简单精通难”&#xff0c;涉及技术非常多且广&#xff0c;学习阻力很大。 为此今天分享一份94页的《Web Hacking 101》笔记&#xff0c;包含Web安全知识&#xff0c;例如HTML注入、XSS、CSRF、…

二分查找讲解

关于我为什么要写单独开一篇文章写二分,实际上那么多困难的算法,比如线段树,并查集等等都没有难倒我,我最近却被二分难倒了,而且是两次,两次在赛场上做不出来二分的应用题,于是我决定写一篇二分查找的算法总结.刚接触算法的时候本来是要写一篇的,但后面因为各种原因搁置了,现在…

前端-DOM树

dom树描述网页元素关系的一个专有名词&#xff0c;如html内包含了head、body&#xff0c;而head内包含meta、title、script等&#xff0c;body内包含div等元素&#xff1b;网页所有内容都在document里面&#xff0c;网页内容以树状形式排列&#xff0c;所以称之为dom树 dom树内…

WebCPM:首个开源的交互式网页搜索中文问答模型

论文题目&#xff1a;WEBCPM: Interactive Web Search for Chinese Long-form Question Answering   论文日期&#xff1a;2023/05/23(ACL 2023)   论文地址&#xff1a;https://arxiv.org/abs/2305.06849   GitHub地址&#xff1a;https://arxiv.org/abs/2305.06849 文章…

ChatGpt 使用fetch-event-source实现sse流式处理

microsoft/fetch-event-source 是一个由微软提供的库&#xff0c;用于在客户端和服务器之间建立基于 EventSource 的连接。EventSource 是一种 HTTP 协议&#xff0c;允许服务器向客户端推送实时事件流。该库提供了对 EventSource 协议的封装&#xff0c;使得在前端 JavaScript…