成功的个人网站/北京网站优化实战
物理设备的命名规则
在linux系统中一切都是文件,硬件设备也不例外。即然是文件,就必须有文件名称。系统内核中的udev设备管理器会自动把硬件名称规范起来,目的是让用户通过设备文件的名字可以看出设备大致的属性以及分区信息等;在linux中常见的设备文件都存放/dev目录下。下表所显示的就是Linux系统中常见的硬件设备的文件名称:
注意:目前IDE设备已经很少见,所以一般硬盘设备都会以“/dev/sd”开头。除linux中可用/dev/sd[a-z]来表示可以有多块硬盘以外,每块硬盘的分区也是有所区分,硬盘编号也是大有讲究的
在电脑系统中,我们的硬盘可以分为主分区、扩散分区、逻辑分区,linux系统也给我们不同的分区也定义了从不同的编号开始,如:主分区或扩展分区的编号是从1开始,以4结束;逻辑分区的编号是从5号开始。
Linux系统支持数十种的文件系统,而最常见的文件系统如下所示:
添加硬盘
第一步:将虚拟机关机,然后单击“编辑虚拟机设置”选项,在弹出的界面中单击“添加”按钮,新增一块硬件设备,如图
第二步:选择虚拟硬盘的类型为SATA,并单击“下一步”按钮,
第三步:将新硬盘添加好以后就可以看到设备信息,这里不需要做任何修改,直接单击“确定”按钮后可启动虚拟机。
第四步:当硬盘添加完成以后,在/dev目录下会多一个sdb的文件,查看命令:ls /dev/sdb
硬盘分区
注意:硬盘添加完成后,此时硬盘并不能正式使用,如果想正式使用,还需要对添加过的硬盘进行分区即可使用。
硬盘分区命令:fdisk
作用:新建、修改及删除磁盘的分区表信息;
语法格式:fdisk [参数] [磁盘名称]
常用参数:
示例
第1步:用fdisk命令来管理新添加的硬盘,然后使用p参数查看分区表信息
第2步:输入参数n尝试添加新的分区。选择要创建主分区或扩展分区(p主分区,e扩展分区),输入参数p来创建一个主分区;
第3步:确认完要创建的分区后,添加主分区的编号,确认分区表的扇区位置,按回车键保存信息;定义分区的大小,不需要大家计算扇区,只需要输入大小即可,如+5GB即可添加个5GB的硬盘分区;
第4步:再次查看硬盘分区情况,大家即可以看到一个名称为/dev/sdb1、起始扇区位置为2048、结束为10487807的主分区。大家不要以为这个时候就结束直接关闭软件,而是需要保存后,分区信息才会保存;
[root@localhost 0913]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。Device does not contain a recognized partition table
使用磁盘标识符 0x418e148f 创建新的 DOS 磁盘标签。命令(输入 m 获取帮助):p磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x418e148f设备 Boot Start End Blocks Id System命令(输入 m 获取帮助):n
Partition type:p primary (0 primary, 0 extended, 4 free)e extended
Select (default p): p
分区号 (1-4,默认 1):1
起始 扇区 (2048-41943039,默认为 2048):2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+5G
分区 1 已设置为 Linux 类型,大小设为 5 GiB命令(输入 m 获取帮助):p磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x418e148f设备 Boot Start End Blocks Id System
/dev/sdb1 2048 10487807 5242880 83 Linux命令(输入 m 获取帮助):w
The partition table has been altered!Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@localhost 0913]#
使用file命令查看:
此时我们并不能使用该硬盘分区,因为该设备还没有进行格式化,所以系统无法得知怎么在其上写入数据,这时就需要对存储设备进行格式分操作,linux系统中用于格式化的操作命令是mkfs。
硬盘格式化命令:mkfs
语法:mkfs [参数] [硬盘文件名称] mkfs 系统格式 参数 分区名称
参数:-f ,强制格式化硬盘分区
案例:对/dev/sdb1硬盘文件进行格式化
设备挂载与解挂
挂载指的是把需要使用的硬盘设备或分区的数据时,需要先将其与一个普通文件目录进行关联,而这个关联动作就是“挂载”。
案例: 将/dev/sdb1设备文件挂载到/dev/md1目录下
第1步:查看根目录下是否存/dev/md1目录
第2步:创建/dev/md1目录文件
第3步:实现设备挂载
df命令:
作用:设备挂载完成后,可以通过df命令来查看设备文件挂载状态和硬盘使用信息。
语法:df [参数] [指定文件]
常用参数:
案例:查看/dev/sdb1设备文件的挂载状态
使用mount命令进行文件挂载的时候,会出现一个问题,即使用mount命令挂载的设备文件会在系统下一次重启的时候失效,如果想让这个设备文件的挂载永久有效,则需要把挂载的信息写入到配置文件中:/etc/fstab文件
umount命令:
作用:用于卸载设备或文件系统
语法:umount [设备文件/挂载目录]
常见参数:
案例: 将/dev/sdb1设备文件与/dev/md1文件卸载。
软硬连接
软硬方链接就是一个快捷方式。
在windows系统中,快捷方式就是指向原始文件的一个链接文件,可以让用户从不同的位置来访问原始的文件;原文件一旦被删除或移动到其他地方之后,会导致链接文件的失效。但是在linux系统中的快捷方式与windows有所不同。
在linux系统中链接方式有两种软链接和硬链接两种不同类型。
软链接(symbolic link):也叫符号链接,仅仅包含所链接文件的名称和路径,像个记录地址的标签。当原始文件被删除或移动之,新的链接也会随之失效,不能被访问,可以对文件、目录做软件链接。
硬链接(hard link):可以将它理解为一个“指向原始文件block的指针”,系统会创建出一个与原来一模一样的inode信息块。所以,硬链接文件与原始文件其实是一模一样的,只是名字不同。每添加一个一个硬连接,该文件的inode个数就会增加1;而且只有当该文件的inode个数为0时,才算彻底将它删除。换言之,由于硬链接实际上是指向原文件block的指针,因此即便原始文件被删除、移动,依然可以通过硬链接文件来访问 。但是需要注意的是,硬链接不能实现跨分区对目录文件进行硬链接。
ln命令
作用:用于创建文件的软硬链接
语法:ln [参数] 原始文件 链接文件
常用参数:
案例:创建一个软链接文件。
[root@localhost ~]# touch 1.txt
[root@localhost ~]# vim 1.txt
[root@localhost ~]# ln -s 1.txt 2.txt
[root@localhost ~]# cat 1.txt
Welcome to Linux System!
Welcome to Linux System!
Welcome to Linux System!
Welcome to Linux System![root@localhost ~]# cat 2.txt
Welcome to Linux System!
Welcome to Linux System!
Welcome to Linux System!
Welcome to Linux System![root@localhost ~]# ls -l 1.txt
-rw-r--r-- 1 root root 101 9月 15 08:51 1.txt
[root@localhost ~]# ls -l 2.txt
lrwxrwxrwx 1 root root 5 9月 15 08:51 2.txt -> 1.txt
[root@localhost ~]# rm -rf 1.txt
[root@localhost ~]# cat 2.txt
cat: 2.txt: 没有那个文件或目录
[root@localhost ~]#
案例:创建一个硬件链接
[root@localhost ~]# vim a.txt
[root@localhost ~]# ln a.txt b.txt
[root@localhost ~]# cat a.txt
This is hard link file!
This is hard link file!
This is hard link file!
This is hard link file!
[root@localhost ~]# ll a.txt
-rw-r--r-- 2 root root 96 9月 15 08:57 a.txt
[root@localhost ~]# ll b.txt
-rw-r--r-- 2 root root 96 9月 15 08:57 b.txt
[root@localhost ~]# rm -rf a.txt
[root@localhost ~]# cat b.txt
This is hard link file!
This is hard link file!
This is hard link file!
This is hard link file!
[root@localhost ~]# ll b.txt
-rw-r--r-- 1 root root 96 9月 15 08:57 b.txt
[root@localhost ~]#
lsblk:列出所有可用块设备信息
语法:lsblk 参数 指定设备块文件
参数:-V,查看版本信息
-a,列出所有块设备
-S,查看SCSI信息
-f,查看文件类型及UUID信息
-p,查看块设备的完整路径
-lp,以列表块显示块设备
磁盘阵列
概念:磁盘阵列(Redundant Arrays of Independent Disks,RAID),有"数块独立磁盘构成具有冗余能力的阵列”之意。磁盘阵列是由很多块独立的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上。
实现方式:
优点:提高传输速率;通过数据校验提供容错功能;
缺点: RAID0没有冗余功能,一个磁盘损坏,所有数据无法使用;RAID1磁盘利用率低,最高只能达到50%。
功能:
1、通过对磁盘上的数据进行条带化,实现对数据成块存取,减少磁盘的机械寻道时间,提高了数据存取速度;
2、通过对一个阵列中的几个块磁盘同时读取,减少了磁盘的机械寻道时间,提高数据存取速度;
3、通过镜像或者存储奇偶校验信息的方式,实现了对数据的冗余保护;
RAID 0
带区集 原理是将类似于显示器隔行扫描,将数据分割成不同条带分散写入到所有硬盘中同时进行读写,也就是多磁盘并行操作使同一时间内磁盘读写的速度提升快。
需要2块及以上硬盘数量
特点:读写速度快,磁盘利用率高;一旦一块磁盘损坏,所有数据都将丢失;
RAID 1
磁盘镜像,原理是把一个磁盘的数据镜像到另一个磁盘上;需要2块及以上硬盘数量。
特点: 利用率低,只有50%的利用率;会产生数据镜像,提高了数据的安全性;
RAID 0+1
是RAID0和RAID1的结合体,至少需要4块硬盘
RAID 5
分布式奇偶校验的独立磁盘,需要3块及以上硬盘数量
特点:奇偶校验,会将校验内容放在不同的盘符上,数据安全性高;数据传输速度慢;
RAID 10
概念:用来创建、删除、修改RAID磁盘,高可靠与高效磁盘结构 原理是将一个带匿名结构和一个镜像结构结合起来。
语法:mdadm 参数 RAID级别 组成RAID的磁盘
参数:
创建 RAID 0
创建 RAID1
创建 RAID5
创建RAID10
创建RAID50
Lvm
1、创建一个RAID10磁盘阵列,并模拟磁盘损坏及修复过程,并移除损坏的硬盘;
[root@localhost ~]# 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 ├─centos-root 253:0 0 17G 0 lvm /└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 10G 0 disk
sdc 8:32 0 10G 0 disk
sr0 11:0 1 1024M 0 rom
[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。Device does not contain a recognized partition table
使用磁盘标识符 0x7674ebc7 创建新的 DOS 磁盘标签。命令(输入 m 获取帮助):n
Partition type:p primary (0 primary, 0 extended, 4 free)e extended
Select (default p): p
分区号 (1-4,默认 1):1
起始 扇区 (2048-20971519,默认为 2048):2048
Last 扇区, +扇区 or +size{K,M,G} (2048-20971519,默认为 20971519):+5G
分区 1 已设置为 Linux 类型,大小设为 5 GiB命令(输入 m 获取帮助):n
Partition type:p primary (1 primary, 0 extended, 3 free)e extended
Select (default p): p
分区号 (2-4,默认 2):2
起始 扇区 (10487808-20971519,默认为 10487808):10487808
Last 扇区, +扇区 or +size{K,M,G} (10487808-20971519,默认为 20971519):+5G
值超出范围。
Last 扇区, +扇区 or +size{K,M,G} (10487808-20971519,默认为 20971519):20971519
分区 2 已设置为 Linux 类型,大小设为 5 GiB命令(输入 m 获取帮助):w
The partition table has been altered!Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@localhost ~]# 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 ├─centos-root 253:0 0 17G 0 lvm /└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 10G 0 disk
├─sdb1 8:17 0 5G 0 part
└─sdb2 8:18 0 5G 0 part
sdc 8:32 0 10G 0 disk
sr0 11:0 1 1024M 0 rom
[root@localhost ~]# fdisk /dev/sdc
欢迎使用 fdisk (util-linux 2.23.2)。更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。Device does not contain a recognized partition table
使用磁盘标识符 0xb2a4a3f1 创建新的 DOS 磁盘标签。命令(输入 m 获取帮助):n
Partition type:p primary (0 primary, 0 extended, 4 free)e extended
Select (default p): p
分区号 (1-4,默认 1):1
起始 扇区 (2048-20971519,默认为 2048):2048
Last 扇区, +扇区 or +size{K,M,G} (2048-20971519,默认为 20971519):+5G
分区 1 已设置为 Linux 类型,大小设为 5 GiB命令(输入 m 获取帮助):n
Partition type:p primary (1 primary, 0 extended, 3 free)e extended
Select (default p): p
分区号 (2-4,默认 2):2
起始 扇区 (10487808-20971519,默认为 10487808):10487808
Last 扇区, +扇区 or +size{K,M,G} (10487808-20971519,默认为 20971519):20971519
分区 2 已设置为 Linux 类型,大小设为 5 GiB命令(输入 m 获取帮助):w
The partition table has been altered!Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@localhost ~]# 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 ├─centos-root 253:0 0 17G 0 lvm /└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 10G 0 disk
├─sdb1 8:17 0 5G 0 part
└─sdb2 8:18 0 5G 0 part
sdc 8:32 0 10G 0 disk
├─sdc1 8:33 0 5G 0 part
└─sdc2 8:34 0 5G 0 part
sr0 11:0 1 1024M 0 rom
[root@localhost ~]# mdadm -Cv /dev/md1 -l 1 -n 2 /dev/sdb{1,2}
mdadm: Note: this array has metadata at the start andmay not be suitable as a boot device. If you plan tostore '/boot' on this device please ensure thatyour boot-loader understands md/v1.x metadata, or use--metadata=0.90
mdadm: size set to 5235712K
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md1 started.
[root@localhost ~]# mdadm -D /dev/md1
/dev/md1:Version : 1.2Creation Time : Thu Aug 17 10:58:52 2023Raid Level : raid1Array Size : 5235712 (4.99 GiB 5.36 GB)Used Dev Size : 5235712 (4.99 GiB 5.36 GB)Raid Devices : 2Total Devices : 2Persistence : Superblock is persistentUpdate Time : Thu Aug 17 10:59:18 2023State : clean Active Devices : 2Working Devices : 2Failed Devices : 0Spare Devices : 0Consistency Policy : resyncName : localhost.localdomain:1 (local to host localhost.localdomain)UUID : ca9f649f:4487feda:d3d9dcd5:6f3c1468Events : 17Number Major Minor RaidDevice State0 8 17 0 active sync /dev/sdb11 8 18 1 active sync /dev/sdb2
[root@localhost ~]# mdadm -Cv /dev/md2 -l 1 -n 2 /dev/sdc{1,2}
mdadm: Note: this array has metadata at the start andmay not be suitable as a boot device. If you plan tostore '/boot' on this device please ensure thatyour boot-loader understands md/v1.x metadata, or use--metadata=0.90
mdadm: size set to 5236736K
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md2 started.
[root@localhost ~]# ls /dev/md*
/dev/md1 /dev/md2
[root@localhost ~]# mdadm -Cv /dev/md10 -l 0 -n 2 /dev/md{1,2}
mdadm: chunk size defaults to 512K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md10 started.
[root@localhost ~]# ls /dev/md*
/dev/md1 /dev/md10 /dev/md2
[root@localhost ~]# mkfs.xfs /dev/md10
meta-data=/dev/md10 isize=512 agcount=16, agsize=163456 blks= sectsz=512 attr=2, projid32bit=1= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=2615296, imaxpct=25= sunit=128 swidth=256 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2= sectsz=512 sunit=8 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@localhost ~]# mkdir /raid10
[root@localhost ~]# mount /dev/md10 /raid10
[root@localhost ~]# cd /raid10/
[root@localhost raid10]# echo "rai0)+raid1" > 123.txt
[root@localhost raid10]# ll
总用量 4
-rw-r--r--. 1 root root 12 8月 17 11:41 123.txt
[root@localhost raid10]# cat 123.txt
rai0)+raid1
[root@localhost raid10]# mdadm -f /dev/md1 /dev/sdb1
mdadm: set /dev/sdb1 faulty in /dev/md1
[root@localhost raid10]# cat 123.txt
rai0)+raid1
[root@localhost raid10]# mdadm -D /dev/md1
/dev/md1:Version : 1.2Creation Time : Thu Aug 17 10:58:52 2023Raid Level : raid1Array Size : 5235712 (4.99 GiB 5.36 GB)Used Dev Size : 5235712 (4.99 GiB 5.36 GB)Raid Devices : 2Total Devices : 2Persistence : Superblock is persistentUpdate Time : Thu Aug 17 11:42:01 2023State : clean, degraded Active Devices : 1Working Devices : 1Failed Devices : 1Spare Devices : 0Consistency Policy : resyncName : localhost.localdomain:1 (local to host localhost.localdomain)UUID : ca9f649f:4487feda:d3d9dcd5:6f3c1468Events : 21Number Major Minor RaidDevice State- 0 0 0 removed1 8 18 1 active sync /dev/sdb20 8 17 - faulty /dev/sdb1
[root@localhost raid10]# mdadm -D /dev/md10
/dev/md10:Version : 1.2Creation Time : Thu Aug 17 11:33:47 2023Raid Level : raid0Array Size : 10462208 (9.98 GiB 10.71 GB)Raid Devices : 2Total Devices : 2Persistence : Superblock is persistentUpdate Time : Thu Aug 17 11:33:47 2023State : clean Active Devices : 2Working Devices : 2Failed Devices : 0Spare Devices : 0Chunk Size : 512KConsistency Policy : noneName : localhost.localdomain:10 (local to host localhost.localdomain)UUID : bf9efbc6:1a5d420e:aa9104f1:8a72649bEvents : 0Number Major Minor RaidDevice State0 9 1 0 active sync /dev/md11 9 2 1 active sync /dev/md2
[root@localhost raid10]# mdadm -r /dev/md1 /dev/sdb1
mdadm: hot removed /dev/sdb1 from /dev/md1
[root@localhost raid10]# mdadm -D /dev/md1
/dev/md1:Version : 1.2Creation Time : Thu Aug 17 10:58:52 2023Raid Level : raid1Array Size : 5235712 (4.99 GiB 5.36 GB)Used Dev Size : 5235712 (4.99 GiB 5.36 GB)Raid Devices : 2Total Devices : 1Persistence : Superblock is persistentUpdate Time : Thu Aug 17 11:43:01 2023State : clean, degraded Active Devices : 1Working Devices : 1Failed Devices : 0Spare Devices : 0Consistency Policy : resyncName : localhost.localdomain:1 (local to host localhost.localdomain)UUID : ca9f649f:4487feda:d3d9dcd5:6f3c1468Events : 26Number Major Minor RaidDevice State- 0 0 0 removed1 8 18 1 active sync /dev/sdb2
[root@localhost raid10]# mdadm -a /dev/md1 /dev/sdb1
mdadm: added /dev/sdb1
[root@localhost raid10]# mdadm -D /dev/md1
/dev/md1:Version : 1.2Creation Time : Thu Aug 17 10:58:52 2023Raid Level : raid1Array Size : 5235712 (4.99 GiB 5.36 GB)Used Dev Size : 5235712 (4.99 GiB 5.36 GB)Raid Devices : 2Total Devices : 2Persistence : Superblock is persistentUpdate Time : Thu Aug 17 11:43:41 2023State : clean, degraded, recovering Active Devices : 1Working Devices : 2Failed Devices : 0Spare Devices : 1Consistency Policy : resyncRebuild Status : 42% completeName : localhost.localdomain:1 (local to host localhost.localdomain)UUID : ca9f649f:4487feda:d3d9dcd5:6f3c1468Events : 36Number Major Minor RaidDevice State2 8 17 0 spare rebuilding /dev/sdb11 8 18 1 active sync /dev/sdb2
[root@localhost raid10]# mdadm -D /dev/md1
/dev/md1:Version : 1.2Creation Time : Thu Aug 17 10:58:52 2023Raid Level : raid1Array Size : 5235712 (4.99 GiB 5.36 GB)Used Dev Size : 5235712 (4.99 GiB 5.36 GB)Raid Devices : 2Total Devices : 2Persistence : Superblock is persistentUpdate Time : Thu Aug 17 11:43:51 2023State : clean, degraded, recovering Active Devices : 1Working Devices : 2Failed Devices : 0Spare Devices : 1Consistency Policy : resyncRebuild Status : 80% completeName : localhost.localdomain:1 (local to host localhost.localdomain)UUID : ca9f649f:4487feda:d3d9dcd5:6f3c1468Events : 42Number Major Minor RaidDevice State2 8 17 0 spare rebuilding /dev/sdb11 8 18 1 active sync /dev/sdb2
[root@localhost raid10]# mdadm -D /dev/md1
/dev/md1:Version : 1.2Creation Time : Thu Aug 17 10:58:52 2023Raid Level : raid1Array Size : 5235712 (4.99 GiB 5.36 GB)Used Dev Size : 5235712 (4.99 GiB 5.36 GB)Raid Devices : 2Total Devices : 2Persistence : Superblock is persistentUpdate Time : Thu Aug 17 11:43:57 2023State : clean Active Devices : 2Working Devices : 2Failed Devices : 0Spare Devices : 0Consistency Policy : resyncName : localhost.localdomain:1 (local to host localhost.localdomain)UUID : ca9f649f:4487feda:d3d9dcd5:6f3c1468Events : 47Number Major Minor RaidDevice State2 8 17 0 active sync /dev/sdb11 8 18 1 active sync /dev/sdb2
[root@localhost raid10]# 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 ├─centos-root 253:0 0 17G 0 lvm /└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 10G 0 disk
├─sdb1 8:17 0 5G 0 part
│ └─md1 9:1 0 5G 0 raid1
│ └─md10 9:10 0 10G 0 raid0 /raid10
└─sdb2 8:18 0 5G 0 part └─md1 9:1 0 5G 0 raid1 └─md10 9:10 0 10G 0 raid0 /raid10
sdc 8:32 0 10G 0 disk
├─sdc1 8:33 0 5G 0 part
│ └─md2 9:2 0 5G 0 raid1
│ └─md10 9:10 0 10G 0 raid0 /raid10
└─sdc2 8:34 0 5G 0 part └─md2 9:2 0 5G 0 raid1 └─md10 9:10 0 10G 0 raid0 /raid10
sdd 8:48 0 20G 0 disk
sde 8:64 0 20G 0 disk
sr0 11:0 1 1024M 0 rom
[root@localhost raid10]# cd
2、创建一个RAID50磁盘阵列,并模拟磁盘损坏及修复过程,并移除损坏的硬盘;
[root@localhost ~]# fdisk /dev/sdd
欢迎使用 fdisk (util-linux 2.23.2)。更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。Device does not contain a recognized partition table
使用磁盘标识符 0xeb5905e0 创建新的 DOS 磁盘标签。命令(输入 m 获取帮助):n
Partition type:p primary (0 primary, 0 extended, 4 free)e extended
Select (default p): p
分区号 (1-4,默认 1):1
起始 扇区 (2048-41943039,默认为 2048):2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+5G
分区 1 已设置为 Linux 类型,大小设为 5 GiB命令(输入 m 获取帮助):n
Partition type:p primary (1 primary, 0 extended, 3 free)e extended
Select (default p): p
分区号 (2-4,默认 2):2
起始 扇区 (10487808-41943039,默认为 10487808):10487808
Last 扇区, +扇区 or +size{K,M,G} (10487808-41943039,默认为 41943039):+5G
分区 2 已设置为 Linux 类型,大小设为 5 GiB命令(输入 m 获取帮助):n
Partition type:p primary (2 primary, 0 extended, 2 free)e extended
Select (default p): p
分区号 (3,4,默认 3):3
起始 扇区 (20973568-41943039,默认为 20973568):20973568
Last 扇区, +扇区 or +size{K,M,G} (20973568-41943039,默认为 41943039):+5G
分区 3 已设置为 Linux 类型,大小设为 5 GiB命令(输入 m 获取帮助):n
Partition type:p primary (3 primary, 0 extended, 1 free)e extended
Select (default e): p
已选择分区 4
起始 扇区 (31459328-41943039,默认为 31459328):4
值超出范围。
起始 扇区 (31459328-41943039,默认为 31459328):31459328
Last 扇区, +扇区 or +size{K,M,G} (31459328-41943039,默认为 41943039):41943039
分区 4 已设置为 Linux 类型,大小设为 5 GiB命令(输入 m 获取帮助):w
The partition table has been altered!Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@localhost ~]# fdisk /dev/sde
欢迎使用 fdisk (util-linux 2.23.2)。更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。Device does not contain a recognized partition table
使用磁盘标识符 0xa7aba9cd 创建新的 DOS 磁盘标签。命令(输入 m 获取帮助):n
Partition type:p primary (0 primary, 0 extended, 4 free)e extended
Select (default p): p
分区号 (1-4,默认 1):1
起始 扇区 (2048-41943039,默认为 2048):2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+5G
分区 1 已设置为 Linux 类型,大小设为 5 GiB命令(输入 m 获取帮助):n
Partition type:p primary (1 primary, 0 extended, 3 free)e extended
Select (default p): p
分区号 (2-4,默认 2):2
起始 扇区 (10487808-41943039,默认为 10487808):10487808
Last 扇区, +扇区 or +size{K,M,G} (10487808-41943039,默认为 41943039):41943039
分区 2 已设置为 Linux 类型,大小设为 15 GiB命令(输入 m 获取帮助):n
Partition type:p primary (2 primary, 0 extended, 2 free)e extended
Select (default p): p
分区号 (3,4,默认 3):3
No free sectors available命令(输入 m 获取帮助):d
分区号 (1,2,默认 2):2
分区 2 已删除命令(输入 m 获取帮助):n
Partition type:p primary (1 primary, 0 extended, 3 free)e extended
Select (default p): p
分区号 (2-4,默认 2):2
起始 扇区 (10487808-41943039,默认为 10487808):10487808
Last 扇区, +扇区 or +size{K,M,G} (10487808-41943039,默认为 41943039):+5G
分区 2 已设置为 Linux 类型,大小设为 5 GiB命令(输入 m 获取帮助):n
Partition type:p primary (2 primary, 0 extended, 2 free)e extended
Select (default p): p
分区号 (3,4,默认 3):3
起始 扇区 (20973568-41943039,默认为 20973568):20973568
Last 扇区, +扇区 or +size{K,M,G} (20973568-41943039,默认为 41943039):+5G
分区 3 已设置为 Linux 类型,大小设为 5 GiB命令(输入 m 获取帮助):n
Partition type:p primary (3 primary, 0 extended, 1 free)e extended
Select (default e): p
已选择分区 4
起始 扇区 (31459328-41943039,默认为 31459328):31459328
Last 扇区, +扇区 or +size{K,M,G} (31459328-41943039,默认为 41943039):41943039
分区 4 已设置为 Linux 类型,大小设为 5 GiB命令(输入 m 获取帮助):w
The partition table has been altered!Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@localhost ~]# mdadm -Cv /dev/md5 -l 5 -n 3 /dev/sdd{1,2,3} -x 1 /dev/sdd4
mdadm: layout defaults to left-symmetric
mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 512K
mdadm: size set to 5236736K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md5 started.
[root@localhost ~]# mdadm -Cv /dev/md6 -l 5 -n 3 /dev/sde{1,2,3} -x 1 /dev/sde4
mdadm: layout defaults to left-symmetric
mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 512K
mdadm: size set to 5236736K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md6 started.
[root@localhost ~]# mdadm -Dv /dev/md50 -l 0 -n 2 /dev/md{5,6}
mdadm: option -l not valid in misc mode
[root@localhost ~]# mdadm -D /dev/md50
mdadm: cannot open /dev/md50: No such file or directory
[root@localhost ~]# mdadm -Cv /dev/md50 -l 0 -n 2 /dev/md{5,6}
mdadm: chunk size defaults to 512K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md50 started.
[root@localhost ~]# mdadm -D /dev/md50
/dev/md50:Version : 1.2Creation Time : Thu Aug 17 12:25:16 2023Raid Level : raid0Array Size : 20928512 (19.96 GiB 21.43 GB)Raid Devices : 2Total Devices : 2Persistence : Superblock is persistentUpdate Time : Thu Aug 17 12:25:16 2023State : clean Active Devices : 2Working Devices : 2Failed Devices : 0Spare Devices : 0Chunk Size : 512KConsistency Policy : noneName : localhost.localdomain:50 (local to host localhost.localdomain)UUID : a6184c88:4afddfad:858152d7:279f0b0fEvents : 0Number Major Minor RaidDevice State0 9 5 0 active sync /dev/md51 9 6 1 active sync /dev/md6
[root@localhost ~]# mkfs.xfs /dev/md50
meta-data=/dev/md50 isize=512 agcount=16, agsize=327040 blks= sectsz=512 attr=2, projid32bit=1= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=5232128, imaxpct=25= sunit=128 swidth=256 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2= sectsz=512 sunit=8 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@localhost ~]# mkdir /raid50
[root@localhost ~]# mount /dev/md50 /raid50
---模拟损坏
[root@localhost ~]# mdadm -f /dev/md5 /dev/sdd3
mdadm: set /dev/sdd3 faulty in /dev/md5
[root@localhost ~]# mdadm -a /dev/md5 /dev/sdd4
mdadm: Cannot open /dev/sdd4: Device or resource busy
--移除
[root@localhost ~]# mdadm -r /dev/md5 /dev/sdd3
mdadm: hot removed /dev/sdd3 from /dev/md5
[root@localhost ~]# mdadm -a /dev/md5 /dev/sdd3
mdadm: added /dev/sdd3
[root@localhost ~]# 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 ├─centos-root 253:0 0 17G 0 lvm /└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 10G 0 disk
├─sdb1 8:17 0 5G 0 part
│ └─md1 9:1 0 5G 0 raid1
│ └─md10 9:10 0 10G 0 raid0 /raid10
└─sdb2 8:18 0 5G 0 part └─md1 9:1 0 5G 0 raid1 └─md10 9:10 0 10G 0 raid0 /raid10
sdc 8:32 0 10G 0 disk
├─sdc1 8:33 0 5G 0 part
│ └─md2 9:2 0 5G 0 raid1
│ └─md10 9:10 0 10G 0 raid0 /raid10
└─sdc2 8:34 0 5G 0 part └─md2 9:2 0 5G 0 raid1 └─md10 9:10 0 10G 0 raid0 /raid10
sdd 8:48 0 20G 0 disk
├─sdd1 8:49 0 5G 0 part
│ └─md5 9:5 0 10G 0 raid5
│ └─md50 9:50 0 20G 0 raid0 /raid50
├─sdd2 8:50 0 5G 0 part
│ └─md5 9:5 0 10G 0 raid5
│ └─md50 9:50 0 20G 0 raid0 /raid50
├─sdd3 8:51 0 5G 0 part
│ └─md5 9:5 0 10G 0 raid5
│ └─md50 9:50 0 20G 0 raid0 /raid50
└─sdd4 8:52 0 5G 0 part └─md5 9:5 0 10G 0 raid5 └─md50 9:50 0 20G 0 raid0 /raid50
sde 8:64 0 20G 0 disk
├─sde1 8:65 0 5G 0 part
│ └─md6 9:6 0 10G 0 raid5
│ └─md50 9:50 0 20G 0 raid0 /raid50
├─sde2 8:66 0 5G 0 part
│ └─md6 9:6 0 10G 0 raid5
│ └─md50 9:50 0 20G 0 raid0 /raid50
├─sde3 8:67 0 5G 0 part
│ └─md6 9:6 0 10G 0 raid5
│ └─md50 9:50 0 20G 0 raid0 /raid50
└─sde4 8:68 0 5G 0 part └─md6 9:6 0 10G 0 raid5 └─md50 9:50 0 20G 0 raid0 /raid50
sr0 11:0 1 1024M 0 rom
1、使用上面的RAID10和RAID50做为物理卷,创建两个逻辑卷lv1,lv5,大小为5G和10G
[root@localhost ~]# umount /raid10 /raid50
[root@localhost ~]# pvcreate /dev/md10 /dev/md50
WARNING: xfs signature detected on /dev/md10 at offset 0. Wipe it? [y/n]: yWiping xfs signature on /dev/md10.
WARNING: xfs signature detected on /dev/md50 at offset 0. Wipe it? [y/n]: yWiping xfs signature on /dev/md50.Physical volume "/dev/md10" successfully created.Physical volume "/dev/md50" successfully created.
[root@localhost ~]# vgcreate /dev/vg1 /dev/md10 /dev/md50Volume group "vg1" successfully created
[root@localhost ~]# vgsVG #PV #LV #SN Attr VSize VFree centos 1 2 0 wz--n- <19.00g 0 vg1 2 0 0 wz--n- 29.93g 29.93g
[root@localhost ~]# vgdisplay--- Volume group ---VG Name centosSystem ID Format lvm2Metadata Areas 1Metadata Sequence No 3VG Access read/writeVG Status resizableMAX LV 0Cur LV 2Open LV 2Max PV 0Cur PV 1Act PV 1VG Size <19.00 GiBPE Size 4.00 MiBTotal PE 4863Alloc PE / Size 4863 / <19.00 GiBFree PE / Size 0 / 0 VG UUID b5nRqY-u1pP-8uge-DBSF-Kplt-HV5Z-yg738e--- Volume group ---VG Name vg1System ID Format lvm2Metadata Areas 2Metadata Sequence No 1VG Access read/writeVG Status resizableMAX LV 0Cur LV 0Open LV 0Max PV 0Cur PV 2Act PV 2VG Size 29.93 GiBPE Size 4.00 MiBTotal PE 7663Alloc PE / Size 0 / 0 Free PE / Size 7663 / 29.93 GiBVG UUID Rc39u3-bM6K-G60p-SfJL-dDd3-rhut-cm16J9[root@localhost ~]# pvsPV VG Fmt Attr PSize PFree /dev/md10 vg1 lvm2 a-- <9.98g <9.98g/dev/md50 vg1 lvm2 a-- <19.96g <19.96g/dev/sda2 centos lvm2 a-- <19.00g 0
--扩容
[root@localhost ~]# lvcreate -L 5G -n lv1 /dev/vg1Logical volume "lv1" created.
[root@localhost ~]# cd /dev
[root@localhost dev]# cd vg1
[root@localhost vg1]# ll
总用量 0
lrwxrwxrwx. 1 root root 7 8月 17 14:00 lv1 -> ../dm-2
[root@localhost vg1]# lvcreate -l 2560 -n lv5 /dev/vg1Logical volume "lv5" created.
[root@localhost vg1]# lvsLV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convertroot centos -wi-ao---- <17.00g swap centos -wi-ao---- 2.00g lv1 vg1 -wi-a----- 5.00g lv5 vg1 -wi-a----- 10.00g
[root@localhost vg1]# cd
[root@localhost ~]# mkfs.xfs /dev/vg1/lv1
meta-data=/dev/vg1/lv1 isize=512 agcount=8, agsize=163712 blks= sectsz=512 attr=2, projid32bit=1= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=1309696, imaxpct=25= sunit=128 swidth=256 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2= sectsz=512 sunit=8 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@localhost ~]# 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 ├─centos-root 253:0 0 17G 0 lvm /└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 10G 0 disk
├─sdb1 8:17 0 5G 0 part
│ └─md1 9:1 0 5G 0 raid1
│ └─md10 9:10 0 10G 0 raid0
│ └─vg1-lv1 253:2 0 5G 0 lvm
└─sdb2 8:18 0 5G 0 part └─md1 9:1 0 5G 0 raid1 └─md10 9:10 0 10G 0 raid0 └─vg1-lv1 253:2 0 5G 0 lvm
sdc 8:32 0 10G 0 disk
├─sdc1 8:33 0 5G 0 part
│ └─md2 9:2 0 5G 0 raid1
│ └─md10 9:10 0 10G 0 raid0
│ └─vg1-lv1 253:2 0 5G 0 lvm
└─sdc2 8:34 0 5G 0 part └─md2 9:2 0 5G 0 raid1 └─md10 9:10 0 10G 0 raid0 └─vg1-lv1 253:2 0 5G 0 lvm
sdd 8:48 0 20G 0 disk
├─sdd1 8:49 0 5G 0 part
│ └─md5 9:5 0 10G 0 raid5
│ └─md50 9:50 0 20G 0 raid0
│ └─vg1-lv5 253:3 0 10G 0 lvm
├─sdd2 8:50 0 5G 0 part
│ └─md5 9:5 0 10G 0 raid5
│ └─md50 9:50 0 20G 0 raid0
│ └─vg1-lv5 253:3 0 10G 0 lvm
├─sdd3 8:51 0 5G 0 part
│ └─md5 9:5 0 10G 0 raid5
│ └─md50 9:50 0 20G 0 raid0
│ └─vg1-lv5 253:3 0 10G 0 lvm
└─sdd4 8:52 0 5G 0 part └─md5 9:5 0 10G 0 raid5 └─md50 9:50 0 20G 0 raid0 └─vg1-lv5 253:3 0 10G 0 lvm
sde 8:64 0 20G 0 disk
├─sde1 8:65 0 5G 0 part
│ └─md6 9:6 0 10G 0 raid5
│ └─md50 9:50 0 20G 0 raid0
│ └─vg1-lv5 253:3 0 10G 0 lvm
├─sde2 8:66 0 5G 0 part
│ └─md6 9:6 0 10G 0 raid5
│ └─md50 9:50 0 20G 0 raid0
│ └─vg1-lv5 253:3 0 10G 0 lvm
├─sde3 8:67 0 5G 0 part
│ └─md6 9:6 0 10G 0 raid5
│ └─md50 9:50 0 20G 0 raid0
│ └─vg1-lv5 253:3 0 10G 0 lvm
└─sde4 8:68 0 5G 0 part └─md6 9:6 0 10G 0 raid5 └─md50 9:50 0 20G 0 raid0 └─vg1-lv5 253:3 0 10G 0 lvm
sr0 11:0 1 1024M 0 rom
[root@localhost ~]# mkdir /lv1 /lv5
[root@localhost ~]# mount /dev/vg1/lv1 /lv1
[root@localhost ~]# lvextend -L +5G /dev/vg1/lv1Size of logical volume vg1/lv1 changed from 5.00 GiB (1280 extents) to 10.00 GiB (2560 extents).Logical volume vg1/lv1 successfully resized.
[root@localhost ~]# xfs_growfs /dev/vg1/lv1
meta-data=/dev/mapper/vg1-lv1 isize=512 agcount=8, agsize=163712 blks= sectsz=512 attr=2, projid32bit=1= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=1309696, imaxpct=25= sunit=128 swidth=256 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=2560, version=2= sectsz=512 sunit=8 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 1309696 to 2621440
[root@localhost ~]# 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 ├─centos-root 253:0 0 17G 0 lvm /└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 10G 0 disk
├─sdb1 8:17 0 5G 0 part
│ └─md1 9:1 0 5G 0 raid1
│ └─md10 9:10 0 10G 0 raid0
│ └─vg1-lv1 253:2 0 10G 0 lvm /lv1
└─sdb2 8:18 0 5G 0 part └─md1 9:1 0 5G 0 raid1 └─md10 9:10 0 10G 0 raid0 └─vg1-lv1 253:2 0 10G 0 lvm /lv1
sdc 8:32 0 10G 0 disk
├─sdc1 8:33 0 5G 0 part
│ └─md2 9:2 0 5G 0 raid1
│ └─md10 9:10 0 10G 0 raid0
│ └─vg1-lv1 253:2 0 10G 0 lvm /lv1
└─sdc2 8:34 0 5G 0 part └─md2 9:2 0 5G 0 raid1 └─md10 9:10 0 10G 0 raid0 └─vg1-lv1 253:2 0 10G 0 lvm /lv1
sdd 8:48 0 20G 0 disk
├─sdd1 8:49 0 5G 0 part
│ └─md5 9:5 0 10G 0 raid5
│ └─md50 9:50 0 20G 0 raid0
│ ├─vg1-lv1 253:2 0 10G 0 lvm /lv1
│ └─vg1-lv5 253:3 0 10G 0 lvm
├─sdd2 8:50 0 5G 0 part
│ └─md5 9:5 0 10G 0 raid5
│ └─md50 9:50 0 20G 0 raid0
│ ├─vg1-lv1 253:2 0 10G 0 lvm /lv1
│ └─vg1-lv5 253:3 0 10G 0 lvm
├─sdd3 8:51 0 5G 0 part
│ └─md5 9:5 0 10G 0 raid5
│ └─md50 9:50 0 20G 0 raid0
│ ├─vg1-lv1 253:2 0 10G 0 lvm /lv1
│ └─vg1-lv5 253:3 0 10G 0 lvm
└─sdd4 8:52 0 5G 0 part └─md5 9:5 0 10G 0 raid5 └─md50 9:50 0 20G 0 raid0 ├─vg1-lv1 253:2 0 10G 0 lvm /lv1└─vg1-lv5 253:3 0 10G 0 lvm
sde 8:64 0 20G 0 disk
├─sde1 8:65 0 5G 0 part
│ └─md6 9:6 0 10G 0 raid5
│ └─md50 9:50 0 20G 0 raid0
│ ├─vg1-lv1 253:2 0 10G 0 lvm /lv1
│ └─vg1-lv5 253:3 0 10G 0 lvm
├─sde2 8:66 0 5G 0 part
│ └─md6 9:6 0 10G 0 raid5
│ └─md50 9:50 0 20G 0 raid0
│ ├─vg1-lv1 253:2 0 10G 0 lvm /lv1
│ └─vg1-lv5 253:3 0 10G 0 lvm
├─sde3 8:67 0 5G 0 part
│ └─md6 9:6 0 10G 0 raid5
│ └─md50 9:50 0 20G 0 raid0
│ ├─vg1-lv1 253:2 0 10G 0 lvm /lv1
│ └─vg1-lv5 253:3 0 10G 0 lvm
└─sde4 8:68 0 5G 0 part └─md6 9:6 0 10G 0 raid5 └─md50 9:50 0 20G 0 raid0 ├─vg1-lv1 253:2 0 10G 0 lvm /lv1└─vg1-lv5 253:3 0 10G 0 lvm
sr0 11:0 1 1024M 0 rom
[root@localhost ~]# e2fsck -f /dev/vg1/lv1
e2fsck 1.42.9 (28-Dec-2013)
/dev/vg1/lv1 is mounted.
e2fsck: 无法继续, 中止.[root@localhost ~]# mkfs.ext4 /dev/vg1/lv5
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=128 blocks, Stripe width=256 blocks
655360 inodes, 2621440 blocks
131072 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=2151677952
80 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成 [root@localhost ~]# mount /dev/vg1/lv5 /lv5
[root@localhost ~]# df -H
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 1.1G 0 1.1G 0% /dev
tmpfs 1.1G 0 1.1G 0% /dev/shm
tmpfs 1.1G 11M 1.1G 2% /run
tmpfs 1.1G 0 1.1G 0% /sys/fs/cgroup
/dev/mapper/centos-root 19G 4.9G 14G 27% /
/dev/sda1 1.1G 182M 882M 18% /boot
tmpfs 208M 29k 208M 1% /run/user/0
/dev/mapper/vg1-lv1 11G 35M 11G 1% /lv1
/dev/mapper/vg1-lv5 11G 38M 9.9G 1% /lv5
[root@localhost ~]# umount /lv5
[root@localhost ~]# e2fsck -f /dev/vg1/lv5
e2fsck 1.42.9 (28-Dec-2013)
第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
/dev/vg1/lv5: 11/655360 files (0.0% non-contiguous), 83137/2621440 blocks
[root@localhost ~]# resize2fs /dev/vg1/lv5
resize2fs 1.42.9 (28-Dec-2013)
The filesystem is already 2621440 blocks long. Nothing to do!
--缩容
[root@localhost ~]# resize2fs /dev/vg1/lv5 8G
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vg1/lv5 to 2097152 (4k) blocks.
The filesystem on /dev/vg1/lv5 is now 2097152 blocks long.[root@localhost ~]# 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 ├─centos-root 253:0 0 17G 0 lvm /└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 10G 0 disk
├─sdb1 8:17 0 5G 0 part
│ └─md1 9:1 0 5G 0 raid1
│ └─md10 9:10 0 10G 0 raid0
│ └─vg1-lv1 253:2 0 10G 0 lvm /lv1
└─sdb2 8:18 0 5G 0 part └─md1 9:1 0 5G 0 raid1 └─md10 9:10 0 10G 0 raid0 └─vg1-lv1 253:2 0 10G 0 lvm /lv1
sdc 8:32 0 10G 0 disk
├─sdc1 8:33 0 5G 0 part
│ └─md2 9:2 0 5G 0 raid1
│ └─md10 9:10 0 10G 0 raid0
│ └─vg1-lv1 253:2 0 10G 0 lvm /lv1
└─sdc2 8:34 0 5G 0 part └─md2 9:2 0 5G 0 raid1 └─md10 9:10 0 10G 0 raid0 └─vg1-lv1 253:2 0 10G 0 lvm /lv1
sdd 8:48 0 20G 0 disk
├─sdd1 8:49 0 5G 0 part
│ └─md5 9:5 0 10G 0 raid5
│ └─md50 9:50 0 20G 0 raid0
│ ├─vg1-lv1 253:2 0 10G 0 lvm /lv1
│ └─vg1-lv5 253:3 0 10G 0 lvm
├─sdd2 8:50 0 5G 0 part
│ └─md5 9:5 0 10G 0 raid5
│ └─md50 9:50 0 20G 0 raid0
│ ├─vg1-lv1 253:2 0 10G 0 lvm /lv1
│ └─vg1-lv5 253:3 0 10G 0 lvm
├─sdd3 8:51 0 5G 0 part
│ └─md5 9:5 0 10G 0 raid5
│ └─md50 9:50 0 20G 0 raid0
│ ├─vg1-lv1 253:2 0 10G 0 lvm /lv1
│ └─vg1-lv5 253:3 0 10G 0 lvm
└─sdd4 8:52 0 5G 0 part └─md5 9:5 0 10G 0 raid5 └─md50 9:50 0 20G 0 raid0 ├─vg1-lv1 253:2 0 10G 0 lvm /lv1└─vg1-lv5 253:3 0 10G 0 lvm
sde 8:64 0 20G 0 disk
├─sde1 8:65 0 5G 0 part
│ └─md6 9:6 0 10G 0 raid5
│ └─md50 9:50 0 20G 0 raid0
│ ├─vg1-lv1 253:2 0 10G 0 lvm /lv1
│ └─vg1-lv5 253:3 0 10G 0 lvm
├─sde2 8:66 0 5G 0 part
│ └─md6 9:6 0 10G 0 raid5
│ └─md50 9:50 0 20G 0 raid0
│ ├─vg1-lv1 253:2 0 10G 0 lvm /lv1
│ └─vg1-lv5 253:3 0 10G 0 lvm
├─sde3 8:67 0 5G 0 part
│ └─md6 9:6 0 10G 0 raid5
│ └─md50 9:50 0 20G 0 raid0
│ ├─vg1-lv1 253:2 0 10G 0 lvm /lv1
│ └─vg1-lv5 253:3 0 10G 0 lvm
└─sde4 8:68 0 5G 0 part └─md6 9:6 0 10G 0 raid5 └─md50 9:50 0 20G 0 raid0 ├─vg1-lv1 253:2 0 10G 0 lvm /lv1└─vg1-lv5 253:3 0 10G 0 lvm
sr0 11:0 1 1024M 0 rom
[root@localhost ~]# mount /dev/vg1/lv5 /lv5
[root@localhost ~]# umount /lv1
[root@localhost ~]# e2fsck -f /dev/vg1/lv1
e2fsck 1.42.9 (28-Dec-2013)
ext2fs_open2: Bad magic number in super-block
e2fsck: 超级块无效, trying backup blocks...
e2fsck: Bad magic number in super-block 当尝试打开 /dev/vg1/lv1 时The 超级块 could not be read or does not describe a correct ext2
文件系统. If the 设备 is valid and it really contains an ext2
文件系统 (and not swap or ufs or something else), then the 超级块
is corrupt, and you might try running e2fsck with an alternate 超级块:e2fsck -b 8193 <设备>[root@localhost ~]# lvcreate -L 2G -n lv11 /dev/vg1Logical volume "lv11" created.
[root@localhost ~]# mkfs.xfs /dev/vg1/lv11
meta-data=/dev/vg1/lv11 isize=512 agcount=8, agsize=65408 blks= sectsz=512 attr=2, projid32bit=1= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=523264, imaxpct=25= sunit=128 swidth=256 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2= sectsz=512 sunit=8 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@localhost ~]# mkdir /lv11
[root@localhost ~]# mount /dev/vg1/lv11 /lv11
[root@localhost ~]# echo "this is photo" > 1.txt
[root@localhost ~]# cat /lv11/1.txt
cat: /lv11/1.txt: 没有那个文件或目录
[root@localhost ~]# echo "this is photo" > /lv11/1.txt
[root@localhost ~]# cat /lv11/1.txt
this is photo
--快照
[root@localhost ~]# lvcreate -L 2G -s -n lv11bak /dev/vg1/lv11Logical volume "lv11bak" created.
[root@localhost ~]# rm -rf /lv11/1.txt
[root@localhost ~]# ls /lv11
[root@localhost ~]# ll
总用量 12
-rw-r--r--. 1 root root 14 8月 17 15:33 1.txt
-rw-------. 1 root root 1703 8月 8 11:50 anaconda-ks.cfg
-rw-r--r--. 1 root root 1751 8月 8 11:51 initial-setup-ks.cfg
drwxr-xr-x. 2 root root 6 8月 8 11:52 公共
drwxr-xr-x. 2 root root 6 8月 8 11:52 模板
drwxr-xr-x. 2 root root 6 8月 8 11:52 视频
drwxr-xr-x. 2 root root 6 8月 8 11:52 图片
drwxr-xr-x. 2 root root 6 8月 8 11:52 文档
drwxr-xr-x. 2 root root 6 8月 8 11:52 下载
drwxr-xr-x. 2 root root 6 8月 8 11:52 音乐
drwxr-xr-x. 2 root root 6 8月 8 11:52 桌面
[root@localhost ~]# ls /lv11
[root@localhost ~]# umount /lv11
[root@localhost ~]# ls
1.txt anaconda-ks.cfg initial-setup-ks.cfg 公共 模板 视频 图片 文档 下载 音乐 桌面
[root@localhost ~]# ls /lv11
[root@localhost ~]# cat 1.txt
this is photo
[root@localhost ~]# 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 ├─centos-root 253:0 0 17G 0 lvm /└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 10G 0 disk
├─sdb1 8:17 0 5G 0 part
│ └─md1 9:1 0 5G 0 raid1
│ └─md10 9:10 0 10G 0 raid0
│ └─vg1-lv1 253:2 0 10G 0 lvm
└─sdb2 8:18 0 5G 0 part └─md1 9:1 0 5G 0 raid1 └─md10 9:10 0 10G 0 raid0 └─vg1-lv1 253:2 0 10G 0 lvm
sdc 8:32 0 10G 0 disk
├─sdc1 8:33 0 5G 0 part
│ └─md2 9:2 0 5G 0 raid1
│ └─md10 9:10 0 10G 0 raid0
│ └─vg1-lv1 253:2 0 10G 0 lvm
└─sdc2 8:34 0 5G 0 part └─md2 9:2 0 5G 0 raid1 └─md10 9:10 0 10G 0 raid0 └─vg1-lv1 253:2 0 10G 0 lvm
sdd 8:48 0 20G 0 disk
├─sdd1 8:49 0 5G 0 part
│ └─md5 9:5 0 10G 0 raid5
│ └─md50 9:50 0 20G 0 raid0
│ ├─vg1-lv1 253:2 0 10G 0 lvm
│ ├─vg1-lv5 253:3 0 10G 0 lvm /lv5
│ ├─vg1-lv11-real 253:5 0 2G 0 lvm
│ │ ├─vg1-lv11 253:4 0 2G 0 lvm
│ │ └─vg1-lv11bak 253:7 0 2G 0 lvm
│ └─vg1-lv11bak-cow 253:6 0 2G 0 lvm
│ └─vg1-lv11bak 253:7 0 2G 0 lvm
├─sdd2 8:50 0 5G 0 part
│ └─md5 9:5 0 10G 0 raid5
│ └─md50 9:50 0 20G 0 raid0
│ ├─vg1-lv1 253:2 0 10G 0 lvm
│ ├─vg1-lv5 253:3 0 10G 0 lvm /lv5
│ ├─vg1-lv11-real 253:5 0 2G 0 lvm
│ │ ├─vg1-lv11 253:4 0 2G 0 lvm
│ │ └─vg1-lv11bak 253:7 0 2G 0 lvm
│ └─vg1-lv11bak-cow 253:6 0 2G 0 lvm
│ └─vg1-lv11bak 253:7 0 2G 0 lvm
├─sdd3 8:51 0 5G 0 part
│ └─md5 9:5 0 10G 0 raid5
│ └─md50 9:50 0 20G 0 raid0
│ ├─vg1-lv1 253:2 0 10G 0 lvm
│ ├─vg1-lv5 253:3 0 10G 0 lvm /lv5
│ ├─vg1-lv11-real 253:5 0 2G 0 lvm
│ │ ├─vg1-lv11 253:4 0 2G 0 lvm
│ │ └─vg1-lv11bak 253:7 0 2G 0 lvm
│ └─vg1-lv11bak-cow 253:6 0 2G 0 lvm
│ └─vg1-lv11bak 253:7 0 2G 0 lvm
└─sdd4 8:52 0 5G 0 part └─md5 9:5 0 10G 0 raid5 └─md50 9:50 0 20G 0 raid0 ├─vg1-lv1 253:2 0 10G 0 lvm ├─vg1-lv5 253:3 0 10G 0 lvm /lv5├─vg1-lv11-real 253:5 0 2G 0 lvm │ ├─vg1-lv11 253:4 0 2G 0 lvm │ └─vg1-lv11bak 253:7 0 2G 0 lvm └─vg1-lv11bak-cow 253:6 0 2G 0 lvm └─vg1-lv11bak 253:7 0 2G 0 lvm
sde 8:64 0 20G 0 disk
├─sde1 8:65 0 5G 0 part
│ └─md6 9:6 0 10G 0 raid5
│ └─md50 9:50 0 20G 0 raid0
│ ├─vg1-lv1 253:2 0 10G 0 lvm
│ ├─vg1-lv5 253:3 0 10G 0 lvm /lv5
│ ├─vg1-lv11-real 253:5 0 2G 0 lvm
│ │ ├─vg1-lv11 253:4 0 2G 0 lvm
│ │ └─vg1-lv11bak 253:7 0 2G 0 lvm
│ └─vg1-lv11bak-cow 253:6 0 2G 0 lvm
│ └─vg1-lv11bak 253:7 0 2G 0 lvm
├─sde2 8:66 0 5G 0 part
│ └─md6 9:6 0 10G 0 raid5
│ └─md50 9:50 0 20G 0 raid0
│ ├─vg1-lv1 253:2 0 10G 0 lvm
│ ├─vg1-lv5 253:3 0 10G 0 lvm /lv5
│ ├─vg1-lv11-real 253:5 0 2G 0 lvm
│ │ ├─vg1-lv11 253:4 0 2G 0 lvm
│ │ └─vg1-lv11bak 253:7 0 2G 0 lvm
│ └─vg1-lv11bak-cow 253:6 0 2G 0 lvm
│ └─vg1-lv11bak 253:7 0 2G 0 lvm
├─sde3 8:67 0 5G 0 part
│ └─md6 9:6 0 10G 0 raid5
│ └─md50 9:50 0 20G 0 raid0
│ ├─vg1-lv1 253:2 0 10G 0 lvm
│ ├─vg1-lv5 253:3 0 10G 0 lvm /lv5
│ ├─vg1-lv11-real 253:5 0 2G 0 lvm
│ │ ├─vg1-lv11 253:4 0 2G 0 lvm
│ │ └─vg1-lv11bak 253:7 0 2G 0 lvm
│ └─vg1-lv11bak-cow 253:6 0 2G 0 lvm
│ └─vg1-lv11bak 253:7 0 2G 0 lvm
└─sde4 8:68 0 5G 0 part └─md6 9:6 0 10G 0 raid5 └─md50 9:50 0 20G 0 raid0 ├─vg1-lv1 253:2 0 10G 0 lvm ├─vg1-lv5 253:3 0 10G 0 lvm /lv5├─vg1-lv11-real 253:5 0 2G 0 lvm │ ├─vg1-lv11 253:4 0 2G 0 lvm │ └─vg1-lv11bak 253:7 0 2G 0 lvm └─vg1-lv11bak-cow 253:6 0 2G 0 lvm └─vg1-lv11bak 253:7 0 2G 0 lvm
sr0 11:0 1 1024M 0 ro
相关文章:

