七、磁盘、文件系统

1、破坏mbr表并修复

 #第一步,需要事先备份好MBR分区表,或者从其他服务器获取MBR分区表
 #总共是512bytes,前446bytes是 boot loader;后64bytes是分区表
 #使用dd工具,备份64bytes的分区表,通过scp将备份数据传输到其他服务器
[root@centos8 ~]#dd if=/dev/sda of=/data/dpt.img bs=1 count=64 skip=446
[root@Centos7 data]# hexdump -C dpt.img 

00000000  80 20 21 00 83 35 70 05  00 08 00 00 00 00 40 00  |. !..5p.......@.|
00000010  00 35 71 05 83 fe ff ff  00 08 40 00 00 00 40 06  |.5q.......@...@.|
00000020  00 fe ff ff 82 fe ff ff  00 08 80 06 00 00 40 00  |..............@.|
00000030  00 fe ff ff 05 fe ff ff  00 08 c0 06 00 f8 3f 12  |..............?.|
00000040

[root@Centos7 ~]#scp /data/dpt.img 10.154.119.134:
root@10.154.119.134's password: 
dpt.img                                                               100%   64    44.2KB/s   00:00    
 
 #破坏MBR分区表
 #skip是跳过读取文件的位数,seek是跳过写入文件的位数
[root@centos8 ~]#dd if=/dev/zero of=/dev/sda bs=1 count=64 seek=446
[root@centos8 ~]#reboot


#用光盘启动,进入rescue mode,选第3项skip to shell
#启动之后,发现没有网络,需要配置临时网络
#从远程服务器获取到分区表的备份
sh-4.4#ifconfig ens33 10.154.119.140/24
sh-4.4#scp 10.154.119.134:/root/dpt.img .

#恢复MBR分区表
sh-4.4#dd if=dpt.img of=/dev/sda bs=1 seek=446
sh-4.4#exit

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

1️⃣RAID概念:独立磁盘冗余阵列。多个磁盘合成一个阵列,以此来提供更好的性能、冗余。

常见raid级别统计:

raid级别 组合方式 性能 冗余
raid-0 最少2块磁盘 读写性能提升
raid-1 2N块磁盘 读性能提升、写性能下降 另一块磁盘为复制作用
raid-5 最少3块磁盘 读写性能提升 最多一块磁盘损坏
raid-10 最少4块磁盘 读写性能提升 每组镜像只能坏一块磁盘
raid-01 最少4块磁盘 读写性能提升 安全性差,不建议使用

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

