1. 首页 > IT综合教程 > 正文

it教程FG076-Linux系统存储管理

内容大纲

存储管理概述

Linux系统提供了强大的存储管理功能,支持多种存储技术和解决方案。本教程将详细介绍Linux系统中的存储管理功能,包括磁盘管理、文件系统管理、逻辑卷管理、iSCSI存储、NFS文件共享等内容。

磁盘管理

磁盘分区

Linux系统使用fdisk、parted等工具进行磁盘分区。fdisk适用于MBR分区表,而parted适用于GPT分区表。

使用fdisk管理磁盘

# 查看所有磁盘
# lsblk

# 使用fdisk分区
# fdisk /dev/sdb

# 创建主分区
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-209715199, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-209715199, default 209715199): +100G

# 查看分区
Command (m for help): p

# 写入分区表
Command (m for help): w

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 200G 0 disk
├─sda1 8:1 0 512M 0 part /boot
├─sda2 8:2 0 50G 0 part /
└─sda3 8:3 0 149G 0 part /data

Disk /dev/sdb: 100 GiB, 107374182400 bytes, 209715200 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x12345678

Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 209717247 209715200 100G 83 Linux

文件系统管理

常用文件系统

Linux系统支持多种文件系统,包括:

  • ext4:默认文件系统,适用于大多数场景
  • XFS:高性能文件系统,适用于大文件和大存储
  • Btrfs:新一代文件系统,支持快照、压缩等功能
  • ZFS:高级文件系统,支持RAID、快照、压缩等功能

格式化与挂载文件系统

# 格式化分区为ext4
# mkfs.ext4 /dev/sdb1

# 创建挂载点
# mkdir /mnt/data

# 挂载分区
# mount /dev/sdb1 /mnt/data

# 查看挂载情况
# df -h

# 添加到/etc/fstab实现自动挂载
# echo “/dev/sdb1 /mnt/data ext4 defaults 0 0” >> /etc/fstab

Filesystem Size Used Avail Use% Mounted on
/dev/sda2 50G 2.5G 45G 6% /
devtmpfs 3.9G 0 3.9G 0% /dev
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 3.9G 8.5M 3.9G 1% /run
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/sda1 511M 128M 384M 25% /boot
/dev/sda3 149G 50G 99G 34% /data
/dev/sdb1 100G 60M 95G 1% /mnt/data

逻辑卷管理(LVM)

逻辑卷管理(LVM)是Linux系统中一种灵活的存储管理方案,允许动态调整存储容量。

创建LVM

# 创建物理卷
# pvcreate /dev/sdb1 /dev/sdc1

# 创建卷组
# vgcreate vg_data /dev/sdb1 /dev/sdc1

# 创建逻辑卷
# lvcreate -L 150G -n lv_data vg_data

# 格式化逻辑卷
# mkfs.ext4 /dev/vg_data/lv_data

# 挂载逻辑卷
# mount /dev/vg_data/lv_data /mnt/lvm_data

# 查看LVM状态
# pvdisplay
# vgdisplay
# lvdisplay

— Physical volume —
PV Name /dev/sdb1
VG Name vg_data
PV Size 100.00 GiB / not usable 4.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 25599
Free PE 0
Allocated PE 25599
PV UUID ABCDE-FGHI-JKLM-NOPQ-RSTU-VWXYZ

— Volume group —
VG Name vg_data
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 2
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 2
Act PV 2
VG Size 199.99 GiB
PE Size 4.00 MiB
Total PE 51198
Allocated PE 38398
Free PE 12800
VG UUID ABCDE-FGHI-JKLM-NOPQ-RSTU-VWXYZ

— Logical volume —
LV Path /dev/vg_data/lv_data
LV Name lv_data
VG Name vg_data
LV UUID ABCDE-FGHI-JKLM-NOPQ-RSTU-VWXYZ
LV Write Access read/write
LV Creation host, time fgedudb, 2026-04-03 10:00:00
LV Status available
# open 1
LV Size 150.00 GiB
Current LE 38398
Segments 2
Allocation inherit
Read ahead sectors auto
– currently set to 256
Block device 253:0

iSCSI存储

iSCSI是一种基于IP网络的存储协议,允许服务器通过网络访问存储设备。Linux系统提供了iSCSI发起程序和iSCSI目标功能。

配置iSCSI发起程序

# 安装iSCSI发起程序
# yum install iscsi-initiator-utils -y