Linux磁盘管理
物理设备的命名规则 在linux系统中一切都是文件,硬件设备也不例外。即然是文件,就必须有文件名称。系统内核中的udev设备管理器会自动把硬件名称规范起来,目的是让用户通过设备文件的名字可以看出设备大致的属性以及分区信息等;在…...

vue学习之vue cli创建项目
安装 node.js https://nodejs.org/en 安装 vue cli npm install -g @vue/cli --registry=https://registry.npm.taobao.org创建项目 执行创建命令,回车vue create vue-cli-learning选择 “Manually select features”,回车 “空格” 关闭 Linter / Formatter 选项,回车...

K8S:Pod容器中的存储方式及PV、PVC
文章目录 Pod容器中的存储方式一.emptyDir存储卷1.emptyDir存储卷概念2.emptyDir存储卷示例 二.hostPath存储卷1.hostPath存储卷概念2.hostPath存储卷示例 三.nfs共享存储卷1.nfs共享存储卷示例 四.PV和PVC1.PV、PVC概念2.PVC 的使用逻辑及数据流向3.storageclass插…...

uni-app跳转到另一个app
第一步: 首先要知道 app的包名 获取方式如下 第二步: 在第一个 demo1 app 一个页面中需要一个按钮去跳转 方法如下 <template><view class"content"><button click"tz">跳转</button></view> </…...

