1. 总结raid 0, 1, 5, 10, 01的工作原理。总结各自的利用率,冗余性,性能,至少几个硬盘实现。
RAID 0
RAID 0又称为Stripe或Striping(条带),在数据读写过程中都是并行执行,所以在所有级别的RAID中,RAID0的速度是最快的。
RAID0既不具备容错功能,也不具备冗余能力,只要有一块磁盘故障,整个RAID数据丢失。
最少需要2块磁盘组成RAID0,1块磁盘也能创建RAID0,但是无实际意义。
可用空间为N块组成阵列磁盘中最小磁盘容量的N倍,若2个500G磁盘组成RAID0,则可用空间为1000GRAID 1
RAID1也称镜像卷(mirror),两组以上的N个磁盘相互作镜像。在一些多线程系统中有很好的读取速度,理论上读取速度的等于硬盘数量
的倍数,与RAID0相同。写入速度有微小的降低。
可用空间为磁盘总容量的一半,若2个500G磁盘组成RAID1,则可用空间为500G
组RAID1时,最少需要2块硬盘,而且必须是2的倍数,读性能好,写性能差,允许坏一块盘,不影响所有数据,磁盘使用率50%。RAID 5
一般企业都是采用raid 5,硬盘数最少需要3块。
数据在硬盘上循环均衡存储,同时读写,读性能高,因为校验机制,写性能相对较差。
磁盘利用率:(n-1)/n,若3个500G磁盘组成RAID5,则可用空间为1000G
冗余功能,允许坏一块盘,不影响所有数据RAID 10
raid 1+ raid 0 (先做镜像,再做条带)
N(偶数,N>=4)
N/2磁盘利用率 (若4块500G盘组RAID10,各两块组RAID 1,再这两个RAID 1组成RAID0,可用空间为1000G)
每个基组中,只能坏一个。
N/2块盘同时写入,N块盘同时读取
性能高,可靠性高RAID 01
raid 0+ raid 1 (先做条带,再做镜像)
一般情况下最少需要4块盘,先各两块盘组成两个RAID0,这两个RAID0互为镜像组成RAID1
N(偶数,N>=4)
N/2磁盘利用率 (若4块500G盘组RAID 01,各两块组RAID 0,再这两个RAID 0组成RAID 1,可用空间为1000G)
所有基组中,只能坏一个。
N/2块盘同时写入,N块盘同时读取
性能高,可靠性相较于RAID10低
RAID独立硬盘冗余阵列,旧称廉价磁盘冗余阵列,简称磁盘阵列。利用虚拟化存储技术把多个硬盘组合起来,成为一个或多个硬盘阵列组,目的为提升性能或数据冗余,或者两者同时提升。
RAID 0工作原理:
如下图所示,如果有一个文件需要写入RAID 0 磁盘阵列,则文件会被分隔为多个部分,D1和D2会被分别同步存入磁盘1和磁盘2,其他部分以此类推,读取该文件时,将同时从磁盘1与磁盘2中读取数据。如果两块磁盘的存储空间均为150G,则RAID 0的总存储空间为300G。
RAID 1工作原理:
如下图所示,如果有一个文件要写入RAID 1 当中,该文件会写入磁盘1,同时以复制的形式写入磁盘2,D1与D2被同时存入磁盘1和磁盘2,其他以此类推。
RAID 5工作原理:
如下图所示,RAID 5 磁盘阵列写入数据时把校验码信息分布到各个磁盘上。例如,总共有N块磁盘,那么会将要写入的数据分成N份,并发的写入到N块磁盘中,同时还将数据的校验码信息Parity也写入到这N块磁盘中(数据与对应的校验码信息必须得分开存储在不同的磁盘上)。“parity”部分存放的就是数据的奇偶校验信息,实际上RAID 5 没有备份磁盘中的真实数据信息,而是当硬盘设备出现问题后通过奇偶校验信息来尝试重建损坏的数据一旦某一块磁盘损坏了,就可以用剩下的数据和对应的奇偶校验码信息去恢复损坏的数据。
RAID 10工作原理:
如下图所示,系统首先创建2个独立的RAID1,然后将这两个独立的RAID1组成一个RAID0,当往这个逻辑Raid中写数据时,数据被有序的以条带的方式写入两个RAID1组合成的RAID 0 中,随后两个独立的RAID 1 又可以实现双磁盘镜像的功能。
RAID 01工作原理:
如下图所示,将数据分成块,然后将这些块分别写入到两个RAID 0阵列中。当需要读取数据时,RAID 01会从两RAID 0阵列中读取数据块,然后将它们组合成完整的数据块。
RAID等级 |
利用率 | 冗余性 |
性能 |
最少硬盘 |
RAID0 |
100% |
没有冗余 |
高 |
1 |
RAID1 |
50% |
可以防止一块硬盘损坏 |
低 |
2 |
RAID5 |
(n-1)% | 允许最多一块硬盘损坏 |
低 |
3 |
RAID10 |
50% |
每组镜像最多只能坏一块,100%数据冗余 |
低 |
4 |
RAID01 | 50% | 仅次于RAID5 | 高 | 4 |
2. 完成对LVM磁盘扩容及缩容示例。
扩容
[12:31:53 root@rocky8 ~]#lvextend -r -l +100%free /dev/testvg/mysql_lv
缩容:#第一步:取消挂载
[13:22:47 root@rocky8 ~]#umount /mysql
#第二步:文件系统检查
[13:28:12 root@rocky8 ~]#fsck -f /dev/testvg/mysql_lv
fsck from util-linux 2.32.1
e2fsck 1.45.6 (20-Mar-2020)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/mapper/testvg-mysql_lv: 15/720896 files (0.0% non-contiguous), 331460/2875392 blocks
#第三步:缩减文件系统到4个G
[13:23:35 root@rocky8 ~]#resize2fs /dev/testvg/mysql_lv 4G
resize2fs 1.45.6 (20-Mar-2020)
Resizing the filesystem on /dev/testvg/mysql_lv to 1048576 (4k) blocks.
The filesystem on /dev/testvg/mysql_lv is now 1048576 (4k) blocks long.
#第四步:缩减逻辑卷
[13:28:54 root@rocky8 ~]#lvreduce -L 4G /dev/testvg/mysql_lv
WARNING: Reducing active logical volume to 4.00 GiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce testvg/mysql_lv? [y/n]: y
Size of logical volume testvg/mysql_lv changed from <10.97 GiB (702 extents) to 4.00 GiB (256 extents).
Logical volume testvg/mysql_lv successfully resized.
#最后一步:挂载
[13:30:06 root@rocky8 ~]#mount -a
mount: (hint) your fstab has been modified, but systemd still uses
the old version; use 'systemctl daemon-reload' to reload.
#若文件系统缩减坏了,可以修复
[13:30:50 root@rocky8 ~]#fsck /dev/testvg/mysql_lv
3. 总结程序包管理器有哪些,以及包中包含什么内容的文件,尝试这些文件如何获取命令获取? yum/dnf/apt总结程序包获取途径,以及rpm, yum, apt命令选项示例。
主流的程序包管理器:
- redhat: rpm文件,rpm 包管理器,rpm: Redhat Package Manager, RPM Package Manager
- debian: deb文件,dpkg 包管理器
软件包需要事先将源码进行编译后打包形成,获取包的途径如下:
- 系统发版的光盘或官方网站:
CentOS 镜像:https://www.centos.org/download/
Ubuntu 镜像:http://cdimage.ubuntu.com/releases/
- 第三方组织提供: