Linux文件服务1
RAID5 阵列 与 LVM(Ubuntu 24.04 LTS)
1,创建RAID5阵列
添加三个10 GB的SATA磁盘,并使用 fdisk -l 或 lsblk 查看磁盘信息
使用mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/sdb /dev/sdc /dev/sdd 创建RAID5阵列。(需要mdadm,apt install mdadm)

使用cat /proc/mdstat或mdadm --detail /dev/md0监控RAID状态。
创建和管理LVM(apt install lvm2)
点击查看代码
root@user-VMware-Virtual-Platform:~# pvcreate /dev/md0
##使用pvcreate命令将RAID5阵列设备/dev/md0初始化为物理卷
Physical volume "/dev/md0" successfully created.
##pvs查询结果
root@user-VMware-Virtual-Platform:~# pvs
PV VG Fmt Attr PSize PFree
/dev/md0 lvm2 --- 19.98g 19.98g
root@user-VMware-Virtual-Platform:~# vgcreate vg01 /dev/md0
##使用vgcreate命令创建名为vg01的卷组
Volume group "vg01" successfully created
root@user-VMware-Virtual-Platform:~# vgs
##用vgs查询结果
VG #PV #LV #SN Attr VSize VFree
vg01 1 0 0 wz--n- 19.98g 19.98g
root@user-VMware-Virtual-Platform:~# lvcreate -L 5G -n lv01 vg01
Logical volume "lv01" created.
root@user-VMware-Virtual-Platform:~# lvcreate -l 100%free -n lv02 vg01
Logical volume "lv02" created.
##使用lvcreate命令创建两个逻辑卷:lv01大小为5GB,lv02大小为卷组中的所有剩余空间
root@user-VMware-Virtual-Platform:~# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv01 vg01 -wi-a----- 5.00g
lv02 vg01 -wi-a----- 14.98g
root@user-VMware-Virtual-Platform:~# mkfs.ext4 /dev/vg01/lv01
##使用mkfs.ext4命令对每个逻辑卷进行ext4文件系统格式化
root@user-VMware-Virtual-Platform:~# mkfs.ext4 /dev/vg01/lv02
root@user-VMware-Virtual-Platform:~# mkdir /mnt/lv01
root@user-VMware-Virtual-Platform:~# mkdir /mnt/lv02
root@user-VMware-Virtual-Platform:~# mount /dev/vg01/lv01 /mnt/lv01
root@user-VMware-Virtual-Platform:~# mount /dev/vg01/lv02 /mnt/lv02
root@user-VMware-Virtual-Platform:~# lsblk
拓展
进行磁盘添加操作
正常的RAID5 阵列

不正常的RAID5 阵列