#创建2G的分区
[root@Centos7 ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0xdd10be81.

Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-41943039, default 2048): 
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): +2G
Partition 1 of type Linux and of size 2 GiB is set

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
[root@Centos7 ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  200G  0 disk 
├─sda1   8:1    0    2G  0 part /boot
├─sda2   8:2    0   50G  0 part /data
├─sda3   8:3    0    2G  0 part [SWAP]
├─sda4   8:4    0    1K  0 part 
└─sda5   8:5    0  100G  0 part /
sdb      8:16   0   20G  0 disk 
└─sdb1   8:17   0    2G  0 part 
sr0     11:0    1  4.4G  0 rom  

#新建文件系统并添加属性
[root@Centos7 ~]# mkfs.ext4 -b 2048 -m 1 -L 'test' /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=test
OS type: Linux
Block size=2048 (log=1)
Fragment size=2048 (log=1)
Stride=0 blocks, Stripe width=0 blocks
131072 inodes, 1048576 blocks
10485 blocks (1.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=269484032
64 block groups
16384 blocks per group, 16384 fragments per group
2048 inodes per group
Superblock backups stored on blocks: 
    16384, 49152, 81920, 114688, 147456, 409600, 442368, 802816

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

#查看文件系统的属性
[root@Centos7 ~]# blkid
/dev/sda1: UUID="71afae2d-2416-4c68-8375-e27437e32fa3" TYPE="xfs" 
/dev/sda2: UUID="bb537f14-b824-402e-81c3-63b87a82052a" TYPE="xfs" 
/dev/sda3: UUID="bb38c0b6-b4b3-41b8-96f9-30af2315226c" TYPE="swap" 
/dev/sda5: UUID="3089f417-1bba-4347-8f21-a4581fce760a" TYPE="xfs" 
/dev/sdb1: LABEL="test" UUID="328b2c3a-065f-4ef6-8523-af102f02afd3" TYPE="ext4" 
/dev/sr0: UUID="2020-11-04-11-36-43-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos" 

[root@Centos7 ~]# mkdir /test
[root@Centos7 ~]# mount -a
mount: /etc/fstab: parse error: ignore entry at line 3.
mount: /etc/fstab: parse error: ignore entry at line 4.
mount: /etc/fstab: parse error: ignore entry at line 6.
mount: /etc/fstab: parse error: ignore entry at line 7.

#将分区挂载到指定文件夹
[root@Centos7 ~]# vim /etc/fstab
/etc/fstab
Created by anaconda on Wed Nov 25 10:31:24 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
#
UUID=3089f417-1bba-4347-8f21-a4581fce760a /                       xfs     defaults        0 0
UUID=71afae2d-2416-4c68-8375-e27437e32fa3 /boot                   xfs     defaults        0 0
UUID=bb537f14-b824-402e-81c3-63b87a82052a /data                   xfs     defaults        0 0
UUID=bb38c0b6-b4b3-41b8-96f9-30af2315226c swap                    swap    defaults        0 0
UUID=328b2c3a-065f-4ef6-8523-af102f02afd3 /test                   ext4    acl             0 0

[root@Centos7 ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  200G  0 disk 
├─sda1   8:1    0    2G  0 part /boot
├─sda2   8:2    0   50G  0 part /data
├─sda3   8:3    0    2G  0 part [SWAP]
├─sda4   8:4    0    1K  0 part 
└─sda5   8:5    0  100G  0 part /
sdb      8:16   0   20G  0 disk 
└─sdb1   8:17   0    2G  0 part /test
sr0     11:0    1  4.4G  0 rom 

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

#第一步:创建分区,属性为逻辑卷
[root@Centos7 ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).

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
Select (default p): p
Partition number (2-4, default 2): 
First sector (4196352-41943039, default 4196352): 
Using default value 4196352
Last sector, +sectors or +size{K,M,G} (4196352-41943039, default 41943039): +10G
Partition 2 of type Linux and of size 10 GiB is set

Command (m for help): t
Partition number (1,2, default 2): 2
Hex code (type L to list all codes): 8e
Changed type of partition 'Linux' to 'Linux LVM'

Command (m for help): w
The partition table has been altered!

[root@Centos7 ~]# fdisk /dev/sdc
Welcome to fdisk (util-linux 2.23.2).

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
Select (default p): p
Partition number (1-4, default 1): 
First sector (4196352-41943039, default 4196352): 
Using default value 4196352
Last sector, +sectors or +size{K,M,G} (4196352-41943039, default 41943039): +10G
Partition 2 of type Linux and of size 10 GiB is set

Command (m for help): t
Partition number (1,2, default 2): 2
Hex code (type L to list all codes): 8e
Changed type of partition 'Linux' to 'Linux LVM'

Command (m for help): w
The partition table has been altered!

[root@Centos7 ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  200G  0 disk 
├─sda1   8:1    0    2G  0 part /boot
├─sda2   8:2    0   50G  0 part /data
├─sda3   8:3    0    2G  0 part [SWAP]
├─sda4   8:4    0  512B  0 part 
└─sda5   8:5    0  100G  0 part /
sdb      8:16   0   20G  0 disk 
├─sdb1   8:17   0    2G  0 part /test
└─sdb2   8:18   0   10G  0 part 
sdc      8:32   0   30G  0 disk 
└─sdc1   8:33   0   10G  0 part 
sr0     11:0    1  4.4G  0 rom

#第二步:创建物理卷(pv)
[root@Centos7 ~]# pvcreate /dev/sd{b2,c1}
  Physical volume "/dev/sdb2" successfully created.
  Physical volume "/dev/sdc1" successfully created.
[root@Centos7 ~]# pvs
  PV         VG Fmt  Attr PSize  PFree 
  /dev/sdb2     lvm2 ---  10.00g 10.00g
  /dev/sdc1     lvm2 ---  10.00g 10.00g

#第三步:创建物理卷组 (vg)
[root@Centos7 ~]# vgcreate -s 16M testvg /dev/sd{b2,c1}
  Volume group "testvg" successfully created
[root@Centos7 ~]# vgs
  VG     #PV #LV #SN Attr   VSize   VFree  
  testvg   2   0   0 wz--n- <19.97g <19.97g

#第四步:创建逻辑卷
[root@Centos7 ~]# lvcreate -n testlv -L 5G testvg
  Logical volume "testlv" created.

[root@Centos7 ~]# blkid
/dev/sr0: UUID="2020-11-04-11-36-43-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos" 
/dev/sdb1: LABEL="test" UUID="328b2c3a-065f-4ef6-8523-af102f02afd3" TYPE="ext4" 
/dev/sdb2: UUID="jSJtTC-YIss-VkXv-FNjH-n62y-3OhT-9pBFMN" TYPE="LVM2_member" 
/dev/sdc1: UUID="FMqJay-13AP-zKVy-NNLg-oTEZ-ecln-VvmE6b" TYPE="LVM2_member" 
/dev/sda1: UUID="71afae2d-2416-4c68-8375-e27437e32fa3" TYPE="xfs" 
/dev/sda2: UUID="bb537f14-b824-402e-81c3-63b87a82052a" TYPE="xfs" 
/dev/sda3: UUID="bb38c0b6-b4b3-41b8-96f9-30af2315226c" TYPE="swap" 
/dev/sda5: UUID="3089f417-1bba-4347-8f21-a4581fce760a" TYPE="xfs"

#第五步:创建文件系统
[root@Centos7 ~]# 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=0, sparse=0
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

[root@Centos7 ~]# blkid 
/dev/sr0: UUID="2020-11-04-11-36-43-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos" 
/dev/sdb1: LABEL="test" UUID="328b2c3a-065f-4ef6-8523-af102f02afd3" TYPE="ext4" 
/dev/sdb2: UUID="jSJtTC-YIss-VkXv-FNjH-n62y-3OhT-9pBFMN" TYPE="LVM2_member" 
/dev/sdc1: UUID="FMqJay-13AP-zKVy-NNLg-oTEZ-ecln-VvmE6b" TYPE="LVM2_member" 
/dev/sda1: UUID="71afae2d-2416-4c68-8375-e27437e32fa3" TYPE="xfs" 
/dev/sda2: UUID="bb537f14-b824-402e-81c3-63b87a82052a" TYPE="xfs" 
/dev/sda3: UUID="bb38c0b6-b4b3-41b8-96f9-30af2315226c" TYPE="swap" 
/dev/sda5: UUID="3089f417-1bba-4347-8f21-a4581fce760a" TYPE="xfs" 
/dev/mapper/testvg-testlv: UUID="b093f68c-f893-48e8-8b53-191a98ffa106" TYPE="xfs" 

[root@Centos7 ~]# mkdir /users
[root@Centos7 ~]# vim /etc/fstab 

#
/etc/fstab
Created by anaconda on Wed Nov 25 10:31:24 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
#
UUID=3089f417-1bba-4347-8f21-a4581fce760a /                       xfs     defaults        0 0
UUID=71afae2d-2416-4c68-8375-e27437e32fa3 /boot                   xfs     defaults        0 0
UUID=bb537f14-b824-402e-81c3-63b87a82052a /data                   xfs     defaults        0 0
UUID=bb38c0b6-b4b3-41b8-96f9-30af2315226c swap                    swap    defaults        0 0
UUID=328b2c3a-065f-4ef6-8523-af102f02afd3 /test           ext4    acl             0 0
UUID=b093f68c-f893-48e8-8b53-191a98ffa106 /users          xfs     defaults        0 0



[root@Centos7 ~]# mount -a
mount: /etc/fstab: parse error: ignore entry at line 3.
mount: /etc/fstab: parse error: ignore entry at line 4.
mount: /etc/fstab: parse error: ignore entry at line 6.
mount: /etc/fstab: parse error: ignore entry at line 7.

[root@Centos7 ~]# df
Filesystem                1K-blocks    Used Available Use% Mounted on
devtmpfs                     487084       0    487084   0% /dev
tmpfs                        497852       0    497852   0% /dev/shm
tmpfs                        497852    7836    490016   2% /run
tmpfs                        497852       0    497852   0% /sys/fs/cgroup
/dev/sda5                 104806400 1840400 102966000   2% /
/dev/sda2                  52403200   33000  52370200   1% /data
/dev/sdb1                   1998538    9236   1960140   1% /test
/dev/sda1                   2086912  134324   1952588   7% /boot
tmpfs                         99572       0     99572   0% /run/user/0
/dev/mapper/testvg-testlv   5232640   32992   5199648   1% /users


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容