实验

排故:xshell无法通过ssh连接10.1.8.10服务器。

环境准备:

[root@server ~ 19:38:06]# nmcli device disconnect ens32
vim /etc/ssh/sshd_config

在这里插入图片描述

断开网络并设置仅主机模式

在这里插入图片描述

在这里插入图片描述

  1. xshell 连接服务器,提示如下:
bash Connecting to 10.1.8.10:22...

发现网络存在问题。

可能的原因:

服务器的网络未连接,还有可能是连接到错误的交换机。

连接网卡

服务器的IP地址未正确配置。

  1. 先查看物理连接,发现:网卡未连接,其次网卡模式是仅主机,修复这两个问题。修复完成后,问题依旧。
  2. 再次查看服务器的IP地址,发现网卡没有IP地址,尝试激活网卡配置,提示不受管理。nmcli networking on,启用。再次激活成功。

此时windows可以ping同服务器了。

  1. xshell 再次连接服务,提示信息如下:
bash Connecting to 10.1.8.10:22... Could not connect to '10.1.8.10' (port 22): Connection failed.

可能的原因:sshd服务未启动或者防火墙拦截(不考虑防火墙问题)。

vim /etc/ssh/sshd_config
#找到对应报错行之后修改并允许root登录
#重启sshd服务
systemcrtl restart sshd

Linux 硬盘分区管理

综合案例:文件系统空间不足
情况1:大量的大文件占用空间

准备环境

[root@server ~ 09:43:47]# parted /dev/sdb mklabel gpt
[root@server ~ 09:44:22]# parted /dev/sdb unit MiB mkpart data01 xfs 1 2049
[root@server ~ 09:54:20]# mkfs.xfs -f /dev/sdb1
meta-data=/dev/sdb1              isize=512    agcount=4, agsize=131072 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=524288, 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@server ~ 09:56:53]# dd if=/dev/zero of=/myapp-1/etc/bigfile bs=1M count=2000

原因:大文占用大量空间。

解决方法:找到文件后删除。

#用df查看
[root@server ~ 09:57:10]# df -h /myapp-1/
文件系统        容量  已用  可用 已用% 挂载点
/dev/sdb1       2.0G  2.0G  784K  100% /myapp-1
#用find查看比100M大的文件
[root@server ~ 09:57:29]# find /myapp-1/ -size +100M
/myapp-1/etc/bigfile
[root@server ~ 09:58:01]# du -s /myapp-1/* |sort -n |tail -2
2051888	/myapp-1/etc
[root@server ~ 09:58:24]# du -s /myapp-1/etc/* |sort -n |tail -2
19452	/myapp-1/etc/selinux
2019328	/myapp-1/etc/bigfile
[root@server ~ 09:58:41]# rm -f /myapp-1/etc/bigfile 
[root@server ~ 10:00:48]# df -h /myapp-1/
文件系统        容量  已用  可用 已用% 挂载点
/dev/sdb1       2.0G   66M  2.0G    4% /myapp-1

找到文件后,删除即可。

情况2:删除文件后,空间没有释放

准备环境

[root@server ~ 10:00:55]#  dd if=/dev/zero of=/myapp-1/etc/bigfile bs=1M count=2000
dd: 写入"/myapp-1/etc/bigfile" 出错: 设备上没有空间
记录了1973+0 的读入
记录了1972+0 的写出
2067988480字节(2.1 GB)已复制,0.709875 秒,2.9 GB/秒
#后台看日志
[root@server ~ 10:01:17]#  tail -f /myapp-1/etc/bigfile &
[1] 1485
[root@server ~ 10:01:23]# rm -f /myapp-1/etc/bigfile 
[root@server ~ 10:01:50]# df -h /myapp-1/
文件系统        容量  已用  可用 已用% 挂载点
/dev/sdb1       2.0G  2.0G  592K  100% /myapp-1
#如果没跳日志的话,要手动kill掉tail进程
[root@server ~ 10:02:02]# tail: 无法监视"/myapp-1/etc/bigfile": 没有那个文件或目录

[1]+  退出 1                tail -f /myapp-1/etc/bigfile
#要先安装lsof软件包,lsof列出已打开的文件
[root@server ~ 10:02:25]# lsof |grep delete |grep /myapp-1
[root@server ~ 10:02:36]# df -h /myapp-1/
文件系统        容量  已用  可用 已用% 挂载点
/dev/sdb1       2.0G   66M  2.0G    4% /myapp-1

建议:清理大文件,先使用重定向清空文件内容,再删除文件。

情况3:大量的小文件占用空间

准备环境

[root@server ~ 10:02:50]# parted /dev/sdb unit MiB mkpart data02 ext4 2049 3073
信息: You may need to update /etc/fstab.

                                                                     [root@server ~ 10:27:09]# mkfs.ext4 /dev/sdb2
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: 完成

[root@server ~ 10:27:36]# mkdir /myapp-2
[root@server ~ 10:27:55]# mount /dev/sdb2 /myapp-2
[root@server ~ 10:28:04]# df -i /myapp-2
文件系统       Inode 已用(I) 可用(I) 已用(I)% 挂载点
/dev/sdb2      65536      11   65525       1% /myapp-2
[root@server ~ 10:28:20]# touch /myapp-2/file-{00001..65530}
touch: 无法创建"/myapp-2/file-65526": 设备上没有空间
touch: 无法创建"/myapp-2/file-65527": 设备上没有空间
touch: 无法创建"/myapp-2/file-65528": 设备上没有空间
touch: 无法创建"/myapp-2/file-65529": 设备上没有空间
touch: 无法创建"/myapp-2/file-65530": 设备上没有空间
[root@server ~ 10:29:02]# df -h /myapp-2/
文件系统        容量  已用  可用 已用% 挂载点
/dev/sdb2       976M  4.5M  905M    1% /myapp-2

原因:inode用完了

#-i inode
[root@server ~ 10:29:13]# df -hi /myapp-2
文件系统       Inode 已用(I) 可用(I) 已用(I)% 挂载点
/dev/sdb2        64K     64K       0     100% /myapp-2
#两种方法删除
[root@server ~ 10:29:30]# rm -f /myapp-2/file-0*
#或
[root@server ~ 10:29:56]# cat /myapp-2/file-{00001..10000}>file-00001

彻底擦除硬盘上数据

解答:

  1. 逻辑破坏:用0填充所有数据,例如 dd if=/dev/zero of=/dev/sdb
  2. 物理破坏,例如消磁。

Linux RAID 存储技术

本节主要介绍Linux系统下软RAID的搭建、管理及删除全流程实操,基于虚拟机环境(添加6块20G硬盘,分别为sdb、sdc、sdd、sde、sdf、sdg),使用mdadm工具完成软RAID的相关操作。

实操流程主要分为四个核心阶段:首先进行环境准备与工具安装,通过yum安装mdadm软件包,并使用lsblk命令查看磁盘信息,确认目标硬盘状态;其次创建RAID 0阵列,指定阵列设备为/dev/md0,采用2块硬盘(sdb、sdc)组建,创建后通过cat /proc/mdstat、mdadm --detail /dev/md0等命令查看阵列详情,验证阵列创建成功;随后对RAID阵列进行格式化(采用xfs文件系统)、创建挂载目录(/raid/raid0)并完成挂载,挂载后可正常进行数据读写操作;最后介绍RAID阵列的停止与删除方法,包括通过mdadm --stop停止阵列,再通过mdadm --zero-superblock清零RAID超级块,或使用wipefs命令查看并清空磁盘签名信息两种方式,彻底清除RAID残留,使磁盘恢复空闲状态以便后续重新使用。

环境准备

虚拟机添加6块20G 硬盘,sdb sdc sdd sde sdf sdg

RAID概述:
管理软 RAID

Linux 提供 mdadm 实用程序来创建和管理软件RAID。

#下载软件包
[root@server ~ 11:33:19]# yum install -y mdadm
[root@server ~ 11:34:11]# lsblk
NAME            MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda               8:0    0   200G  0 disk 
├─sda1            8:1    0     1G  0 part /boot
└─sda2            8:2    0   199G  0 part 
  ├─centos-root 253:0    0    50G  0 lvm  /
  ├─centos-swap 253:1    0   3.9G  0 lvm  [SWAP]
  └─centos-home 253:2    0 145.1G  0 lvm  /home
sdb               8:16   0    20G  0 disk 
sdc               8:32   0    20G  0 disk 
sdd               8:48   0    20G  0 disk 
sde               8:64   0    20G  0 disk 
sdf               8:80   0    20G  0 disk 
sdg               8:96   0    20G  0 disk 
sr0              11:0    1   4.4G  0 rom  
#创建RAID
[root@server ~ 11:34:24]# mdadm --create /dev/md0 --level 0 --raid-devices 2 /dev/sd{b,c}
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
#查看RAID
[root@server ~ 11:34:30]# cat /proc/mdstat
Personalities : [raid0] 
md0 : active raid0 sdc[1] sdb[0]
      41908224 blocks super 1.2 512k chunks
      
unused devices: <none>
[root@server ~ 11:34:51]# mdadm --detail /dev/md0
/dev/md0:
           Version : 1.2
     Creation Time : Thu May 21 11:34:30 2026
        Raid Level : raid0
        Array Size : 41908224 (39.97 GiB 42.91 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

       Update Time : Thu May 21 11:34:30 2026
             State : clean 
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

        Chunk Size : 512K

Consistency Policy : none

              Name : server.susan.cloud:0  (local to host server.susan.cloud)
              UUID : 6e451b07:f4fab2dd:9938aa69:1b842208
            Events : 0

    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync   /dev/sdb
       1       8       32        1      active sync   /dev/sdc
[root@server ~ 11:35:05]# lsblk /dev/md0
NAME MAJ:MIN RM SIZE RO TYPE  MOUNTPOINT
md0    9:0    0  40G  0 raid0 
[root@server ~ 11:35:19]# lsblk /dev/sdb /dev/sdc
NAME  MAJ:MIN RM SIZE RO TYPE  MOUNTPOINT
sdb     8:16   0  20G  0 disk  
└─md0   9:0    0  40G  0 raid0 
sdc     8:32   0  20G  0 disk  
└─md0   9:0    0  40G  0 raid0 
#格式化
[root@server ~ 11:35:32]# mkfs.xfs /dev/md0
meta-data=/dev/md0               isize=512    agcount=16, agsize=654720 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=10475520, imaxpct=25
         =                       sunit=128    swidth=256 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=5120, version=2
         =                       sectsz=512   sunit=8 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@server ~ 11:35:46]# mkdir -p /raid/raid0
