2021-01-08第七周

1、破坏mbr表并修复

破坏分区表过程

#备份分区表,并将其保存复制到另一台机器
[01:16:39  root@base ~]#dd if=/dev/sda of=/data/back.img bs=1 count=64 skip=446
64+0 records in
64+0 records out
64 bytes (64 B) copied, 0.000503843 s, 127 kB/s
[01:17:29  root@base ~]#scp /data/back.img [email protected]:/data
#破坏分区表,并重启机器发现机器无法启动
[01:17:55  root@base ~]#dd if=/dev/zero of=/dev/sda bs=1 count=64 seek=446
64+0 records in
64+0 records out
64 bytes (64 B) copied, 0.000493133 s, 130 kB/s
[01:18:51  root@base ~]#reboot

备注:
    skip是跳过if中的前多少
    seek是跳过of中的前多少

系统重启界面如下图所示:


image-20210108142134242.png

磁盘分区表的恢复过程:
出现第一个界面按esc键,选择光盘启动,进入救援模式,重新恢复分区表,恢复完成重启机器即可。

1.png

image-20210108145140384.png

image-20210108145225239.png

image-20210108145256793.png

image-20210108145454815.png

image-20210108145735983.png

进入救援模式,恢复分区表命令

sh-4.2#ifconfig ens32 192.168.10.21/24
sh-4.2#scp 192.168.10.30:/data/back.img .
sh-4.2#dd if=back.img of=/dev/sda bs=1 count=64 seek=446
sh-4.2#exit

2、常用RAID的各个级别及其组合方式和性能的不同。

RAID的基本介绍:

RAID ( Redundant Array of Independent Disks )即独立磁盘冗余阵列,通常简称为磁盘阵列。简单地说, RAID 是由多个独立的高性能磁盘驱动器组成的磁盘子系统,从而提供比单个磁盘更高的存储性能和数据冗余的技术。 RAID 是一类多磁盘管理技术,其向主机环境提供了成本适中、数据可靠性高的高性能存储。

RAID功能的实现

提高IO能力,磁盘读写并行读写

提高耐用性,磁盘冗余算法来实现

RAID的实现方式

外接式磁盘阵列:通过拓展卡提供适配能力

内接式RAID:主板集成的RAID控制器,安装操作系统是在bios里进行配置

软件RAID:通过操作系统实现,例如:群晖的NAS

RAID的各个级别、组合方式、及其性能:

RAID0

RAID0 是一种简单的、无数据校验的数据条带化技术。实际上不是一种真正的 RAID ,因为它并不提供任何形式的冗余策略。 RAID0 将所在磁盘条带化后组成大容量的存储空间,将数据分散存储在所有磁盘中,以独立访问方式实现多块磁盘的并读访问。由于可以并发执行 I/O 操作,总线带宽得到充分利用。再加上不需要进行数据校验,RAID0 的性能在所有 RAID 等级中是最高的。理论上讲,一个由 n 块磁盘组成的 RAID0 ,它的读写性能是单个磁盘性能的 n 倍,但由于总线带宽等多种因素的限制,实际的性能提升低于理论值。
RAID0 具有低成本、高读写性能、 100% 的高存储空间利用率等优点,但是它不提供数据冗余保护,一旦数据损坏,将无法恢复。 因此, RAID0 一般适用于对性能要求严格但对数据安全性和可靠性不高的应用,如视频、音频存储、临时数据缓存空间等。

image-20210108193916682.png

RAID1

RAID1 称为镜像,它将数据完全一致地分别写到工作磁盘和镜像 磁盘,它的磁盘空间利用率为 50% 。 RAID1 在数据写入时,响应时间会有所影响,但是读数据的时候没有影响。 RAID1 提供了最佳的数据保护,一旦工作磁盘发生故障,系统自动从镜像磁盘读取数据,不会影响用户工作。

image-20210108193939851.png

RAID5

RAID5 的磁盘上同时存储数据和校验数据,数据块和对应的校验信息存保存在不同的磁盘上,当一个数据盘损坏时,系统可以根据同一条带的其他数据块和对应的校验数据来重建损坏的数据。与其他 RAID 等级一样,重建数据时, RAID5 的性能会受到较大的影响。
RAID5 兼顾存储性能、数据安全和存储成本等各方面因素,它可以理解为 RAID0 和 RAID1 的折中方案,是目前综合性能最佳的数据保护解决方案。 RAID5 基本上可以满足大部分的存储应用需求,数据中心大多采用它作为应用数据的保护方案。


image-20210108194135050.png

RAID10和RAID01

