存储管理

  • 1、磁盘简介
  • 2、管理磁盘(基本分区)
  • 3、逻辑卷(LVM)
  • 3.1、创建逻辑卷(LV)
  • 3.2、扩容卷组(VG)
  • 3.3、扩容逻辑卷(LV)
  • 3.4、扩容逻辑卷(FS)
  • 4、交换分区管理 Swap
  • 4.1、查看当前的交换分区
  • 4.2、增加交换分区
  • 5、EXT4 文件系统
  • 6、文件链接
  • 6.1、符号链接/软链接
  • 6.2、硬链接
  • 7、RAID(了解)


1、磁盘简介

❌ 硬盘和内存:磁盘/硬盘/disk 是一件东西,不同于内存的是容量比较大

❌ 分类:可以分为机械硬盘和固态硬盘(SSD)(根据工作原理)

命名

  • RHEL7/Centos7
  • IDE(并口)
  • /dev/hda,/dev/hdb
  • SATA(串口)
  • /dev/sda,/dev/sdb
/dev 设备文件目录
sda 是一个文件
s代表 SATA (串口)
d 代表磁盘
a 第一块
# 第一块串口磁盘文件

分区方式:MBR ,GPT

🅰️ MBR(主引导记录是位于磁盘最前边的一段引导)

  • MBR支持最大的磁盘容量是 < 2TB,设计时分配 4 个分区
  • 如果希望超过 4 个分区,需放弃主分区,改为扩展分区和逻辑分区

🅱️ GPT(全局唯一标识分区表是一个实体硬盘的分区表的结构布局的标准)

  • GPT 支持大于 2T 的硬盘,支持 128 个分区

2、管理磁盘(基本分区)