#挂载
[root@server ~ 11:35:59]# mount /dev/md0 /raid/raid0
[root@server ~ 11:36:12]# df -h /raid/raid0/
文件系统        容量  已用  可用 已用% 挂载点
/dev/md0         40G   33M   40G    1% /raid/raid0
#创建数据
[root@server ~ 11:36:20]# cp /etc/ho* /raid/raid0/
[root@server ~ 11:36:57]# ls /raid/raid0/
host.conf  hostname  hosts  hosts.allow  hosts.deny
[root@server ~ 11:37:10]# umount /dev/md0
[root@server ~ 11:37:27]# mdadm --stop /dev/md0
mdadm: stopped /dev/md0
#两种方法删除RAID
[root@server ~ 11:37:36]# mdadm --zero-superblock /dev/sd{b,c}
#或
[root@server ~ 11:39:47]# wipefs /dev/sd{b,c} #查看
[root@server ~ 11:39:58]# wipefs -a /dev/sd{b,c} #-a全部清空
[root@server ~ 11:40:14]# wipefs /dev/sd{b,c} #再次查看
RAID1
创建RAID
#创建RAID
[root@server ~ 13:50:07]# mdadm --create /dev/md1 --level 1 --raid-devices 2 /dev/sd{b,c}
mdadm: Note: this array has metadata at the start and
    may not be suitable as a boot device.  If you plan to
    store '/boot' on this device please ensure that
    your boot-loader understands md/v1.x metadata, or use
    --metadata=0.90
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md1 started.
#查看RAID
[root@server ~ 13:51:05]# mdadm --detail /dev/md1
/dev/md1:
           Version : 1.2
     Creation Time : Thu May 21 13:51:05 2026
        Raid Level : raid1
        Array Size : 20954112 (19.98 GiB 21.46 GB)
     Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

       Update Time : Thu May 21 13:51:37 2026
             State : clean, resyncing 
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

Consistency Policy : resync

     Resync Status : 33% complete

              Name : server.susan.cloud:1  (local to host server.susan.cloud)
              UUID : 0851ab3e:4e9039e8:42c4c83e:35f498bd
            Events : 5

    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync   /dev/sdb
       1       8       32        1      active sync   /dev/sdc
#格式化
[root@server ~ 13:51:39]# mkfs.xfs /dev/md1
mkfs.xfs: /dev/md1 appears to contain an existing filesystem (xfs).
mkfs.xfs: Use the -f option to force overwrite.
[root@server ~ 13:52:21]# mkfs.xfs /dev/md1 -f
meta-data=/dev/md1               isize=512    agcount=4, agsize=1309632 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=5238528, 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@server ~ 13:52:25]# mkdir /raid/raid1
[root@server ~ 13:53:07]# mount /dev/md1 /raid/raid1
[root@server ~ 13:53:34]# df -h /raid/raid1
文件系统        容量  已用  可用 已用% 挂载点
/dev/md1         20G   33M   20G    1% /raid/raid1
#写点数据进去
[root@server ~ 13:53:43]# cp /etc/ho* /raid/raid1
[root@server ~ 13:54:00]# ls /raid/raid1/
host.conf  hostname  hosts  hosts.allow  hosts.deny
#增加热备盘
[root@server ~ 13:54:08]# mdadm --add /dev/md1 /dev/sdd
mdadm: added /dev/sdd
[root@server ~ 13:54:25]# lsblk
NAME            MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda               8:0    0   200G  0 disk  
├─sda1            8:1    0     1G  0 part  /boot
└─sda2            8:2    0   199G  0 part  
  ├─centos-root 253:0    0    50G  0 lvm   /
  ├─centos-swap 253:1    0   3.9G  0 lvm   [SWAP]
  └─centos-home 253:2    0 145.1G  0 lvm   /home
sdb               8:16   0    20G  0 disk  
└─md1             9:1    0    20G  0 raid1 /raid/raid1
sdc               8:32   0    20G  0 disk  
└─md1             9:1    0    20G  0 raid1 /raid/raid1
sdd               8:48   0    20G  0 disk  
└─md1             9:1    0    20G  0 raid1 /raid/raid1
sde               8:64   0    20G  0 disk  
sdf               8:80   0    20G  0 disk  
sdg               8:96   0    20G  0 disk  
sr0              11:0    1   4.4G  0 rom   
[root@server ~ 13:54:39]# mdadm --detail /dev/md1 |tail -5
    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync   /dev/sdb
       1       8       32        1      active sync   /dev/sdc

       2       8       48        -      spare   /dev/sdd
#强制sdc故障
[root@server ~ 13:54:57]# mdadm --fail /dev/md1 /dev/sdc
mdadm: set /dev/sdc faulty in /dev/md1
#查看状态
[root@server ~ 13:55:36]# mdadm --detail /dev/md1 |tail -5
    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync   /dev/sdb
       2       8       48        1      spare rebuilding   /dev/sdd

       1       8       32        -      faulty   /dev/sdc
#发现数据依然可以访问
[root@server ~ 13:55:52]# ls /raid/raid1
host.conf  hostname  hosts  hosts.allow  hosts.deny
[root@server ~ 13:56:10]# cat /raid/raid1/hostname
server.susan.cloud
#删除故障磁盘
[root@server ~ 13:56:26]# mdadm --remove /dev/md1 /dev/sdc
mdadm: hot removed /dev/sdc from /dev/md1
#删除RAID
[root@server ~ 13:56:51]# mdadm --detail /dev/md1 |tail -5
            Events : 40

    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync   /dev/sdb
       2       8       48        1      spare rebuilding   /dev/sdd
