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中的前多少
系统重启界面如下图所示:
磁盘分区表的恢复过程:
出现第一个界面按esc键,选择光盘启动,进入救援模式,重新恢复分区表,恢复完成重启机器即可。
进入救援模式,恢复分区表命令
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 一般适用于对性能要求严格但对数据安全性和可靠性不高的应用,如视频、音频存储、临时数据缓存空间等。
RAID1
RAID1 称为镜像,它将数据完全一致地分别写到工作磁盘和镜像 磁盘,它的磁盘空间利用率为 50% 。 RAID1 在数据写入时,响应时间会有所影响,但是读数据的时候没有影响。 RAID1 提供了最佳的数据保护,一旦工作磁盘发生故障,系统自动从镜像磁盘读取数据,不会影响用户工作。
RAID5
RAID5 的磁盘上同时存储数据和校验数据,数据块和对应的校验信息存保存在不同的磁盘上,当一个数据盘损坏时,系统可以根据同一条带的其他数据块和对应的校验数据来重建损坏的数据。与其他 RAID 等级一样,重建数据时, RAID5 的性能会受到较大的影响。
RAID5 兼顾存储性能、数据安全和存储成本等各方面因素,它可以理解为 RAID0 和 RAID1 的折中方案,是目前综合性能最佳的数据保护解决方案。 RAID5 基本上可以满足大部分的存储应用需求,数据中心大多采用它作为应用数据的保护方案。
RAID10和RAID01
RAID01 是先做条带化再作镜像,本质是对物理磁盘实现镜像;而 RAID10 是先做镜像再作条带化,是对虚拟磁盘实现镜像。相同的配置下,通常 RAID01 比 RAID10 具有更好的容错能力。
RAID01 兼备了 RAID0 和 RAID1 的优点,它先用两块磁盘建立镜像,然后再在镜像内部做条带化。 RAID01 的数据将同时写入到两个磁盘阵列中,如果其中一个阵列损坏,仍可继续工作,保证数据安全性的同时又提高了性能。 RAID01 和 RAID10 内部都含有 RAID1 模式,因此整体磁盘利用率均仅为 50% 。
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