如何通过一键导出导入数据实现批量重命名文件名称
在日常办公中,我们经常需要对大量的文件进行重命名,以便更好地管理和查找文件。而且,有时候我们还需要将文件名称翻译成其他语言,以适应不同的工作需求。如何高效地完成这项任务呢?接下来,我将介绍一种方法…...

CTF —— 网络安全大赛(这不比王者好玩吗?)
前言 随着大数据、人工智能的发展,人们步入了新的时代,逐渐走上科技的巅峰。 \ ⚔科技是一把双刃剑,网络安全不容忽视,人们的隐私在大数据面前暴露无遗,账户被盗、资金损失、网络诈骗、隐私泄露,种种迹象…...

3D模型转换工具HOOPS Exchange如何实现OBJ格式轻量化?
什么是OBJ模型轻量化? OBJ格式是一种常用的三维模型文件格式,通常包含模型的顶点、法线、纹理坐标等信息,但有时候这些信息可能会使模型文件变得较大,不利于网络传输、加载和运行。 OBJ(Object)模型轻量化…...

命令模式-
定义:又叫动作模式或事务模式。指的是将一个请求封装成一个对象,使发出请求的责任和执行请求的责任分割开,然后可以使用不同的请求把客户端参数化,这样可以使得两者之间通过命令对象进行沟通,从而方便将命令对象进行储…...