[root@server ~ 13:57:04]# umount /dev/md1
[root@server ~ 13:57:12]# mdadm --stop /dev/md1
mdadm: stopped /dev/md1
[root@server ~ 13:57:22]# mdadm --zero-superblock /dev/sd{b..d}
[root@server ~ 13:57:57]# lsblk
NAME            MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda               8:0    0   200G  0 disk 
├─sda1            8:1    0     1G  0 part /boot
└─sda2            8:2    0   199G  0 part 
  ├─centos-root 253:0    0    50G  0 lvm  /
  ├─centos-swap 253:1    0   3.9G  0 lvm  [SWAP]
  └─centos-home 253:2    0 145.1G  0 lvm  /home
sdb               8:16   0    20G  0 disk 
sdc               8:32   0    20G  0 disk 
sdd               8:48   0    20G  0 disk 
sde               8:64   0    20G  0 disk 
sdf               8:80   0    20G  0 disk 
sdg               8:96   0    20G  0 disk 
sr0              11:0    1   4.4G  0 rom  

RAID5
#创建一个包含4个块设备的raid5设备 /dev/md5
[root@server ~ 13:58:07]# mdadm  --create /dev/md5  --level 5 --raid-devices 4 /dev/sd{b..e}
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md5 started.
#查看
[root@server ~ 14:06:42]# mdadm --detail /dev/md5
/dev/md5:
           Version : 1.2
     Creation Time : Thu May 21 14:06:42 2026
        Raid Level : raid5
        Array Size : 62862336 (59.95 GiB 64.37 GB)
     Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
      Raid Devices : 4
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Thu May 21 14:08:27 2026
             State : clean 
    Active Devices : 4
   Working Devices : 4
    Failed Devices : 0
     Spare Devices : 0

            Layout : left-symmetric
        Chunk Size : 512K

Consistency Policy : resync

              Name : server.susan.cloud:5  (local to host server.susan.cloud)
              UUID : 587a1054:3bdf5d44:1931431c:ccb13b8d
            Events : 18

    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync   /dev/sdb
       1       8       32        1      active sync   /dev/sdc
       2       8       48        2      active sync   /dev/sdd
       4       8       64        3      active sync   /dev/sde
[root@server ~ 14:17:07]# lsblk /dev/md5
NAME MAJ:MIN RM SIZE RO TYPE  MOUNTPOINT
md5    9:5    0  60G  0 raid5 
#格式化
[root@server ~ 14:17:20]# mkfs.xfs /dev/md5
mkfs.xfs: /dev/md5 appears to contain an existing filesystem (xfs).
mkfs.xfs: Use the -f option to force overwrite.
[root@server ~ 14:17:38]# mkfs.xfs /dev/md5 -f
meta-data=/dev/md5               isize=512    agcount=16, agsize=982144 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=15714304, imaxpct=25
         =                       sunit=128    swidth=384 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=7680, version=2
         =                       sectsz=512   sunit=8 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
#挂载
[root@server ~ 14:17:42]# mkdir /raid/raid5
[root@server ~ 14:18:07]# mount /dev/md5 /raid/raid5
[root@server ~ 14:18:13]# df -h /raid/raid5
文件系统        容量  已用  可用 已用% 挂载点
/dev/md5         60G   33M   60G    1% /raid/raid5
#写点文件进去
[root@server ~ 14:18:21]# cp /etc/ho* /raid/raid5
[root@server ~ 14:18:37]# ls /raid/raid5
host.conf  hostname  hosts  hosts.allow  hosts.deny
#添加热备盘
[root@server ~ 14:18:43]# mdadm --add /dev/md5 /dev/sdf
mdadm: added /dev/sdf
[root@server ~ 14:19:04]# mdadm --detail /dev/md5 |tail -7
    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync   /dev/sdb
       1       8       32        1      active sync   /dev/sdc
       2       8       48        2      active sync   /dev/sdd
       4       8       64        3      active sync   /dev/sde

       5       8       80        -      spare   /dev/sdf
#把热备盘设置故障
[root@server ~ 14:19:21]# mdadm --fail /dev/md5 /dev/sdb
mdadm: set /dev/sdb faulty in /dev/md5
[root@server ~ 14:19:55]# mdadm --detail /dev/md5 |tail -7
    Number   Major   Minor   RaidDevice State
       5       8       80        0      spare rebuilding   /dev/sdf
       1       8       32        1      active sync   /dev/sdc
       2       8       48        2      active sync   /dev/sdd
       4       8       64        3      active sync   /dev/sde

       0       8       16        -      faulty   /dev/sdb
#不影响数据访问
[root@server ~ 14:20:09]# ls /raid/raid5
host.conf  hostname  hosts  hosts.allow  hosts.deny
#删除损坏盘
[root@server ~ 14:20:30]# mdadm --remove /dev/md5 /dev/sdb
mdadm: hot removed /dev/sdb from /dev/md5
[root@server ~ 14:21:03]# mdadm --detail /dev/md5|tail -7
            Events : 38

    Number   Major   Minor   RaidDevice State
       5       8       80        0      spare rebuilding   /dev/sdf
       1       8       32        1      active sync   /dev/sdc
       2       8       48        2      active sync   /dev/sdd
       4       8       64        3      active sync   /dev/sde
#扩容(RAID5只能扩容不能减容)
[root@server ~ 14:21:20]# mdadm --add /dev/md5 /dev/sdb /dev/sdg
mdadm: added /dev/sdb
mdadm: added /dev/sdg
[root@server ~ 14:21:55]# mdadm --detail /dev/md5 |tail -8
    Number   Major   Minor   RaidDevice State
       5       8       80        0      active sync   /dev/sdf
       1       8       32        1      active sync   /dev/sdc
       2       8       48        2      active sync   /dev/sdd
       4       8       64        3      active sync   /dev/sde

       6       8       16        -      spare   /dev/sdb
       7       8       96        -      spare   /dev/sdg
