内容简介:本文风哥教程参考Linux官方文档、Red Hat Enterprise Linux官方文档、Ansible Automation Platform官方文档、Docker官方文档、Kubernetes官方文档和Podman官方文档等内容,详细介绍了相关技术的配置和使用方法。
风哥提示:
本文档介绍Linux存储管理实战案例。
Part01-LVM逻辑卷管理
1.1 LVM配置与管理
[root@fgedu-storage ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 99G 0 part
├─rl-root 253:0 0 50G 0 lvm /
└─rl-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 200G 0 disk
sdc 8:32 0 200G 0 disk
# 创建物理卷
[root@fgedu-storage ~]# pvcreate /dev/sdb /dev/sdc
Physical volume “/dev/sdb” successfully created.
Physical volume “/dev/sdc” successfully created.
# 创建卷组
[root@fgedu-storage ~]# vgcreate fgedu_vg /dev/sdb /dev/sdc
Volume group “fgedu_vg” successfully created
# 查看卷组
[root@fgedu-storage ~]# vgs
VG #PV #LV #SN Attr VSize VFree
fgedu_vg 2 0 0 wz–n- 400.00g 400.00g
rl 1 2 0 wz–n- 99.00g 0
# 创建逻辑卷
[root@fgedu-storage ~]# lvcreate -L 100G -n fgedu_data fgedu_vg
Logical volume “fgedu_data” created.
[root@fgedu-storage ~]# lvcreate -L 50G -n fgedu_logs fgedu_vg
Logical volume “fgedu_logs” created.
[root@fgedu-storage ~]# lvcreate -l 100%FREE -n fgedu_backup fgedu_vg
Logical volume “fgedu_backup” created.
# 查看逻辑卷
[root@fgedu-storage ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
fgedu_backup fgedu_vg -wi-a—– 250.00g
fgedu_data fgedu_vg -wi-a—– 100.00g
fgedu_logs fgedu_vg -wi-a—– 50.00g
# 格式化逻辑卷
[root@fgedu-storage ~]# mkfs.xfs /dev/fgedu_vg/fgedu_data
meta-data=/dev/fgedu_vg/fgedu_data isize=512 agcount=4, agsize=6553600 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1 bigtime=1 inobtcount=1
data = bsize=4096 blocks=26214400, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=12800, version=2
= sectsz=512 sunit=0 blks,更多视频教程www.fgedu.net.cn lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
# 挂载逻辑卷
[root@fgedu-storage ~]# mkdir -p /data /logs /backup
[root@fgedu-storage ~]# mount /dev/fgedu_vg/fgedu_data /data
[root@fgedu-storage ~]# mount /dev/fgedu_vg/fgedu_logs /logs
[root@fgedu-storage ~]# mount /dev/fgedu_vg/fgedu_backup /backup
# 配置开机挂载
[root@fgedu-storage ~]# cat >> /etc/fstab << 'EOF'
/dev/fgedu_vg/fgedu_data /data xfs defaults 0 0
/dev/fgedu_vg/fgedu_logs /logs xfs defaults 0 0
/dev/fgedu_vg/fgedu_backup /backup xfs defaults 0 0
EOF
Part02-LVM扩容管理
2.1 在线扩容操作
[root@fgedu-storage ~]# df -h /data
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/fgedu_vg-fgedu_data 100G 80G 20G 80% /data
# 扩展逻辑卷
[root@fgedu-storage ~]# lvextend -L +50G /dev/fgedu_vg/fgedu_data
Size of logical volume fgedu_vg/fgedu_data changed from 100.00 GiB (25600 extents) to 150.00 GiB (38400 extents).
Logical volume fgedu_vg/fgedu_data successfully resized.
# 在线扩展文件系统
[root@fgedu-storage ~]# xfs_growfs /data
meta-data=/dev/mapper/fgedu_vg-fgedu_data isize=512 agcount=4, agsize=6553600 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1 bigtime=1 inobtcount=1
data = bsize=4096 blocks=26214400, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsiz学习交流加群风哥QQ113257174e=4096 blocks=12800, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 26214400 to 39321600
# 验证扩容结果
[root@fgedu-storage ~]# df -h /data
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/fgedu_vg-fgedu_data 150G 80G 70G 54% /data
# 添加新磁盘到卷组
[root@fgedu-storage ~]# pvcreate /dev/sdd
Physical volume “/dev/sdd” successfully created.
[root@fgedu-storage ~]# vgextend fgedu_vg /dev/sdd
Volume group “fgedu_vg” successfully extended
[root@fgedu-storage ~]# vgs
VG #PV #LV #SN Attr VSize VFree
fgedu_vg 3 3 0 wz–n- 600.00g 200.00g
# 创建LVM快照
[root@fgedu-storage ~]# lvcreate -L 10G -s -n fgedu_data_snap /dev/fgedu_vg/fgedu_data
Logical volume “fgedu_data_snap” created.
[root@fgedu-storage ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
fgedu_backup fgedu_vg -wi-a—– 250.00g
fgedu_data fgedu_vg owi-aos— 150.00g
fgedu_data_snap fgedu_vg swi-a-s— 10.00g fgedu_data 0.01
fgedu_logs fgedu_vg -wi-a—– 50.00g
# 恢复快照
[root@fgedu-storage ~]# lvconvert –merge /dev/fgedu_vg/fgedu_data_snap
Merging of volume fgedu_vg/fgedu_data_snap started.
fgedu_vg/fgedu_data: Merged: 100.00%
Part03-RAID配置
3.1 软件RAID配置
[root@fgedu-storage ~]# lsblk | grep sd[b-e]
sdb 8:16 0 100G 0 disk
sdc 8:32 0 100G 0 disk
sdd 8:48 0 100G 0 disk
sde 8:64 0 100G 0 disk
# 创建RAID10
[root@fgedu-storage ~]# mdadm –create /dev/md0 –level=10 –raid-devices=4 /dev/sd[b-e]
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
# 查看RAID状态
[root@fgedu-storage ~]# cat /proc/mdstat
Personalities : [raid10]
md0 : active raid10 sde[3] sdd[2] sdc[1] sdb[0]
209510400 blocks super 1.2 512K chunks 2 near-copies [4/4] [UUUU]
[>………………..] resync = 0.0% (51200/209510400) finish=25.0min speed=139620K/sec
unused devices:
# 查看RAID详细信息
[root@fgedu-storage ~]# mdadm –detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Sat Apr 4 23:00:00 2026
Raid Level : raid10
Array Size : 209510400 (199.75 GiB 214.54 GB)
Used Dev Size : 104755200 (99.88 GiB 107.27 GB)
Raid Devices : 4
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Sat Apr 4 23:30:00 2026
State : clean
Active Devices : 4
Working Devices : 4
Failed Devices : 0
Spare Devices : 0
Layout : near=2
Chunk Size : 512K
Consistency Policy : resync
Name : fgedu-storage:0 (local to host fgedu-storage)
UUID : abc12345:def67890:ghi12345:jkl67890
Events : 17
Number Major Minor RaidDevice State
0 8 16 0 active sync set-A /dev/sdb
1 8 32 1 active sync set-B /dev/sdc
2 8 48 2 active sync set-A /dev/sdd
3 8 64 3 active sync set-B /dev/sde
# 保存RAID配置
[root@fgedu-storage ~]# mdadm –detail –scan >> /etc/mdadm.conf
# 格式化RAID设备
[root@fgedu-storage ~]# mkfs.xfs /dev/md0
# 挂载RAID
[root@fgedu-storage ~]# mkdir /raid10
[root@fgedu-storage ~]# mount /dev/md0 /raid10
# 模拟磁盘故障
[root@fgedu-storage ~]# mdadm –manage /dev/md0 –fail /dev/sdb
mdadm: set /dev/sdb faulty in /dev/md0
# 移除故障磁盘
[root@fgedu-storage ~]# mdadm –manage /dev/md0 –remove /dev/sdb
mdadm: hot removed /dev/sdb from /dev/md0
# 添加新磁盘
[root@fgedu-storage ~]# mdadm –manage /dev/md0 –add /dev/sdf
mdadm: added /dev/sdf
Part04-iSCSI存储
4.1 iSCSI配置
[root@fgedu-storage ~]# yum install -y targetcli iscsi-initiator-utils
# 配置iSCSI Target
[root@fgedu-storage ~]# targetcli
targetcli shell version 2.1.53
Copyright 2011-2013 by Datera, Inc and others.
For help on commands, type ‘help’.
/> backstores/block create name=fgedu_block dev=/dev/fgedu_vg/fgedu_data
Created block storage object fgedu_block using /dev/fgedu_vg/fgedu_data.
/> iscsi/ create iqn.2026-04.net.fgedu:storage
Created t学习交流加群风哥微信: itpux-comarget iqn.2026-04.net.fgedu:storage.
Created TPG 1.
Global pref auto_add_default_portal true
Created default portal listening on all IPs (0.0.0.0), port 3260.
/> iscsi/iqn.2026-04.net.fgedu:storage/tpg1/luns create /backstores/block/fgedu_block
Created LUN 0.
/> iscsi/iqn.2026-04.net.fgedu:storage/tpg1/acls create iqn.2026-04.net.fgedu:client
Created Node ACL for iqn.2026-04.net.fgedu:client
Created mapped LUN 0.
/> saveconfig
Configuration saved to /etc/target/saveconfig.json
/> exit
# 启动Target服务
[root@fgedu-storage ~]# systemctl enable target –now
# 配置iSCSI Initiator(客户端)
[root@fgedu-client ~]# yum install -y iscsi-initiator-utils
[root@fgedu-client ~]# cat > /etc/iscsi/initiatorname.iscsi << 'EOF' InitiatorName=iqn.2026-04.net.fgedu:client EOF [root@fgedu-client ~]# systemctl enable iscsid --now # 发现Target [root@fgedu-client ~]# iscsiadm -m discovery -t st -p 192.168.1.100 192.168.1.100:3260,1 iqn.2026-04.net.fgedu:storage # 登录Target [root@fgedu-client ~]# iscsiadm -m node -T iqn.2026-04.net.fgedu:storage -p 192.168.1.100 -l Logging in to [iface: default, target: iqn.2026-04.net.fgedu:storage, portal: 192.168.1.100,326from PG视频:www.itpux.com0] Login to [iface: default, target: iqn.2026-04.net.fgedu:storage, portal: 192.168.1.100,3260] successful. # 查看新磁盘 [root@fgedu-client ~]# lsblk | grep sd sda 8:0 0 100G 0 disk sdb 8:16 0 150G 0 disk
- 使用LVM实现灵活的存储管理
- 配置RAID提高数据可靠性
- 定期检查存储健康状态
- 制定存储扩容计划
- 配置存储监控告警
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