具体步骤

  1. 创建分区
  • 第一步:查看磁盘信息(ll /dev/sd*
# 1. 第一种方法
[root@localhost ~]# ll /dev/sd*
brw-rw----. 1 root disk 8, 0 4月  12 20:22 /dev/sda
brw-rw----. 1 root disk 8, 1 4月  12 20:22 /dev/sda1
brw-rw----. 1 root disk 8, 2 4月  12 20:22 /dev/sda2
  • 第二步:VMWARE 增加磁盘
# 1. 关闭虚拟机电源
# 2. 编辑虚拟机设置
# 3. 增加磁盘
  • 第三步:继续查看磁盘信息(/dev/sdb 为新增加的硬盘)(lsblk
# 1. 第一种方法
[root@localhost ~]# ll /dev/sd*
brw-rw----. 1 root disk 8,  0 4月  12 21:26 /dev/sda
brw-rw----. 1 root disk 8,  1 4月  12 21:26 /dev/sda1
brw-rw----. 1 root disk 8,  2 4月  12 21:26 /dev/sda2
brw-rw----. 1 root disk 8, 16 4月  12 21:26 /dev/sdb

# 2. 第二种方法
[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    5G  0 disk 
sr0              11:0    1 1024M  0 rom
  • 第四步:创建分区
  • 启动分区工具(fdisk /dev/sdb
[root@localhost ~]# fdisk      /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0x4f055035 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):
  • 新建分区(敲 n 键)
命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p):
  • 新建主分区(敲 p 键)
Select (default p): p
分区号 (1-4,默认 1):1
起始 扇区 (2048-10485759,默认为 2048):
  • 给新建主分区分配内存(敲回车,然后敲 +1G)
  • 意味着起始扇区为 2048 ,结束扇区为 2048 + 1G,分区内存为 1G
起始 扇区 (2048-10485759,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-10485759,默认为 10485759):+1G
分区 1 已设置为 Linux 类型,大小设为 1 GiB

命令(输入 m 获取帮助):
  • 第五步:保存分区信息(敲 w 键)
命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。
  • 第六步:刷新分区表(partprobe /dev/sdb
  • 查看分区结果(fdisk -l /dev/sdb
[root@localhost ~]# partprobe /dev/sdb
[root@localhost ~]# fdisk -l /dev/sdb

磁盘 /dev/sdb:5368 MB, 5368709120 字节,10485760 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x4f055035

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     2099199     1048576   83  Linux
  1. 创建文件系统(mkfs.ext4 /dev/sdb1
[root@localhost ~]# mkfs.ext4       /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
65536 inodes, 262144 blocks
13107 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376

Allocating group tables: 完成                            
正在写入inode表: 完成                            
Creating journal (8192 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
  1. 创建挂载点并挂载(mkdir /mnt/disk1)(mount -t ext4 /dev/sdb1 /mnt/disk1
[root@localhost ~]# mkdir /mnt/disk1
[root@localhost ~]# mount -t ext4  /dev/sdb1 /mnt/disk1
  1. 查看挂载信息
# 1. 第一种方法(df -hT)
[root@localhost ~]# df -hT
文件系统                类型      容量  已用  可用 已用% 挂载点
devtmpfs                devtmpfs  1.5G     0  1.5G    0% /dev
tmpfs                   tmpfs     1.5G     0  1.5G    0% /dev/shm
tmpfs                   tmpfs     1.5G   11M  1.5G    1% /run
tmpfs                   tmpfs     1.5G     0  1.5G    0% /sys/fs/cgroup
/dev/mapper/centos-root xfs        17G  5.4G   12G   32% /
/dev/sda1               xfs      1014M  172M  843M   17% /boot
tmpfs                   tmpfs     299M   28K  299M    1% /run/user/0
/dev/sdb1               ext4      976M  2.6M  907M    1% /mnt/disk1

# 2. 第二种方法(mount)
[root@localhost ~]# mount | tail -1
/dev/sdb1 on /mnt/disk1 type ext4 (rw,relatime,seclabel,data=ordered)
  1. 挂载重启失效的解决办法
# 1. 写入自启动文件(/root/.bashrc )
# 内容
mount -t ext4  /dev/sdb1 /mnt/disk1

3、逻辑卷(LVM)

前言

  • 如果我们想写满一个磁盘
# 通过挂载点写入文件
# of 后面跟的是输出目录
# bs 后跟的是一次输出大小
# count 后跟的是输出多少次
[root@localhost ~]# dd  if=/dev/zero of=/mnt/disk1/1.txt   bs=1M  count=1000
dd: 写入"/mnt/disk1/1.txt" 出错: 设备上没有空间
记录了958+0 的读入
记录了957+0 的写出
1003896832字节(1.0 GB)已复制,4.22388 秒,238 MB/秒
[root@localhost ~]# df -HT
文件系统                类型      容量  已用  可用 已用% 挂载点
devtmpfs                devtmpfs  1.6G     0  1.6G    0% /dev
tmpfs                   tmpfs     1.6G     0  1.6G    0% /dev/shm
tmpfs                   tmpfs     1.6G   11M  1.6G    1% /run
tmpfs                   tmpfs     1.6G     0  1.6G    0% /sys/fs/cgroup
/dev/mapper/centos-root xfs        19G  5.8G   13G   32% /
/dev/sda1               xfs       1.1G  180M  884M   17% /boot
tmpfs                   tmpfs     314M   29k  314M    1% /run/user/0
/dev/sdb1               ext4      1.1G  1.1G     0  100% /mnt/disk1
  • 这种磁盘称为基本磁盘,无法改变大小

LVM 目的

  • 管理磁盘的一种方式,性质与基本磁盘无异
  • 特点:随意扩张大小

术语

  • LVM:逻辑卷管理(Logical Volume Manager)
  • PV:物理卷(Physical volume):一块硬盘,或多块硬盘
  • VG:卷组(Volume Group):一堆磁盘的统称
  • LV:逻辑卷(Logical Volume):一个逻辑分区,一个分区

3.1、创建逻辑卷(LV)

具体步骤

  • 第一步:准备物理磁盘(sdc,sdd,sde,sdf)
[root@localhost ~]# ll /dev/sd*
brw-rw----. 1 root disk 8,  0 4月  12 22:08 /dev/sda
brw-rw----. 1 root disk 8,  1 4月  12 22:08 /dev/sda1
brw-rw----. 1 root disk 8,  2 4月  12 22:08 /dev/sda2
brw-rw----. 1 root disk 8, 16 4月  12 22:08 /dev/sdb
brw-rw----. 1 root disk 8, 17 4月  12 22:08 /dev/sdb1
brw-rw----. 1 root disk 8, 32 4月  12 22:08 /dev/sdc
brw-rw----. 1 root disk 8, 48 4月  12 22:08 /dev/sdd
brw-rw----. 1 root disk 8, 64 4月  12 22:08 /dev/sde
brw-rw----. 1 root disk 8, 80 4月  12 22:08 /dev/sdf
  • 第二步:将物理磁盘,转换成物理卷 - PV
[root@localhost ~]# pvcreate /dev/sdc
  Physical volume "/dev/sdc" successfully created.
  • 第三步:创建卷组 - VG
[root@localhost ~]# vgcreate vg1 /dev/sdc
  Volume group "vg1" successfully created
  • 第四步:创建逻辑卷 - LV
  • -L 指定大小(200M)
  • -n 指定逻辑卷名字(lv1)
  • 逻辑卷组名(vg1)
[root@localhost ~]# lvcreate -L 200M -n lv1 vg1
  Logical volume "lv1" created.
  • 第五步:创建文件系统并挂载
# 1. 创建文件系统
[root@localhost ~]# mkfs.ext4 /dev/vg1/lv1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=1024 (log=0)
分块大小=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
51200 inodes, 204800 blocks
10240 blocks (5.00%) reserved for the super user
第一个数据块=1
Maximum filesystem blocks=33816576
25 block groups
8192 blocks per group, 8192 fragments per group
2048 inodes per group
Superblock backups stored on blocks: 
	8193, 24577, 40961, 57345, 73729

Allocating group tables: 完成                            
正在写入inode表: 完成                            
Creating journal (4096 blocks): 完成
Writing superblocks and filesystem accounting information: 完成 

# 2. 创建挂载点并挂载
[root@localhost ~]# mkdir  /mnt/lv1
[root@localhost ~]# mount /dev/vg1/lv1     /mnt/lv1

3.2、扩容卷组(VG)

  • 环境:/dev/vg1 容量由 5G 扩容到 10G
  • 第一步:创建 PV(物理卷)
[root@localhost ~]# pvcreate /dev/sdd
  Physical volume "/dev/sdd" successfully created.
  • 第二步:将 PV 加到 VG 中(此处为扩展卷组)
[root@localhost ~]# 
[root@localhost ~]#  vgextend vg1 /dev/sdd
  Volume group "vg1" successfully extended
  • 第三步:查看 VG
[root@localhost ~]# vgs
  VG     #PV #LV #SN Attr   VSize   VFree 
  centos   1   2   0 wz--n- <19.00g     0 
  vg1      2   1   0 wz--n-   9.99g <9.80g

3.3、扩容逻辑卷(LV)

  • 第一步:查看 VG(卷组)是否有空间
  • 空闲(VFree)
[root@localhost ~]# vgs
  VG     #PV #LV #SN Attr   VSize   VFree 
  centos   1   2   0 wz--n- <19.00g     0 
  vg1      2   1   0 wz--n-   9.99g <9.80g
  • 第二步:扩容逻辑卷(lsblk命令查看磁盘扩容情况)
[root@localhost ~]# lvextend -L +200M /dev/vg1/lv1
  Size of logical volume vg1/lv1 changed from 200.00 MiB (50 extents) to 400.00 MiB (100 extents).
  Logical volume vg1/lv1 successfully resized.

3.4、扩容逻辑卷(FS)

  • resize2fs /dev/vg1/lv1
[root@localhost ~]# lvextend -L +200M /dev/vg1/lv1
[root@localhost ~]# df -HT
文件系统                类型      容量  已用  可用 已用% 挂载点
devtmpfs                devtmpfs  1.6G     0  1.6G    0% /dev
tmpfs                   tmpfs     1.6G     0  1.6G    0% /dev/shm
tmpfs                   tmpfs     1.6G   11M  1.6G    1% /run
tmpfs                   tmpfs     1.6G     0  1.6G    0% /sys/fs/cgroup
/dev/mapper/centos-root xfs        19G  5.8G   13G   32% /
/dev/sda1               xfs       1.1G  180M  884M   17% /boot
tmpfs                   tmpfs     314M   25k  314M    1% /run/user/0
/dev/sdb1               ext4      1.1G  1.1G     0  100% /mnt/disk1
/dev/mapper/vg1-lv1     ext4      199M  1.6M  183M    1% /mnt/lv1
[root@localhost ~]# resize2fs /dev/vg1/lv1
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/vg1/lv1 is mounted on /mnt/lv1; on-line resizing required
old_desc_blocks = 2, new_desc_blocks = 5
The filesystem on /dev/vg1/lv1 is now 614400 blocks long.

[root@localhost ~]# df -HT
文件系统                类型      容量  已用  可用 已用% 挂载点
devtmpfs                devtmpfs  1.6G     0  1.6G    0% /dev
tmpfs                   tmpfs     1.6G     0  1.6G    0% /dev/shm
tmpfs                   tmpfs     1.6G   11M  1.6G    1% /run
tmpfs                   tmpfs     1.6G     0  1.6G    0% /sys/fs/cgroup
/dev/mapper/centos-root xfs        19G  5.8G   13G   32% /
/dev/sda1               xfs       1.1G  180M  884M   17% /boot
tmpfs                   tmpfs     314M   25k  314M    1% /run/user/0
/dev/sdb1               ext4      1.1G  1.1G     0  100% /mnt/disk1
/dev/mapper/vg1-lv1     ext4      606M  2.4M  572M    1% /mnt/lv1

4、交换分区管理 Swap

😃 作用: " 提升" 内存的容量,防止 OOM(Out Of Memory)

4.1、查看当前的交换分区

[root@localhost ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:           2988         763        1318          19         906        2049
Swap:          2047           0        2047

4.2、增加交换分区

具体步骤

  • 第一步:准备分区
# 1. 创建分区(划分一个大小为 1G 的主分区)
[root@localhost ~]# fdisk /dev/sde

# 2. 划分好分区之后按 t, 然后按 82
# 3. 刷新分区表
[root@localhost ~]# partprobe /dev/sde
  • 第二步:格式化交换分区
[root@localhost ~]# mkswap /dev/sde1
正在设置交换空间版本 1,大小 = 1048572 KiB
无标签,UUID=29f43c81-1ec9-48b3-9dc3-97d4438fa169
  • 第三步:挂载
[root@localhost ~]# swapon /dev/sde1
  • 第四步:验证(观察到交换分区已增大)
[root@localhost ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:           2988         769        1310          19         907        2043
Swap:          3071           0        3071

5、EXT4 文件系统

简介

  • 类型:索引(index)文件系统
  • 系统限制
  • Ext3:文件系统最大 16 TB
  • Ext4:文件系统最大 16 TB
  • XFS:文件系统最大 100 TB

关键词

  • inode/block/superblock
  • 第一个关键词:inode
  • 记录文件的属性(文件的元数据 metadata )
  • 一个文件占用一个 inode,同时记录此文件数据所在的block numbber
  • inode 大小为 128 bytes
  • 第二个关键词:block
  • 存储文件的实际数据
  • 实际存储文件的内容,若文件较大,会占用多个 block
  • block大小默认为 4K
  • 第三个关键词:superblock
  • block 与 inode 的总量
  • 未使用与已使用的 inode / block 数量

🅰️ 具体实例

  • 创建新文件,查看其索引节点
[root@localhost ~]# touch 199.txt
[root@localhost ~]# ll -i 199.txt 
34277017 -rw-r--r--. 1 root root 0 4月  12 23:29 199.txt
  • 在挂载点创建文件,观察 inode 的使用情况
[root@localhost disk3]# df -i | grep /dev/sdf2
#                                  inode 
/dev/sdf2                 65536      11   65525       1% /mnt/disk3
[root@localhost disk3]# touch 1.txt
[root@localhost disk3]# df -i | grep /dev/sdf2
/dev/sdf2                 65536      12   65524       1% /mnt/disk3
  • 在挂载点创建大量文件,观察 inode 使用情况
  • 可以发现当 inode 使用完后,不能再创建新文件
[root@localhost disk3]# df -i | grep /dev/sdf2
/dev/sdf2                 65536      12   65524       1% /mnt/disk3
[root@localhost disk3]# touch file{1..65515}
[root@localhost disk3]# df -i | grep /dev/sdf2
/dev/sdf2                 65536   65527       9     100% /mnt/disk3
[root@localhost disk3]# touch file{65515..65530}
touch: 无法创建"file65525": 设备上没有空间
touch: 无法创建"file65526": 设备上没有空间
touch: 无法创建"file65527": 设备上没有空间
touch: 无法创建"file65528": 设备上没有空间
touch: 无法创建"file65529": 设备上没有空间
touch: 无法创建"file65530": 设备上没有空间
[root@localhost disk3]# df -i | grep /dev/sdf2
/dev/sdf2                 65536   65536       0     100% /mnt/disk3

🅱️ 具体实例

  • 往磁盘里写入数据,使其内存溢出
[root@localhost disk3]# dd   if=/dev/zero     of=/mnt/disk3/5.txt    bs=1M    count=1000
dd: 写入"/mnt/disk3/5.txt" 出错: 设备上没有空间
记录了956+0 的读入
记录了955+0 的写出
1001930752字节(1.0 GB)已复制,15.6367 秒,64.1 MB/秒
  • 查看分区容量(已满),却仍然可以创建文件
[root@localhost disk3]# df -HT
文件系统                类型      容量  已用  可用 已用% 挂载点
devtmpfs                devtmpfs  1.6G     0  1.6G    0% /dev
tmpfs                   tmpfs     1.6G     0  1.6G    0% /dev/shm
tmpfs                   tmpfs     1.6G   11M  1.6G    1% /run
tmpfs                   tmpfs     1.6G     0  1.6G    0% /sys/fs/cgroup
/dev/mapper/centos-root xfs        19G  5.8G   13G   32% /
/dev/sda1               xfs       1.1G  180M  884M   17% /boot
tmpfs                   tmpfs     314M   25k  314M    1% /run/user/0
/dev/sdb1               ext4      1.1G  1.1G     0  100% /mnt/disk1
/dev/mapper/vg1-lv1     ext4      606M  2.4M  572M    1% /mnt/lv1
/dev/sdf1               ext4      1.1G  4.6M  949M    1% /mnt/disk2
/dev/sdf2               ext4      1.1G  1.1G     0  100% /mnt/disk3
[root@localhost disk3]# df -i | grep /dev/sdf2
/dev/sdf2                 65536      13   65523       1% /mnt/disk3
[root@localhost disk3]# touch 520.txt
[root@localhost disk3]# ls
1.txt  520.txt  5.txt  lost+found

6、文件链接

6.1、符号链接/软链接

具体实例

  • 第一步:创建一个文件并输入内容
[root@localhost ~]# echo i love you > love.txt
[root@localhost ~]# cat love.txt 
i love you
  • 第二步:创建一个软链接并观察软链接
[root@localhost ~]# ln -s /root/love.txt /home/love.txtx
[root@localhost ~]#  ll /home/love.txtx 
lrwxrwxrwx. 1 root root 14 4月  13 15:33 /home/love.txtx -> /root/love.txt
  • 第三步:对比原文件和软链接文件(原文件以 - 为前缀,软链接文件以 l 为前缀)
[root@localhost ~]# ll /home/love.txtx /root/love.txt 
lrwxrwxrwx. 1 root root 14 4月  13 15:33 /home/love.txtx -> /root/love.txt
-rw-r--r--. 1 root root 11 4月  13 15:31 /root/love.txt
  • 第四步:查看二个文件的内容
[root@localhost ~]# cat /home/love.txtx /root/love.txt 
i love you
i love you
  • 第五步:删除原文件,软链接闪烁(不可使用)
[root@localhost ~]# rm -rf /root/love.txt 
[root@localhost ~]# ll /home/love.txtx 
lrwxrwxrwx. 1 root root 14 4月  13 15:33 /home/love.txtx -> /root/love.txt

centos7磁盘满无法开机 centos7 磁盘管理_lvm


总结

  • 软链接像快捷方式,可以对文件和目录做软链接
  • 软链接记录的只是源文件的绝对路径
  • 软链接失去源文件不可用

6.2、硬链接

  • 在不同的分区创建硬链接会失败
[root@localhost ~]# df -HT
文件系统                类型      容量  已用  可用 已用% 挂载点
/dev/sdf3               ext4      1.1G  2.7M  951M    1% /mnt/disk4
/dev/sdf4               ext4      2.1G  6.3M  2.0G    1% /mnt/disk5
[root@localhost ~]# cd /mnt/disk4
[root@localhost disk4]# touch 1.txt
[root@localhost disk4]# ln 1.txt 2.txt
[root@localhost disk4]# ln 1.txt /mnt/disk5/3.txt
ln: 无法创建硬链接"/mnt/disk5/3.txt" => "1.txt": 无效的跨设备连接
  • 删除原文件,链接文件仍可用
[root@localhost disk4]# ll 1.txt 2.txt 
-rw-r--r--. 2 root root 0 4月  13 16:00 1.txt
-rw-r--r--. 2 root root 0 4月  13 16:00 2.txt
[root@localhost disk4]# echo 1 > 1.txt 
[root@localhost disk4]# rm -rf 1.txt 
[root@localhost disk4]# cat 2.txt 
1
  • 不能将硬链接指向目录
[root@localhost disk4]# mkdir dir
[root@localhost disk4]# ln dir 1.txt
ln: "dir": 不允许将硬链接指向目录

总结

  • 硬链接只能针对文件做,不能对目录做
  • 硬链接只能在同分区做

7、RAID(了解)

不同场景RAID的使用

  • 硬RAID: 需要RAID卡,有自己的CPU,处理速度快,有电池和无电池
  • 软RAID: 通过操作系统实现,比如Windows、Linux

具体实例

  • 第一步:创建四块硬盘(三块数据盘 + 一块热备盘)
[root@localhost ~]# ll /dev/sd*
brw-rw----. 1 root disk 8, 32 4月  13 16:13 /dev/sdc
brw-rw----. 1 root disk 8, 48 4月  13 16:13 /dev/sdd
brw-rw----. 1 root disk 8, 64 4月  13 16:13 /dev/sde
brw-rw----. 1 root disk 8, 80 4月  13 16:13 /dev/sdf
  • 第二步:创建 RAID
  • 前提:(yum -y install mdadm // 确保 mdadm 命令可用)
# -C 创建 RAID
# /dev/md0 第一个 RAID 设备
# -l5 RAID5
# -n RAID 成员的数量
# -x 热备磁盘的数量
# 可用空间 2G
[root@localhost ~]# mdadm -C /dev/md0 -l5 -n3 -x1 /dev/sd{c,d,e,f}
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
  • 第三步:创建文件系统,格式化,挂载
# 1. 格式化
[root@localhost ~]# partprobe /dev/md0

# 2. 创建文件系统
[root@localhost ~]# mkfs.ext4 /dev/md0
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, 2618880 blocks
130944 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, 1605632

Allocating group tables: 完成                            
正在写入inode表: 完成                            
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成 

# 3. 挂载
[root@localhost ~]# mkdir /mnt/md0
[root@localhost ~]# mount /dev/md0 /mnt/md0
  • 第四步:查看 RAID 信息(参数 -D,详细查找)
[root@localhost ~]# mdadm -D /dev/md0
/dev/md0:
           Version : 1.2
     Creation Time : Tue Apr 13 16:17:20 2021
        Raid Level : raid5  //raid 类型
        Array Size : 10475520 (9.99 GiB 10.73 GB)
     Used Dev Size : 5237760 (5.00 GiB 5.36 GB)
      Raid Devices : 3  //组中设备的数量
     Total Devices : 4  //总设备数
       Persistence : Superblock is persistent

       Update Time : Tue Apr 13 16:21:07 2021
             State : clean 
    Active Devices : 3  //活跃3个
   Working Devices : 4  //4个在工作
    Failed Devices : 0  //坏了1就危险了, 2个就完蛋了
     Spare Devices : 1  //热备的1个

            Layout : left-symmetric
        Chunk Size : 512K  //校验码大小

Consistency Policy : resync

              Name : localhost.localdomain:0  (local to host localhost.localdomain)
              UUID : 9fce27d6:7f18c84d:36b1cb99:c670bd22
            Events : 18

    Number   Major   Minor   RaidDevice State
       0       8       32        0      active sync   /dev/sdc
       1       8       48        1      active sync   /dev/sdd
       4       8       64        2      active sync   /dev/sde

       3       8       80        -      spare   /dev/sdf
  • 第五步:模拟一块硬盘坏掉并移除
  • 初始状态

centos7磁盘满无法开机 centos7 磁盘管理_运维_02

  • 执行命令
-f --fail
 -r --remove
[root@localhost ~]# mdadm /dev/md0 -f /dev/sdf -r /dev/sdf
mdadm: set /dev/sdf faulty in /dev/md0
mdadm: hot removed /dev/sdf from /dev/md0
  • 结束状态

centos7磁盘满无法开机 centos7 磁盘管理_linux_03