进程的管理
#include <unistd.h> void _exit(int status); #include <stdlib.h> void _Exit(int status); status参数:是进程退出时的状态信息,父进程在回收子进程资源的时候可以获取到 #include<stdio.h> #include<stdlib.h> #includ…...

绿色科技:可持续发展的创新解决方案
标题绿色科技:可持续发展的创新解决方案 摘要引言绿色能源创新1. 太阳能和风能2. 储能技术 可再生资源管理3. 智能农业4. 循环经济 智能城市的未来5. 智能交通6. 城市感知 可持续生活方式7. 可持续建筑8. 智能家居 总结参考资料 博主 默语带您 Go to New World. ✍ …...

安防视频/视频汇聚平台EasyCVR使用onvif探测添加设备通道详细步骤来啦!
视频云存储/安防监控EasyCVR视频汇聚平台基于云边端智能协同,支持海量视频的轻量化接入与汇聚、转码与处理、全网智能分发、视频集中存储等。音视频流媒体视频平台EasyCVR拓展性强,视频能力丰富,具体可实现视频监控直播、视频轮播、视频录像、…...

Python单例模式(3种常用方式)
Python单例模式 1、使用模块(推荐)2、使用装饰器3、使用new()方法 单例模式是最常见的一种设计模式,该模式确保系统中一个类仅有一个实例 常用的三种实现方式如下: 1、使用模块(推荐) 模块是天然单例的&a…...