1. 检查当前RAID状态
-
确认阵列运行状态:使用
cat /proc/mdstat或mdadm --detail /dev/md0命令来检查RAID5阵列的状态,确保它正常工作并且识别出所有三个磁盘。cat /proc/mdstat或者更详细的输出:
mdadm --detail /dev/md0
2. 模拟磁盘损坏
-
手工标记磁盘为故障:使用
mdadm命令将磁盘/dev/sdb标记为故障,模拟磁盘损坏。mdadm /dev/md0 --fail /dev/sdb -
添加新磁盘到系统并加入阵列:向系统中添加一个新的同接口、同容量的磁盘(假设新磁盘为
/dev/sde),然后将其添加到RAID5阵列中。mdadm /dev/md0 --add /dev/sde
3. 监控重建进度
-
查看RAID阵列重建进度:使用
cat /proc/mdstat命令持续监控RAID阵列的重建进度,直到重建完成。您也可以通过watch命令自动刷新查看进度。watch -n 1 cat /proc/mdstat注意: 重建过程可能需要一些时间,具体取决于磁盘大小和系统性能。
4. 移除故障磁盘
-
删除坏的磁盘:一旦新的磁盘成功加入并完成了重建,可以安全地从RAID5阵列中移除被标记为故障的磁盘
/dev/sdb。mdadm /dev/md0 --remove /dev/sdb
5.扩展物理卷 (PV)
一旦RAID5阵列的重建完成,扩展物理卷以匹配底层设备的新尺寸。
-
检查当前物理卷的状态:
pvs -
调整物理卷大小:
sudo pvresize /dev/md0
6.扩展卷组 (VG)
由于我们已经在创建RAID时将/dev/md0添加到了卷组中,因此不需要再添加到卷组。
7.扩展逻辑卷 (LV)
扩展逻辑卷以使用卷组中的额外空间。
- 如果想增加特定大小的空间给逻辑卷:
sudo lvextend -L +5G /dev/vg01/lv01 - 或者使用所有剩余空间:
sudo lvextend -l +100%FREE /dev/vg01/lv01
8.调整文件系统大小
-
对于ext文件系统(如ext4),使用
resize2fs命令:sudo resize2fs /dev/vg01/lv01 -
对于XFS文件系统,使用
xfs_growfs命令:sudo xfs_growfs /mnt/lv01
lvm的增删
-
pvresize:调整物理卷大小
pvresize /dev/md0 -
pvcreate:初始化物理设备
/dev/sdb为物理卷(Physical Volume),使其可以被LVM管理。pvcreate /dev/sdb -
pvs:显示所有物理卷的概要信息,包括大小、是否属于某个卷组等。
pvs -
pvdisplay:提供关于指定物理卷的详细信息。
pvdisplay /dev/sdb -
pvremove:从物理设备
/dev/sdb上移除LVM元数据,将设备恢复到普通状态。pvremove /dev/sdb
卷组(VG)操作
-
vgcreate:创建一个新的卷组
vg01,并添加物理卷/dev/sdb。vgcreate vg01 /dev/sdb -
vgextend:向现有的卷组
vg01中添加新的物理卷/dev/sdb(假设已经初始化了另一个磁盘作为物理卷)。vgextend vg01 /dev/newdevice -
vgreduce:从卷组
vg01中移除物理卷/dev/sdb。vgreduce vg01 /dev/sdb -
vgremove:删除卷组
vg01及其所有的逻辑卷。请注意,这将删除卷组中的所有数据。vgremove vg01 -
vgs:列出所有卷组的简要信息。
vgs -
vgdisplay:显示有关卷组
vg01的详细信息。vgdisplay vg01
逻辑卷(LV)操作
-
lvcreate:在卷组
vg01内创建新的逻辑卷lv01,例如指定5GB大小。lvcreate -L 5G -n lv01 vg01 -
lvextend:扩展现有逻辑卷
lv01的大小。如果需要同时调整文件系统的大小,还需要执行相应的命令(例如resize2fs对于ext4文件系统)。lvextend -L +5G /dev/vg01/lv01或者使用百分比表示可用空间的比例:
lvextend -l +100%FREE /dev/vg01/lv01 -
lvreduce:减少现有逻辑卷
lv01的大小。同样,在调整逻辑卷大小之前应该先缩小文件系统。lvreduce -L -5G /dev/vg01/lv01 -
lvremove:删除逻辑卷
lv01。请注意,这将删除逻辑卷上的所有数据。lvremove /dev/vg01/lv01 -
lvs:列出所有逻辑卷的简要信息。
lvs -
lvdisplay:显示有关逻辑卷
lv01的详细信息。lvdisplay /dev/vg01/lv01
NFS
1.安装 NFS 服务器
sudo apt update
sudo apt install nfs-kernel-server
2. 创建共享目录
sudo mkdir /mnt/lv01
确保该目录具有适当的权限设置,以便客户端能够访问。
- 编辑 /etc/exports 文件
/mnt/lv01 *(rw,sync,no_subtree_check)
* 表示允许所有客户端访问。
rw 表示读写权限。
sync 表示同步写入(即数据写入磁盘后才返回成功)。
no_subtree_check 表示不检查子树,提高性能。
4.重启NFS服务来应用更改:
systemctl restart nfs-kernel-server
5. 检查导出的共享目录
root@user-VMware-Virtual-Platform:~# sudo exportfs -v
/mnt/lv01 <world>(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash)
- 在win客户端测试 NFS 共享
控制面板 --> 程序 --> 打开或关闭windows功能 --> 勾选NFS服务
cmd:mount 192.168.72.133:/mnt/lv01 z:
或


浙公网安备 33010602011771号