#--grow扩容
[root@server ~ 14:22:16]# mdadm --grow /dev/md5 --raid-devices 5
#等待扩容完成
[root@server ~ 14:22:38]# mdadm --detail /dev/md5
/dev/md5:
           Version : 1.2
     Creation Time : Thu May 21 14:06:42 2026
        Raid Level : raid5
        Array Size : 62862336 (59.95 GiB 64.37 GB)
     Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
      Raid Devices : 5
     Total Devices : 6
       Persistence : Superblock is persistent

       Update Time : Thu May 21 14:23:00 2026
             State : clean, reshaping 
    Active Devices : 5
   Working Devices : 6
    Failed Devices : 0
     Spare Devices : 1

            Layout : left-symmetric
        Chunk Size : 512K

Consistency Policy : resync

    Reshape Status : 27% complete
     Delta Devices : 1, (4->5)

              Name : server.susan.cloud:5  (local to host server.susan.cloud)
              UUID : 587a1054:3bdf5d44:1931431c:ccb13b8d
            Events : 77

    Number   Major   Minor   RaidDevice State
       5       8       80        0      active sync   /dev/sdf
       1       8       32        1      active sync   /dev/sdc
       2       8       48        2      active sync   /dev/sdd
       4       8       64        3      active sync   /dev/sde
       7       8       96        4      active sync   /dev/sdg

       6       8       16        -      spare   /dev/sdb
[root@server ~ 14:23:07]# mdadm --detail /dev/md5
/dev/md5:
           Version : 1.2
     Creation Time : Thu May 21 14:06:42 2026
        Raid Level : raid5
        Array Size : 83816448 (79.93 GiB 85.83 GB)
     Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
      Raid Devices : 5
     Total Devices : 6
       Persistence : Superblock is persistent

       Update Time : Thu May 21 14:24:23 2026
             State : clean 
    Active Devices : 5
   Working Devices : 6
    Failed Devices : 0
     Spare Devices : 1

            Layout : left-symmetric
        Chunk Size : 512K

Consistency Policy : resync

              Name : server.susan.cloud:5  (local to host server.susan.cloud)
              UUID : 587a1054:3bdf5d44:1931431c:ccb13b8d
            Events : 87

    Number   Major   Minor   RaidDevice State
       5       8       80        0      active sync   /dev/sdf
       1       8       32        1      active sync   /dev/sdc
       2       8       48        2      active sync   /dev/sdd
       4       8       64        3      active sync   /dev/sde
       7       8       96        4      active sync   /dev/sdg

       6       8       16        -      spare   /dev/sdb
[root@server ~ 14:24:51]# lsblk /dev/md5 
NAME MAJ:MIN RM SIZE RO TYPE  MOUNTPOINT
md5    9:5    0  80G  0 raid5 /raid/raid5
#刷新识别新增容量
[root@server ~ 14:25:38]# xfs_growfs /raid/raid5
meta-data=/dev/md5               isize=512    agcount=16, agsize=982144 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=15714304, imaxpct=25
         =                       sunit=128    swidth=384 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=7680, version=2
         =                       sectsz=512   sunit=8 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 15714304 to 20954112
[root@server ~ 14:25:50]# df -h /raid/raid5
文件系统        容量  已用  可用 已用% 挂载点
/dev/md5         80G   34M   80G    1% /raid/raid5
#删除RAID
[root@server ~ 14:26:03]# umount /dev/md5
[root@server ~ 14:26:24]# mdadm --stop /dev/md5
mdadm: stopped /dev/md5
[root@server ~ 14:26:38]# mdadm --zero-superblock /dev/sd{b..g}
#在stop之后清除superblock之前可以重构RAID,使得文件恢复
[root@server ~ 14:27:00]# mdadm --assemble /dev/md5 /dev/sd{b..g}

Linux 逻辑卷管理

环境准备

虚拟机添加3块20G硬盘,sdb sdc sdd

#创建物理卷(单个pv)
[root@server ~ 15:08:50]# pvcreate /dev/sdb
  Physical volume "/dev/sdb" successfully created.
#创建物理卷(多个pv)
[root@server ~ 15:08:59]# pvcreate /dev/sd{c,d}
  Physical volume "/dev/sdc" successfully created.
  Physical volume "/dev/sdd" successfully created.
#查看pv列表
[root@server ~ 15:09:17]# pvs
  PV         VG     Fmt  Attr PSize    PFree 
  /dev/sda2  centos lvm2 a--  <199.00g  4.00m
  /dev/sdb          lvm2 ---    20.00g 20.00g
  /dev/sdc          lvm2 ---    20.00g 20.00g
  /dev/sdd          lvm2 ---    20.00g 20.00g
#查看单个pv信息
[root@server ~ 15:09:21]# pvdisplay /dev/sdb
  "/dev/sdb" is a new physical volume of "20.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb
  VG Name               
  PV Size               20.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               HP2FDJ-q4F0-8pEe-sg8J-rFNJ-w6EF-swMijw
#创建卷组(包含单个pv的vg)   
[root@server ~ 15:09:37]# vgcreate webapp /dev/sdb
  Volume group "webapp" successfully created
 #创建卷组(包含多个pv的vg)
[root@server ~ 15:10:09]# vgcreate dbapp /dev/sd{c,d}
  Volume group "dbapp" successfully created