RAID01 是先做条带化再作镜像,本质是对物理磁盘实现镜像;而 RAID10 是先做镜像再作条带化,是对虚拟磁盘实现镜像。相同的配置下,通常 RAID01 比 RAID10 具有更好的容错能力。
RAID01 兼备了 RAID0 和 RAID1 的优点,它先用两块磁盘建立镜像,然后再在镜像内部做条带化。 RAID01 的数据将同时写入到两个磁盘阵列中,如果其中一个阵列损坏,仍可继续工作,保证数据安全性的同时又提高了性能。 RAID01 和 RAID10 内部都含有 RAID1 模式,因此整体磁盘利用率均仅为 50% 。


image-20210108194354891.png

3、创建一个2G的文件系统,块大小为2048byte,预留1%可用空间,文件系统 ext4,卷标为TEST,要求此分区开机后自动挂载至/test目录,且默认有acl挂载选项

[03:50:09  root@centos8 data]#lsblk 
NAME                        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                           8:0    0   20G  0 disk 
├─sda1                        8:1    0    1G  0 part /boot
└─sda2                        8:2    0   19G  0 part 
  ├─cl-root                 253:0    0   17G  0 lvm  /
  └─cl-swap                 253:1    0    2G  0 lvm  [SWAP]
sdb                           8:16   0   10G  0 disk 
└─sdb1                        8:17   0    1G  0 part 
  └─vg_newcreate-lv_newdata 253:2    0  500M  0 lvm  
sdc                           8:32   0   10G  0 disk 
sr0                          11:0    1    7G  0 rom  
#创建一个2G的磁盘分区  
[03:50:17  root@centos8 data]#fdisk /dev/sdb

