第一题:破坏mbr表并修复
1.1 备份mbr表
[magedu@localhost ~]$ df
Filesystem 1K-blocks Used Available Use% Mounted on
devtmpfs 369076 0 369076 0% /dev
tmpfs 399696 0 399696 0% /dev/shm
tmpfs 399696 11140 388556 3% /run
tmpfs 399696 0 399696 0% /sys/fs/cgroup
/dev/mapper/cs-root 49160752 5665596 43495156 12% /
/dev/sda1 1038336 248164 790172 24% /boot
/dev/sr0 9373972 9373972 0 100% /run/media/magedu/CentOS-Stream-8-x86_64-dvd
tmpfs 79936 4 79932 1% /run/user/1000
[magedu@localhost ~]$ dd if=/dev/sda1 of=data/sda1.bak bs=512 count=1
dd: failed to open '/dev/sda1': Permission denied
[magedu@localhost ~]$ su -
Password:
[root@localhost ~]# dd if=/dev/sda1 of=data/sda1_mbr.bak bs=512 count=1
1+0 records in
1+0 records out
512 bytes copied, 0.00037253 s, 1.4 MB/s
[root@localhost ~]# ll data/
total 4
-rw-r--r--. 1 root root 512 Jul 10 09:53 sda1_mbr.bak
[root@localhost ~]#
1.2 破坏MBR分区表
[root@localhost ~]# dd if=/dev/zero of=/dev/sda1 bs=512 count=1
1+0 records in
1+0 records out
512 bytes copied, 7.2848e-05 s, 7.0 MB/s
[root@localhost ~]#
1.3救援模式恢复磁盘分区表
image.png
1.4恢复mbr分区表
image.png
1.5 重启系统恢复。
image.png
image.png
1.6 恢复确认
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 361M 0 361M 0% /dev
tmpfs 391M 0 391M 0% /dev/shm
tmpfs 391M 6.3M 384M 2% /run
tmpfs 391M 0 391M 0% /sys/fs/cgroup
/dev/mapper/cs-root 47G 16G 32G 34% /
/dev/sda1 1014M 243M 772M 24% /boot
tmpfs 79M 1.2M 77M 2% /run/user/42
tmpfs 79M 0 79M 0% /run/user/0
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 49G 0 part
├─cs-root 253:0 0 46.9G 0 lvm /
└─cs-swap 253:1 0 2.1G 0 lvm [SWAP]
sdb 8:16 0 20G 0 disk
├─sdb1 8:17 0 1K 0 part
└─sdb5 8:21 0 1G 0 part
sr0 11:0 1 9G 0 rom
[root@localhost ~]#
第二题 总结RAID的各个级别及其组合方式和性能的不同。
2.1 RAID的分类
RAID-0/1/2/5/6/10/01
2.2 RAID-0
- 可实现读写性能的成倍提升。
- 最少需要磁盘数大于等于2块。
- 缺点是无容错能力,无校验数据,一旦数据丢失将得不到恢复。
- 常用于对性能要求高,而对数据的安全性不高的音视频的存储。
2.3 RAID-1
- RAID-1 称为镜像,数据的写入分别写入到工作磁盘和镜像磁盘,磁盘空间利用率为50%。
- 数据的写入性能下降,读性能没有影响。
- 最佳的数据保护,工作磁盘发生故障时,系统自动从镜像磁盘读取数据,不会影响到用户感知。
- 特点是安全性好、技术简单、管理方便。
- 缺点是实现成本高。
2.4 RAID-2
- RAID-2 被称作为纠错海明码磁盘阵列,在原始数据中加入若干校验码来进行错误检测和纠正的编码技术。
- 数据按位存储,数据宽度越大,存储空间的利用率越高,但是同时需要的磁盘数量也越多。
- 数据宽度为4的RAID-2,需要4块数据磁盘和3块校验磁盘。
2.5 RAID-5
- RAID-5的校验数据分布在所有的磁盘阵列,没有采用专用的校验磁盘,不存在并发写操作时校验盘性能瓶颈问题。
- 带分散校验的数据条带。
- 具备良好的扩展性。
- 数据中心大多采用RAID-5作为应用数据的保护方案。
2.6 RAID-6
- 引入双重校验。
- 磁盘阵列中同时出现两个磁盘失效时,不会发生数据丢失。
2.7 RAID01和RAID10
- RAID-01是多块磁盘先实现RAID0,再组合成RAID1
- RAID-10 读写性能提升,每组镜像最多只能块一块,最少磁盘数为4,首先创建2个独立的Raid1,然后将这两个独立的Raid1组成一个Raid0。
主流RAID等级技术对比
image.png
第三题 创建一个2G的文件系统,块大小为2048byte,预留1%可用空间,文件系统 ext4,卷标为TEST,要求此分区开机后自动挂载至/test目录,且默认有acl挂载选项
3.1 创建一个2G的文件系统
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 49G 0 part
├─cs-root 253:0 0 46.9G 0 lvm /
└─cs-swap 253:1 0 2.1G 0 lvm [SWAP]
sdb 8:16 0 20G 0 disk
├─sdb1 8:17 0 1K 0 part
└─sdb5 8:21 0 1G 0 part
sr0 11:0 1 9G 0 rom
[root@localhost ~]# 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
All space for primary partitions is in use.
Adding logical partition 6
First sector (2103296-41943039, default 2103296):
Last sector, +sectors or +size{K,M,G,T,P} (2103296-41943039, default 41943039): +2G
Created a new partition 6 of type 'Linux' and of size 2 GiB.
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
[root@localhost ~]#
3.2 设置块大小为2048byte,预留1%可用空间,文件系统 ext4,卷标为TEST
[root@localhost ~]# mkfs.ext4 -t ext4 -b 2048 -m 1 -L TEST /dev/sdb6
mke2fs 1.45.6 (20-Mar-2020)
Creating filesystem with 1048576 2k blocks and 131072 inodes
Filesystem UUID: b472ea30-6a41-4956-8d82-70c64454db03
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
[root@localhost ~]# blkid /dev/sdb6
/dev/sdb6: LABEL="TEST" UUID="b472ea30-6a41-4956-8d82-70c64454db03" BLOCK_SIZE="2048" TYPE="ext4" PARTUUID="ea0f7
b8b-06"[root@localhost ~]#
# 验证
[root@localhost ~]# tune2fs -l /dev/sdb6
tune2fs 1.45.6 (20-Mar-2020)
Filesystem volume name: TEST
Last mounted on: <not available>
Filesystem UUID: b472ea30-6a41-4956-8d82-70c64454db03
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super
large_file huge_file dir_nlink extra_isize metadata_csumFilesystem flags: signed_directory_hash
Default mount options: user_xattr acl
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 131072
Block count: 1048576
Reserved block count: 10485
Free blocks: 1011035
Free inodes: 131061
First block: 0
Block size: 2048
Fragment size: 2048
Group descriptor size: 64
Reserved GDT blocks: 512
Blocks per group: 16384
Fragments per group: 16384
Inodes per group: 2048
Inode blocks per group: 256
Flex block group size: 16
Filesystem created: Mon Jul 12 11:26:25 2021
Last mount time: n/a
Last write time: Mon Jul 12 11:26:25 2021
Mount count: 0
Maximum mount count: -1
Last checked: Mon Jul 12 11:26:25 2021
Check interval: 0 (<none>)
Lifetime writes: 1058 kB
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 256
Required extra isize: 32
Desired extra isize: 32
Journal inode: 8
Default directory hash: half_md4
Directory Hash Seed: 42b211ab-3927-4c71-bd65-2a34633dbaae
Journal backup: inode blocks
Checksum type: crc32c
Checksum: 0x43e2dd94
3.3 此分区开机后自动挂载至/test目录,且默认有acl挂载选项
3.3.1 将配置写入/etc/fstab
#
# /etc/fstab
# Created by anaconda on Mon May 24 16:48:36 2021
#
# 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/cs-root / xfs defaults 0 0
UUID=76ccc4ba-6504-499d-af17-27d2550ff522 /boot xfs defaults 0 0
/dev/mapper/cs-swap none swap defaults 0 0
UUID="b472ea30-6a41-4956-8d82-70c64454db03" /test ext4 acl 0 0
~
验证挂载情况
[root@localhost /]# mount -a
[root@localhost /]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 361M 0 361M 0% /dev
tmpfs tmpfs 391M 0 391M 0% /dev/shm
tmpfs tmpfs 391M 6.3M 385M 2% /run
tmpfs tmpfs 391M 0 391M 0% /sys/fs/cgroup
/dev/mapper/cs-root xfs 47G 16G 32G 34% /
/dev/sda1 xfs 1014M 243M 772M 24% /boot
tmpfs tmpfs 79M 1.2M 77M 2% /run/user/42
tmpfs tmpfs 79M 0 79M 0% /run/user/0
/dev/sdb6 ext4 2.0G 9.1M 2.0G 1% /test
[root@localhost /]#
第四题 创建一个至少有两个PV组成的大小为20G的名为testvg的VG;要求PE大小 为16MB, 而后在卷组中创建大小为5G的逻辑卷testlv;挂载至/users目录
4.1 准备两块10G硬盘
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 49G 0 part
├─cs-root 253:0 0 46.9G 0 lvm /
└─cs-swap 253:1 0 2.1G 0 lvm [SWAP]
sdb 8:16 0 20G 0 disk
├─sdb1 8:17 0 1K 0 part
├─sdb5 8:21 0 1G 0 part
├─sdb6 8:22 0 2G 0 part /test
└─sdb7 8:23 0 10G 0 part
sdc 8:32 0 20G 0 disk
├─sdc1 8:33 0 1K 0 part
└─sdc2 8:34 0 10G 0 part
sr0 11:0 1 9G 0 rom
4.2 创建pv
[root@localhost ~]# pvcreate /dev/sdb7
Physical volume "/dev/sdb7" successfully created.
[root@localhost ~]# pvcreate /dev/sdc2
Physical volume "/dev/sdc2" successfully created.
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 cs lvm2 a-- <49.00g 0
/dev/sdb7 lvm2 --- 10.00g 10.00g
/dev/sdc2 lvm2 --- <10.00g <10.00g
[root@localhost ~]#
4.3 创建名为testvg的VG;要求PE大小 为16MB。
[root@localhost ~]# vgcreate testvg -s 16M /dev/sdb7 /dev/sdc2
Volume group "testvg" successfully created
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
cs 1 2 0 wz--n- <49.00g 0
testvg 2 0 0 wz--n- <19.97g <19.97g
[root@localhost ~]# 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 IGRG3p-BURO-SNG1-9xGv-TgkL-w7bR-9i4DyN
4.4 创建大小为5G的逻辑卷testlv.
[root@localhost ~]# lvcreate -L 5G -n testlv testvg
Logical volume "testlv" created.
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root cs -wi-ao---- <46.91g
swap cs -wi-ao---- <2.09g
testlv testvg -wi-a----- 5.00g
[root@localhost ~]# lvdisplay /dev/testvg/testlv
--- Logical volume ---
LV Path /dev/testvg/testlv
LV Name testlv
VG Name testvg
LV UUID pV248K-jDoA-OxWA-xNMf-hEoy-1UuM-2zWIR7
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2021-07-12 12:38:34 -0400
LV Status available
# open 0
LV Size 5.00 GiB
Current LE 320
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:2
4.5 挂载至/users目录
[root@localhost ~]# mkfs.ext4 /dev/testvg/testlv
mke2fs 1.45.6 (20-Mar-2020)
Creating filesystem with 1310720 4k blocks and 327680 inodes
Filesystem UUID: 290b4476-59d4-47cc-9336-6cc6c50a455f
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736
Allocating group tables: done
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done
[root@localhost ~]# mkdir /users
[root@localhost ~]# vim /etc/fstab
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# mount -a
[root@localhost ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 361M 0 361M 0% /dev
tmpfs tmpfs 391M 0 391M 0% /dev/shm
tmpfs tmpfs 391M 6.3M 384M 2% /run
tmpfs tmpfs 391M 0 391M 0% /sys/fs/cgroup
/dev/mapper/cs-root xfs 47G 16G 32G 34% /
/dev/sdb6 ext4 2.0G 9.1M 2.0G 1% /test
/dev/sda1 xfs 1014M 243M 772M 24% /boot
tmpfs tmpfs 79M 1.2M 77M 2% /run/user/42
tmpfs tmpfs 79M 0 79M 0% /run/user/0
/dev/mapper/testvg-testlv ext4 4.9G 20M 4.6G 1% /users
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 49G 0 part
├─cs-root 253:0 0 46.9G 0 lvm /
└─cs-swap 253:1 0 2.1G 0 lvm [SWAP]
sdb 8:16 0 20G 0 disk
├─sdb1 8:17 0 1K 0 part
├─sdb5 8:21 0 1G 0 part
├─sdb6 8:22 0 2G 0 part /test
└─sdb7 8:23 0 10G 0 part
└─testvg-testlv 253:2 0 5G 0 lvm /users
sdc 8:32 0 20G 0 disk
├─sdc1 8:33 0 1K 0 part
└─sdc2 8:34 0 10G 0 part
sr0 11:0 1 9G 0 rom
[root@localhost ~]#
第五题 简述osi七层模型和TCP/IP五层模型
5.1 OSI七层模型
osi定义了网络互联的七层模型(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层)
- 物理层(Physical Layer),物理线路、光纤、中继器、集线器、双绞线等物理设备及线路。
实现管理通信设备与网络媒体之间的互联互通。 - 数据链路层(Data Link Layer),以太网、网卡、交换机、arp等。
提供介质访问和链路管理。 - 网络层(Network Layer),主要协议有IP/ICMP/RIP/IGMP/OSPF等。
实现IP选择及路由选择。 - 传输层(Transport Layer),主要协议有TCP /UDP
实现数据通信。 - 会话层(Session Layer),SSL /TLS/DAP/LDAP
创建、管理和维护会话。 - 表示层(Presentation Layer),LPP/NBSSP.
数据的编码、格式的转换和数据的加密 - 应用层(Application Layer),Http\FTP\SMTP\POP3\TELNET\NNTP\IMAP4.
为应用程序或用户提供请求各种各样的服务。
5.2 TCP/IP五层模型
- 物理层:负责广电信号传递。
- 数据链路层:负责各设备间的数据帧的传输和识别,交换机工作在数据链路层。
- 网络层:负责地址管理和路由选择,路由器工作在网络层。
- 传输层:负责主机之间的数据交互。
- 应用层:负责应用程序(APP)之间的沟通,网络编程主要就是针对应用层。
注:传输层和网络层的封装在操作系统完成,应用层的封装在应用程序中完成。
数据链路层和物理层的封装在设备驱动程序和网络接口中完成。