[root@server ~ 15:10:24]# pvs
  PV         VG     Fmt  Attr PSize    PFree  
  /dev/sda2  centos lvm2 a--  <199.00g   4.00m
  /dev/sdb   webapp lvm2 a--   <20.00g <20.00g
  /dev/sdc   dbapp  lvm2 a--   <20.00g <20.00g
  /dev/sdd   dbapp  lvm2 a--   <20.00g <20.00g
#查看vg列表
[root@server ~ 15:10:32]# vgs
  VG     #PV #LV #SN Attr   VSize    VFree  
  centos   1   3   0 wz--n- <199.00g   4.00m
  dbapp    2   0   0 wz--n-   39.99g  39.99g
  webapp   1   0   0 wz--n-  <20.00g <20.00g
#查看vg信息
[root@server ~ 15:10:42]# vgdisplay dbapp
  --- Volume group ---
  VG Name               dbapp
  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               39.99 GiB
  PE Size               4.00 MiB
  Total PE              10238
  Alloc PE / Size       0 / 0   
  Free  PE / Size       10238 / 39.99 GiB
  VG UUID               kIoCaq-uuqU-RgvC-raNd-k2pG-eTh1-Xh2v4I
#在卷组webapp中创建一个逻辑卷:名称为webapp01,大小为5G 
[root@server ~ 15:11:30]# lvcreate -n webapp01 -L 5G webapp 
  Logical volume "webapp01" created.
#在卷组dbapp中创建一个跨硬盘逻辑卷:名称为data01,大小为25G。
[root@server ~ 15:11:58]# lvcreate -n data01 -L 25G dbapp
  Logical volume "data01" created.
#查看LV列表
[root@server ~ 15:12:17]# lvs
  LV       VG     Attr       LSize    Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  home     centos -wi-ao---- <145.12g                                                    
  root     centos -wi-ao----   50.00g                                                    
  swap     centos -wi-ao----   <3.88g                                                    
  data01   dbapp  -wi-a-----   25.00g                                                    
  webapp01 webapp -wi-a-----    5.00g                                                    
[root@server ~ 15:12:21]# ls -l /dev/dbapp/data01 /dev/mapper/dbapp-data01
lrwxrwxrwx 1 root root 7 521 15:12 /dev/dbapp/data01 -> ../dm-4
lrwxrwxrwx 1 root root 7 521 15:12 /dev/mapper/dbapp-data01 -> ../dm-4
#查看lv详细信息
[root@server ~ 15:12:53]# lvdisplay /dev/dbapp/data01
  --- Logical volume ---
  LV Path                /dev/dbapp/data01
  LV Name                data01
  VG Name                dbapp
  LV UUID                NYEdCU-dpXa-iHv3-zcR5-CuEZ-3YcR-jAOu2m
  LV Write Access        read/write
  LV Creation host, time server.susan.cloud, 2026-05-21 15:12:17 +0800
  LV Status              available
  # open                 0
  LV Size                25.00 GiB
  Current LE             6400
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:4
#物理卷/dev/sdc空间已使用完,物理卷/dev/sdd空间已使用5G 
[root@server ~ 15:13:00]# pvs
  PV         VG     Fmt  Attr PSize    PFree  
  /dev/sda2  centos lvm2 a--  <199.00g   4.00m
  /dev/sdb   webapp lvm2 a--   <20.00g <15.00g
  /dev/sdc   dbapp  lvm2 a--   <20.00g      0 
  /dev/sdd   dbapp  lvm2 a--   <20.00g  14.99g
#创建文件系统:格式化
[root@server ~ 15:13:30]# mkfs.xfs /dev/webapp/webapp01 
meta-data=/dev/webapp/webapp01   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@server ~ 15:14:06]# yum install -y nginx &
[root@server ~ 15:14:26]# mount /dev/webapp/webapp01 /usr/share/nginx/html

[root@server ~ 15:25:56]# echo Hellow world > /usr/share/nginx/html/index.html
#修改nginx配置文件,将其指向/usr/share/nginx/html
[root@server ~ 15:30:34]# vim /etc/nginx/nginx.conf
#在server中添加一行
        root        /usr/share/nginx/html;
        
[root@server ~ 15:31:02]# systemctl enable nginx.service --now
[root@server ~ 15:31:04]# systemctl restart nginx.service 
[root@server ~ 15:31:13]# curl http://localhost
Hellow world

卸载
#取消挂载
[root@server ~ 15:31:15]# umount /dev/webapp/webapp01
#删除lv
[root@server ~ 15:52:05]# lvremove /dev/webapp/webapp01 /dev/dbapp/data01 
Do you really want to remove active logical volume webapp/webapp01? [y/n]: y
  Logical volume "webapp01" successfully removed
Do you really want to remove active logical volume dbapp/data01? [y/n]: y
  Logical volume "data01" successfully removed
#删除vg
[root@server ~ 15:52:29]# vgremove webapp dbapp 
  Volume group "webapp" successfully removed
  Volume group "dbapp" successfully removed
#删除pv
[root@server ~ 15:52:41]# pvremove /dev/sd{b..d}
  Labels on physical volume "/dev/sdb" successfully wiped.
  Labels on physical volume "/dev/sdc" successfully wiped.
  Labels on physical volume "/dev/sdd" successfully wiped.

扩展和缩减卷组

#创建卷组
[root@server ~ 15:55:17]# vgcreate webapp /dev/sdb
  Physical volume "/dev/sdb" successfully created.
  Volume group "webapp" successfully created
#创建逻辑卷
[root@server ~ 16:18:14]# lvcreate -n webapp01 -L 10G webapp 
WARNING: xfs signature detected on /dev/webapp/webapp01 at offset 0. Wipe it? [y/n]: yes
  Wiping xfs signature on /dev/webapp/webapp01.
  Logical volume "webapp01" created.