uni-app实现web-view图片长按下载
<template><view><web-view :webview-styles"webviewStyles" :src"webUrl"></web-view></view> </template> uniapp的web-view中图片无法长按保存,IOS下是正常的,但是Android下长按无反应 解…...

深入理解Linux网络笔记(一):内核是如何接收网络包的
本文为《深入理解Linux网络》学习笔记,使用的Linux源码版本是3.10,网卡驱动是Intel的igb网卡驱动 Linux源码在线阅读:https://elixir.bootlin.com/linux/v3.10/source 1、内核是如何接收网络包的 1)、Linux网络收包总览 在TCP/I…...

android系统目录结构
文章目录 android系统目录结构问答偏好设置保存在哪里在应用设置中点击清除数据,清除的是什么在应用设置中点击清除缓存,清除的是什么 参考 android系统目录结构 /- system (一般只有root权限才能访问)- data- app (存放应用程序的 APK 文件…...

怒刷LeetCode的第11天(Java版)
目录 第一题 题目来源 题目内容 解决方法 方法一:迭代 方法二:递归 方法三:指针转向 第二题 题目来源 题目内容 解决方法 方法一:快慢指针 方法二:Arrays类的sort方法 方法三:计数器 方法四…...

CentOS LVM缩容与扩容步骤
为VM打快照;备份home数据;# yum install xfsdump -y [root@testCentos7 home]# xfsdump -f /dev/home.dump /home xfsdump: using file dump (drive_simple) strategy xfsdump: version 3.1.7 (dump format 3.0) - type ^C for status and control ===================…...

开发者福利!李彦宏将在百度世界大会手把手教你做AI原生应用
目录 一、写在前面 二、大模型社区 2.1 加入频道 2.2 创建应用 一、写在前面 1. “把最先进的技术用到极致,把最先进的应用做到极致。” 2. “每个产品都在热火朝天地重构,不断加深对AI原生应用的理解。” 3. “这就是真正的AI原生应用,这…...

堆的OJ题
🔥🔥 欢迎来到小林的博客!! 🛰️博客主页:✈️林 子 🛰️博客专栏:✈️ 小林的算法笔记 🛰️社区 :✈️ 进步学堂 &am…...

物联网网关:连接设备与云端的桥梁
物联网网关作为连接设备与云端的桥梁,承担着采集数据、设备远程控制、协议转换、数据传输等重要任务。物联网网关是一种网络设备,它可以连接多个物联网设备,实现设备之间的数据传输和通信。物联网网关通常具有较高的网络带宽和处理能力&#…...

ChatGPT企业版来了,速度翻倍,无使用限制
美国时间8月28日,OpenAI宣布了自ChatGPT推出以来最重大的新闻:将推出ChatGPT企业版,企业版ChatGPT将直接对接GPT-4,提供无限制访问、高级数据分析功能、定制服务等服务,并支持处理更长文本输入的长上下文窗口。 OpenAI…...

opencv图像像素类型转换与归一化
文章目录 opencv图像像素类型转换与归一化1、为什么对图像像素类型转换与归一化2、在OpenCV中,convertTo() 和 normalize() 是两个常用的图像处理函数,用于图像像素类型转换和归一化;(1)convertTo() 函数用于将一个 cv…...

【自学开发之旅】Flask-前后端联调-异常标准化返回(六)
注册联调: 前端修改: 1.修改请求向后端的url地址 文件:env.development修改成VITE_API_TARGET_URL http://127.0.0.1:9000/v1 登录:token验证 校验forms/user.py from werkzeug.security import check_password_hash# 登录校验…...

springcloud3 分布式事务解决方案seata之XA模式4
一 seata的模式 1.1 seata的几种模式比较 Seata基于上述架构提供了四种不同的分布式事务解决方案: XA模式:强一致性分阶段事务模式,牺牲了一定的可用性,无业务侵入 TCC模式:最终一致的分阶段事务模式,有…...

编译ctk源码
目录 前景介绍 下载The Common Toolkit (CTK) cmake-gui编译 vs2019生成 debug版本 release版本 前景介绍 CTK(Common Toolkit)是一个用于医学图像处理和可视化应用程序开发的工具集,具有以下特点: 基于开源和跨平台的Qt框…...

前后端分离的低代码快速开发框架
低代码开发正逐渐成为企业创新的关键工具。通过提高开发效率、降低成本、增强灵活性以及满足不同用户需求,低代码开发使企业能够快速响应市场需求,提供创新解决方案。选择合适的低代码平台,小成本组建一个专属于你的应用。 项目简介 这是一个…...

【Java 基础篇】Java同步代码块解决数据安全
多线程编程是现代应用程序开发中的常见需求,它可以提高程序的性能和响应能力。然而,多线程编程也带来了一个严重的问题:数据安全。在多线程环境下,多个线程同时访问和修改共享的数据可能导致数据不一致或损坏。为了解决这个问题&a…...

亿纬锦能项目总结
项目名称:亿纬锦能 项目链接:https://www.evebattery.com 项目概况: 此项目用到了 wow.js/slick.js/swiper-bundle.min.js/animate.js/appear.js/fullpage.js以及 slick.css/animate.css/fullpage.css/swiper-bundle.min.css/viewer.css 本项目是一种…...

简明 SQL 组合查询指南:掌握 UNION 实现数据筛选
在SQL中,组合查询是一种将多个SELECT查询结果合并的操作,通常使用UNION和UNION ALL两种方式。 UNION 用于合并多个查询结果集,同时去除重复的行,即只保留一份相同的数据。UNION ALL 也用于合并多个查询结果集,但不去除…...

【springMvc】自定义注解的使用方式
🎬 艳艳耶✌️:个人主页 🔥 个人专栏 :《Spring与Mybatis集成整合》 ⛺️ 生活的理想,为了不断更新自己 ! 1.前言 1.1.什么是注解 Annontation是Java5开始引入的新特征,中文名称叫注解。 它提供了一种安全…...