# 启动iSCSI服务
# systemctl start iscsid
# systemctl enable iscsid

# 发现iSCSI目标
# iscsiadm -m discovery -t st -p 192.168.1.100

# 登录iSCSI目标
# iscsiadm -m node -T iqn.2026-04.com.fgedu:target01 -p 192.168.1.100 -l

# 查看已连接的iSCSI设备
# lsblk

192.168.1.100:3260,1 iqn.2026-04.com.fgedu:target01
Logging in to [iface: default, target: iqn.2026-04.com.fgedu:target01, portal: 192.168.1.100,3260]
Login to [iface: default, target: iqn.2026-04.com.fgedu:target01, portal: 192.168.1.100,3260] successful.

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 200G 0 disk
├─sda1 8:1 0 512M 0 part /boot
├─sda2 8:2 0 50G 0 part /
└─sda3 8:3 0 149G 0 part /data
sdb 8:16 0 100G 0 disk
└─sdb1 8:17 0 100G 0 part /mnt/data
sdc 8:32 0 100G 0 disk
sdd 8:48 0 500G 0 disk

NFS文件共享

NFS(Network File System)是一种分布式文件系统协议,允许客户端通过网络访问服务器上的文件。

配置NFS服务器

# 安装NFS服务
# yum install nfs-utils -y

# 创建共享目录
# mkdir /nfs/share
# chmod 755 /nfs/share

# 配置NFS共享
# echo “/nfs/share 192.168.1.0/24(rw,sync,no_root_squash)” >> /etc/exports

# 启动NFS服务
# systemctl start nfs-server
# systemctl enable nfs-server

# 重新导出共享
# exportfs -r

# 查看导出的共享
# exportfs -v

/nfs/share 192.168.1.0/24(rw,sync,wdelay,hide,no_subtree_check,sec=sys,rw,no_root_squash,no_all_squash)

配置NFS客户端

# 安装NFS客户端
# yum install nfs-utils -y

# 创建挂载点
# mkdir /mnt/nfs

# 挂载NFS共享
# mount 192.168.1.100:/nfs/share /mnt/nfs

# 查看挂载情况
# df -h

# 添加到/etc/fstab实现自动挂载
# echo “192.168.1.100:/nfs/share /mnt/nfs nfs defaults 0 0” >> /etc/fstab

Filesystem Size Used Avail Use% Mounted on
/dev/sda2 50G 2.5G 45G 6% /
devtmpfs 3.9G 0 3.9G 0% /dev
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 3.9G 8.5M 3.9G 1% /run
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/sda1 511M 128M 384M 25% /boot
/dev/sda3 149G 50G 99G 34% /data
192.168.1.100:/nfs/share 500G 50G 450G 10% /mnt/nfs

存储监控与优化

Linux系统提供了多种存储监控和优化工具,包括:

  • df:查看磁盘空间使用情况
  • du:查看目录大小
  • iostat:查看磁盘I/O性能
  • iotop:查看进程I/O使用情况
  • lsof:查看打开的文件

使用iostat监控磁盘性能

# 安装sysstat
# yum install sysstat -y

# 查看磁盘I/O性能
# iostat -x 1

# 查看特定磁盘的性能
# iostat -x /dev/sda 1

Linux 5.4.0-91-generic (fgedu) 04/03/2026 _x86_64_ (4 CPU)

avg-cpu: %user %nice %system %iowait %steal %idle
0.25 0.00 0.10 0.05 0.00 99.60

device r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
loop0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda 0.20 0.10 0.01 0.00 80.00 0.00 1.00 1.50 0.50 0.50 0.02
sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

最佳实践

生产环境风哥建议:

  • 使用LVM管理存储,提高灵活性
  • 选择合适的文件系统(ext4、XFS或Btrfs)
  • 定期备份数据
  • 监控磁盘空间和I/O性能
  • 使用RAID提供数据冗余
  • 合理规划分区和挂载点
  • 定期检查磁盘健康状态
  • 优化文件系统参数

更多学习教程www.fgedu.net.cn

学习交流加群风哥微信: itpux-com

学习交流加群风哥QQ113257174

风哥风哥提示:Linux系统存储管理是系统运维中的重要部分,合理配置和管理存储系统可以提高系统性能和数据安全性。

更多学习教程公众号风哥教程itpux_com

author:www.itpux.com

本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息