#扩展卷组
[root@server ~ 16:18:49]# vgextend webapp /dev/sd{c,d}
  Physical volume "/dev/sdc" successfully created.
  Physical volume "/dev/sdd" successfully created.
  Volume group "webapp" successfully extended
[root@server ~ 16:19:10]# pvs
  PV         VG     Fmt  Attr PSize    PFree  
  /dev/sda2  centos lvm2 a--  <199.00g   4.00m
  /dev/sdb   webapp lvm2 a--   <20.00g <10.00g
  /dev/sdc   webapp lvm2 a--   <20.00g <20.00g
  /dev/sdd   webapp lvm2 a--   <20.00g <20.00g
#缩减卷组
#将物理卷/dev/sdb从卷组webapp中剔除,则会报错
[root@server ~ 16:19:17]# vgreduce webapp /dev/sdb
  Physical volume "/dev/sdb" still in use
#将物理卷/dev/sdb中数据移动到卷组中其他物理卷
[root@server ~ 16:19:31]# pvmove /dev/sdb
  /dev/sdb: Moved: 1.02%
  /dev/sdb: Moved: 100.00%
[root@server ~ 16:20:12]# pvs
  PV         VG     Fmt  Attr PSize    PFree  
  /dev/sda2  centos lvm2 a--  <199.00g   4.00m
  /dev/sdb   webapp lvm2 a--   <20.00g <20.00g
  /dev/sdc   webapp lvm2 a--   <20.00g <10.00g
  /dev/sdd   webapp lvm2 a--   <20.00g <20.00g
#再次剔除,成功
[root@server ~ 16:21:17]# vgreduce webapp /dev/sdb
  Removed "/dev/sdb" from volume group "webapp"
[root@server ~ 16:21:31]# pvs
  PV         VG     Fmt  Attr PSize    PFree  
  /dev/sda2  centos lvm2 a--  <199.00g   4.00m
  /dev/sdb          lvm2 ---    20.00g  20.00g
  /dev/sdc   webapp lvm2 a--   <20.00g <10.00g
  /dev/sdd   webapp lvm2 a--   <20.00g <20.00g
  

扩展和缩减逻辑卷

扩展逻辑卷

如果逻辑卷空间不足,在卷组空间充足的情况下,也可以扩展逻辑卷空间。

#逻辑卷增加2G空间
[root@server ~ 16:21:34]# lvextend -L +2G /dev/webapp/webapp01 
  Size of logical volume webapp/webapp01 changed from 10.00 GiB (2560 extents) to 12.00 GiB (3072 extents).
  Logical volume webapp/webapp01 successfully resized.
  
[root@server ~ 16:23:00]# lvs /dev/webapp/webapp01 
  LV       VG     Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  webapp01 webapp -wi-a----- 12.00g                                                    

缩减逻辑卷

如果逻辑卷空间充足,希望将多余的空间缩减出来它用,也可以缩减逻辑卷空间。

#逻辑卷缩减2G空间
[root@server ~ 16:23:09]# lvreduce -L -2G /dev/webapp/webapp01 
  WARNING: Reducing active logical volume to 10.00 GiB.
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce webapp/webapp01? [y/n]: y
  Size of logical volume webapp/webapp01 changed from 12.00 GiB (3072 extents) to 10.00 GiB (2560 extents).
  Logical volume webapp/webapp01 successfully resized.
[root@server ~ 16:23:29]# lvs /dev/webapp/webapp01 
  LV       VG     Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  webapp01 webapp -wi-a----- 10.00g     

扩展和缩减文件系统

扩展 XFS 文件系统

XFS文件系统只支持扩展不支持缩减

#环境准备:格式化文件系统,并创建数据
[root@server ~ 16:23:40]# mkfs.xfs /dev/webapp/webapp01 
meta-data=/dev/webapp/webapp01   isize=512    agcount=4, agsize=655360 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=2621440, 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@server ~ 16:24:43]# mount /dev/webapp/webapp01 /usr/share/nginx/html
[root@server ~ 16:25:16]# cp /etc/host* /usr/share/nginx/html
[root@server ~ 16:25:24]# ls /usr/share/nginx/html host.conf hostname hosts hosts.allow hosts.deny
host.conf  hostname  hosts  hosts.allow  hosts.deny

#扩展逻辑卷
[root@server ~ 16:25:31]# lvextend -L 15G /dev/webapp/webapp01 
  Size of logical volume webapp/webapp01 changed from 10.00 GiB (2560 extents) to 15.00 GiB (3840 extents).
  Logical volume webapp/webapp01 successfully resized.
[root@server ~ 16:26:03]# lvs /dev/webapp/webapp01 
  LV       VG     Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  webapp01 webapp -wi-ao---- 15.00g                                  

#扩展文件系统
[root@server ~ 16:26:34]# xfs_growfs /usr/share/nginx/html
meta-data=/dev/mapper/webapp-webapp01 isize=512    agcount=4, agsize=655360 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=2621440, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 2621440 to 3932160
[root@server ~ 16:26:47]# df -h /usr/share/nginx/html/
文件系统                     容量  已用  可用 已用% 挂载点
/dev/mapper/webapp-webapp01   15G   33M   15G    1% /usr/share/nginx/html
[root@server ~ 16:27:00]# ls /usr/share/nginx/html/
host.conf  hostname  hosts  hosts.allow  hosts.deny
#块设备和文件系统一并扩展
[root@server ~ 16:27:11]# lvextend -rL 20G /dev/webapp/webapp01
  Size of logical volume webapp/webapp01 changed from 15.00 GiB (3840 extents) to 20.00 GiB (5120 extents).
  Logical volume webapp/webapp01 successfully resized.