Welcome to fdisk (util-linux 2.32.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): n
Partition type
   p   primary (1 primary, 0 extended, 3 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (2-4, default 2): 
First sector (2099200-20971519, default 2099200): 
Last sector, +sectors or +size{K,M,G,T,P} (2099200-20971519, default 20971519): +2G

Created a new partition 2 of type 'Linux' and of size 2 GiB.

Command (m for help): p
Disk /dev/sdb: 10 GiB, 10737418240 bytes, 20971520 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xc32c7ace

Device     Boot   Start     End Sectors Size Id Type
/dev/sdb1          2048 2099199 2097152   1G 8e Linux LVM
/dev/sdb2       2099200 6293503 4194304   2G 83 Linux

Command (m for help): w
The partition table has been altered.
Syncing disks.
#查看新分的磁盘分区
[03:51:23  root@centos8 data]#lsblk 
NAME                        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                           8:0    0   20G  0 disk 
├─sda1                        8:1    0    1G  0 part /boot
└─sda2                        8:2    0   19G  0 part 
  ├─cl-root                 253:0    0   17G  0 lvm  /
  └─cl-swap                 253:1    0    2G  0 lvm  [SWAP]
sdb                           8:16   0   10G  0 disk 
├─sdb1                        8:17   0    1G  0 part 
│ └─vg_newcreate-lv_newdata 253:2    0  500M  0 lvm  
└─sdb2                        8:18   0    2G  0 part 
sdc                           8:32   0   10G  0 disk 
sr0                          11:0    1    7G  0 rom  
#创建文件系统
[04:21:01  root@centos8 ~]#mkfs.ext4 -b 2048 -m 1 -L test /dev/sdb2
mke2fs 1.45.4 (23-Sep-2019)
Creating filesystem with 1048576 2k blocks and 131072 inodes
Filesystem UUID: caaf4fa8-26ce-44ac-95c8-4e8def00d2a3
Superblock backups stored on blocks: 
    16384, 49152, 81920, 114688, 147456, 409600, 442368, 802816

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done 

[04:23:11  root@centos8 ~]#blkid /dev/sdb2
/dev/sdb2: LABEL="test" UUID="caaf4fa8-26ce-44ac-95c8-4e8def00d2a3" TYPE="ext4" PARTUUID="c32c7ace-02"
#创建所需挂载目录,并实现开机自动挂载
[04:04:45  root@centos8 ~]#mkdir /test
[04:28:44  root@centos8 ~]#vim /etc/fstab 

#
# /etc/fstab
# Created by anaconda on Tue Nov 24 05:16:11 2020
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
/dev/mapper/cl-root     /                       xfs     defaults         0 0
UUID=8f1e488e-af1d-4ec3-a520-2caca256fcc1 /boot                   ext4    defaults        1 2
/dev/mapper/cl-swap     swap                    swap    defaults             0 0
UUID=caaf4fa8-26ce-44ac-95c8-4e8def00d2a3 /test ext4    defaults             0 0  
[04:28:35  root@centos8 ~]#mount -a
[04:28:39  root@centos8 ~]#lsblk 
NAME                        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                           8:0    0   20G  0 disk 
├─sda1                        8:1    0    1G  0 part /boot
└─sda2                        8:2    0   19G  0 part 
  ├─cl-root                 253:0    0   17G  0 lvm  /
  └─cl-swap                 253:1    0    2G  0 lvm  [SWAP]
sdb                           8:16   0   10G  0 disk 
├─sdb1                        8:17   0    1G  0 part 
│ └─vg_newcreate-lv_newdata 253:2    0  500M  0 lvm  
└─sdb2                        8:18   0    2G  0 part /test
sdc                           8:32   0   10G  0 disk 
sr0                          11:0    1    7G  0 rom 

4、创建一个至少有两个PV组成的大小为20G的名为testvg的VG;要求PE大小 为16MB, 而后在卷组中创建大小为5G的逻辑卷testlv;挂载至/users目录。

#开机加磁盘不用重启可以发现磁盘的方法
[04:38:41  root@centos8 ~]#echo '- - -' > /sys/class/scsi_host/host0/scan 
[04:38:46  root@centos8 ~]#lsblk 
NAME                        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                           8:0    0   20G  0 disk 
├─sda1                        8:1    0    1G  0 part /boot
└─sda2                        8:2    0   19G  0 part 
  ├─cl-root                 253:0    0   17G  0 lvm  /
  └─cl-swap                 253:1    0    2G  0 lvm  [SWAP]
sdb                           8:16   0   10G  0 disk 
├─sdb1                        8:17   0    1G  0 part 
│ └─vg_newcreate-lv_newdata 253:2    0  500M  0 lvm  
└─sdb2                        8:18   0    2G  0 part /test
sdc                           8:32   0   10G  0 disk 
sdd                           8:48   0   10G  0 disk 
sr0                          11:0    1    7G  0 rom  
#创建物理卷
[04:56:48  root@centos8 ~]#pvcreate /dev/sdc
  Physical volume "/dev/sdc" successfully created.
[04:56:59  root@centos8 ~]#pvcreate /dev/sdd
  Physical volume "/dev/sdd" successfully created.
[04:57:01  root@centos8 ~]#pvs
  PV         VG           Fmt  Attr PSize    PFree  
  /dev/sda2  cl           lvm2 a--   <19.00g      0 
  /dev/sdb1  vg_newcreate lvm2 a--  1020.00m 520.00m
  /dev/sdc                lvm2 ---    10.00g  10.00g
  /dev/sdd                lvm2 ---    10.00g  10.00g
#创建卷组
[04:57:06  root@centos8 ~]#vgcreate -s 16M testvg /dev/sdc /dev/sdd
  Volume group "testvg" successfully created
[04:58:38  root@centos8 ~]#vgs
  VG           #PV #LV #SN Attr   VSize    VFree  
  cl             1   2   0 wz--n-  <19.00g      0 
  testvg         2   0   0 wz--n-  <19.97g <19.97g
  vg_newcreate   1   1   0 wz--n- 1020.00m 520.00m
[04:58:42  root@centos8 ~]#vgdisplay  testvg 
  --- Volume group ---
  VG Name               testvg
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               <19.97 GiB
  PE Size               16.00 MiB
  Total PE              1278
  Alloc PE / Size       0 / 0   
  Free  PE / Size       1278 / <19.97 GiB
  VG UUID               PNvzpd-P2Xe-u8sd-Ia82-NYuM-w58x-1iPaET
#创建逻辑卷
[05:00:05  root@centos8 ~]#lvcreate -n testlv -L 5G testvg 
  Logical volume "testlv" created.
[05:00:48  root@centos8 ~]#lvs
  LV         VG           Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root       cl           -wi-ao---- <17.00g                                                    
  swap       cl           -wi-ao----   2.00g                                                    
  testlv     testvg       -wi-a-----   5.00g                                                    
  lv_newdata vg_newcreate -wi-a----- 500.00m  
#格式化逻辑卷,并将其临时挂载到/users目录下
[05:00:53  root@centos8 ~]#mkfs.xfs /dev/testvg/testlv 
meta-data=/dev/testvg/testlv     isize=512    agcount=4, agsize=327680 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1
data     =                       bsize=4096   blocks=1310720, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[05:02:29  root@centos8 ~]#mkdir /users
[05:04:12  root@centos8 ~]#mount /dev/testvg/testlv /users
[05:04:50  root@centos8 ~]#df -h
Filesystem                 Size  Used Avail Use% Mounted on
devtmpfs                   382M     0  382M   0% /dev
tmpfs                      399M     0  399M   0% /dev/shm
tmpfs                      399M  5.6M  393M   2% /run
tmpfs                      399M     0  399M   0% /sys/fs/cgroup
/dev/mapper/cl-root         17G  8.4G  8.7G  50% /
/dev/sda1                  976M  136M  774M  15% /boot
tmpfs                       80M     0   80M   0% /run/user/0
/dev/sdb2                  2.0G  9.1M  2.0G   1% /test
/dev/mapper/testvg-testlv  5.0G   68M  5.0G   2% /users

你可能感兴趣的:(2021-01-08第七周)