meta-data=/dev/mapper/webapp-webapp01 isize=512    agcount=6, agsize=655360 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=3932160, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 3932160 to 5242880

[root@server ~ 16:27:38]# lvs /dev/webapp/webapp01 
  LV       VG     Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  webapp01 webapp -wi-ao---- 20.00g                                                    
[root@server ~ 16:27:53]# df -h /usr/share/nginx/html
文件系统                     容量  已用  可用 已用% 挂载点
/dev/mapper/webapp-webapp01   20G   33M   20G    1% /usr/share/nginx/html

扩展 EXT4 文件系统

EXT4文件系统即支持扩展,也支持缩减。

#环境配置
[root@server ~ 16:32:07]# umount /usr/share/nginx/html 
[root@server ~ 16:32:56]# mkfs.ext4 /dev/webapp/webapp01 
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1638400 inodes, 6553600 blocks
327680 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=2155872256
200 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, 2654208, 
	4096000

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

[root@server ~ 16:33:14]# mount /dev/webapp/webapp01 /usr/share/nginx/html
[root@server ~ 16:33:51]# df -h /usr/share/nginx/html/
文件系统                     容量  已用  可用 已用% 挂载点
/dev/mapper/webapp-webapp01   25G   45M   24G    1% /usr/share/nginx/html
[root@server ~ 16:34:03]# cp /etc/host* /usr/share/nginx/html/

#扩展逻辑卷
[root@server ~ 16:34:40]# lvextend -L 25G /dev/webapp/webapp01
  New size (6400 extents) matches existing size (6400 extents)                         
[root@server ~ 16:35:59]# lvextend -L +5G /dev/webapp/webapp01
  Size of logical volume webapp/webapp01 changed from 25.00 GiB (6400 extents) to 30.00 GiB (7680 extents).
  Logical volume webapp/webapp01 successfully resized.

#扩展文件系统
[root@server ~ 16:36:39]# resize2fs /dev/webapp/webapp01
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/webapp/webapp01 is mounted on /usr/share/nginx/html; on-line resizing required
old_desc_blocks = 4, new_desc_blocks = 4
The filesystem on /dev/webapp/webapp01 is now 7864320 blocks long.

[root@server ~ 16:36:50]# df -h /usr/share/nginx/html
文件系统                     容量  已用  可用 已用% 挂载点
/dev/mapper/webapp-webapp01   30G   45M   28G    1% /usr/share/nginx/html
[root@server ~ 16:37:09]# ls /usr/share/nginx/html/
host.conf  hostname  hosts  hosts.allow  hosts.deny  lost+found

#块设备和文件系统一并扩展
[root@server ~ 16:37:49]#  lvextend -rL 35G /dev/webapp/webapp01
  Size of logical volume webapp/webapp01 changed from 30.00 GiB (7680 extents) to 35.00 GiB (8960 extents).
  Logical volume webapp/webapp01 successfully resized.
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/mapper/webapp-webapp01 is mounted on /usr/share/nginx/html; on-line resizing required
old_desc_blocks = 4, new_desc_blocks = 5
The filesystem on /dev/mapper/webapp-webapp01 is now 9175040 blocks long.

[root@server ~ 16:38:08]#  lvs /dev/webapp/webapp01
  LV       VG     Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  webapp01 webapp -wi-ao---- 35.00g                                                    
[root@server ~ 16:38:23]# df -h /dev/webapp/webapp01 
文件系统                     容量  已用  可用 已用% 挂载点
/dev/mapper/webapp-webapp01   35G   48M   33G    1% /usr/share/nginx/html

缩减 EXT4 文件系统

缩减EXT4文件系统注意事项:

  • 不支持在线缩减,必须卸载后缩减。
  • 缩减后的容量,不能小于当前使用的容量。
#卸载文件系统
[root@server ~ 16:38:41]# umount /usr/share/nginx/html 

#检测文件系统
[root@server ~ 16:40:47]# e2fsck -f /dev/webapp/webapp01 
e2fsck 1.42.9 (28-Dec-2013)
第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
/dev/webapp/webapp01: 16/2293760 files (0.0% non-contiguous), 189047/9175040 blocks

#缩减文件系统
[root@server ~ 16:40:57]# resize2fs /dev/webapp/webapp01 10G
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/webapp/webapp01 to 2621440 (4k) blocks.
The filesystem on /dev/webapp/webapp01 is now 2621440 blocks long.

#缩减逻辑卷
[root@server ~ 16:41:17]# lvreduce -L 10G /dev/webapp/webapp01 
  WARNING: Reducing active logical volume to 10.00 GiB.
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce webapp/webapp01? [y/n]: yes
  Size of logical volume webapp/webapp01 changed from 35.00 GiB (8960 extents) to 10.00 GiB (2560 extents).
  Logical volume webapp/webapp01 successfully resized.

#挂载验证
[root@server ~ 16:41:53]# mount /dev/webapp/webapp01 /usr/share/nginx/html/
[root@server ~ 16:42:11]# df -h /usr/share/nginx/html/
文件系统                     容量  已用  可用 已用% 挂载点
/dev/mapper/webapp-webapp01  9.8G   37M  9.2G    1% /usr/share/nginx/html
[root@server ~ 16:42:22]# ls /usr/share/nginx/html/
host.conf  hostname  hosts  hosts.allow  hosts.deny  lost+found
Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