centos7磁盘挂载
一、新磁盘挂载
1、查看磁盘
#查看磁盘目录情况
df -h

2、查看挂载磁盘情况
fdisk -l

#查看设备挂载情况
lsblk
#默认是树形方式显示

3、磁盘分区
#分区命令
fdisk /dev/vdb
#在分别输入n、p、空格、空格、空格、w

#在次查看设备情况,此时多了一个分区

4、格式化分区磁盘
mkfs.ext4 /dev/vdb1

5、设置分区挂载目录
#创建挂载目录
mkdir /home/tools
#挂载
mount /dev/vdb1 /home/tools
挂载后查看目录情况

6、设置开机启动自动挂载
vi /etc/fstab
#最后一行加入
/dev/vdb1 /home/tools ext4 defaults 0 0

二、lvm格式的磁盘挂载,后期方便扩容
1、
#!/bin/bash
# 新磁盘LVM挂载完整示例
# 假设新磁盘为 /dev/sdb
DISK="/dev/sdb"
VG_NAME="datavg"
LV_NAME="datalv"
MOUNT_POINT="/data"
echo "=== 开始配置LVM磁盘 ==="
# 1. 创建物理卷
echo "创建物理卷..."
pvcreate $DISK
if [ $? -ne 0 ]; then
echo "物理卷创建失败!"
exit 1
fi
# 2. 创建卷组
echo "创建卷组 $VG_NAME..."
vgcreate $VG_NAME $DISK
# 3. 创建逻辑卷(使用全部空间)
echo "创建逻辑卷 $LV_NAME..."
lvcreate -l 100%FREE -n $LV_NAME $VG_NAME
# 4. 创建文件系统(ext4)
echo "创建ext4文件系统..."
mkfs.ext4 /dev/$VG_NAME/$LV_NAME
# 5. 创建挂载点
echo "创建挂载点 $MOUNT_POINT..."
mkdir -p $MOUNT_POINT
# 6. 获取UUID
UUID=$(blkid -s UUID -o value /dev/$VG_NAME/$LV_NAME)
echo "UUID: $UUID"
# 7. 配置fstab
echo "配置/etc/fstab..."
echo "UUID=$UUID $MOUNT_POINT ext4 defaults 0 0" >> /etc/fstab
# 8. 挂载
echo "挂载文件系统..."
mount -a
# 9. 验证
echo "=== 验证配置 ==="
df -h $MOUNT_POINT
echo ""
echo "LVM状态:"
pvs && echo "" && vgs && echo "" && lvs
echo "=== 配置完成 ==="



# CentOS 7 新磁盘LVM挂载详细步骤
## 1. **准备工作:查看磁盘信息**
```bash
# 查看当前磁盘情况
lsblk
fdisk -l
# 查看磁盘是否被识别
lsscsi
ls -l /dev/sd*
```
## 2. **分区(可选,LVM可以直接使用整盘)**
### 方案A:创建分区
```bash
# 对sdb进行分区(假设新盘是/dev/sdb)
fdisk /dev/sdb
# fdisk交互命令:
n # 新建分区
p # 主分区
1 # 分区号
回车 # 起始扇区(默认)
回车 # 结束扇区(默认)
t # 更改分区类型
8e # 设置为LVM类型(Linux LVM)
w # 写入并退出
```
### 方案B:直接使用整盘(推荐)
LVM可以直接使用整块磁盘,无需分区。
## 3. **创建物理卷(Physical Volume)**
```bash
# 方法1:使用整块磁盘
pvcreate /dev/sdb
# 方法2:使用分区(如果创建了分区)
pvcreate /dev/sdb1
# 查看创建的物理卷
pvs
pvdisplay
```
## 4. **创建卷组(Volume Group)**
```bash
# 创建名为 datavg 的卷组
vgcreate datavg /dev/sdb
# 查看卷组信息
vgs
vgdisplay datavg
```
## 5. **创建逻辑卷(Logical Volume)**
```bash
# 方法1:创建指定大小的逻辑卷
# 创建名为 datalv,大小为20G的逻辑卷
lvcreate -L 20G -n datalv datavg
# 方法2:使用所有可用空间
lvcreate -l 100%FREE -n datalv datavg
# 方法3:创建时指定PE数量(每个PE默认4M)
lvcreate -l 5000 -n datalv datavg # 5000*4M=20G
# 查看逻辑卷
lvs
lvdisplay /dev/datavg/datalv
```
## 6. **创建文件系统**
```bash
# 格式化为ext4文件系统(推荐)
mkfs.ext4 /dev/datavg/datalv
# 或者格式化为xfs文件系统(CentOS 7默认)
mkfs.xfs /dev/datavg/datalv
# 查看文件系统信息
blkid /dev/datavg/datalv
```
## 7. **挂载使用**
### 临时挂载
```bash
# 创建挂载目录
mkdir /data
# 挂载逻辑卷
mount /dev/datavg/datalv /data
# 验证挂载
df -h /data
lsblk
```
### 永久挂载(开机自动挂载)
```bash
# 获取UUID(推荐使用UUID挂载)
blkid /dev/datavg/datalv
# 输出示例:/dev/datavg/datalv: UUID="e1f8a5f3-..." TYPE="ext4"
# 备份fstab文件
cp /etc/fstab /etc/fstab.bak.$(date +%Y%m%d)
# 编辑fstab文件
vi /etc/fstab
# 添加以下内容(根据实际情况选择一种):
# 方式1:使用UUID(最稳定,推荐)
UUID=e1f8a5f3-... /data ext4 defaults 0 0
# 方式2:使用设备路径
/dev/datavg/datalv /data ext4 defaults 0 0
# 方式3:使用LVM标签(如果有)
/dev/mapper/datavg-datalv /data ext4 defaults 0 0
# 测试fstab配置
mount -a
# 验证
df -h /data
```
## 8. **LVM扩展管理(后续维护)**
### 扩展逻辑卷(当有更多空间时)
```bash
# 1. 首先扩展卷组(添加新物理卷)
pvcreate /dev/sdc
vgextend datavg /dev/sdc
# 2. 扩展逻辑卷(增加10G)
lvextend -L +10G /dev/datavg/datalv
# 3. 扩展文件系统(ext4)
resize2fs /dev/datavg/datalv
# 对于xfs文件系统
xfs_growfs /data
```
### 缩小逻辑卷(谨慎操作)
```bash
# 1. 卸载文件系统
umount /data
# 2. 检查文件系统
e2fsck -f /dev/datavg/datalv
# 3. 缩小文件系统(ext4)
resize2fs /dev/datavg/datalv 15G
# 4. 缩小逻辑卷
lvreduce -L 15G /dev/datavg/datalv
# 5. 重新挂载
mount /dev/datavg/datalv /data
```
## 9. **完整示例脚本**
```bash
#!/bin/bash
# 新磁盘LVM挂载完整示例
# 假设新磁盘为 /dev/sdb
DISK="/dev/sdb"
VG_NAME="datavg"
LV_NAME="datalv"
MOUNT_POINT="/data"
echo "=== 开始配置LVM磁盘 ==="
# 1. 创建物理卷
echo "创建物理卷..."
pvcreate $DISK
if [ $? -ne 0 ]; then
echo "物理卷创建失败!"
exit 1
fi
# 2. 创建卷组
echo "创建卷组 $VG_NAME..."
vgcreate $VG_NAME $DISK
# 3. 创建逻辑卷(使用全部空间)
echo "创建逻辑卷 $LV_NAME..."
lvcreate -l 100%FREE -n $LV_NAME $VG_NAME
# 4. 创建文件系统(ext4)
echo "创建ext4文件系统..."
mkfs.ext4 /dev/$VG_NAME/$LV_NAME
# 5. 创建挂载点
echo "创建挂载点 $MOUNT_POINT..."
mkdir -p $MOUNT_POINT
# 6. 获取UUID
UUID=$(blkid -s UUID -o value /dev/$VG_NAME/$LV_NAME)
echo "UUID: $UUID"
# 7. 配置fstab
echo "配置/etc/fstab..."
echo "UUID=$UUID $MOUNT_POINT ext4 defaults 0 0" >> /etc/fstab
# 8. 挂载
echo "挂载文件系统..."
mount -a
# 9. 验证
echo "=== 验证配置 ==="
df -h $MOUNT_POINT
echo ""
echo "LVM状态:"
pvs && echo "" && vgs && echo "" && lvs
echo "=== 配置完成 ==="
```
## 10. **常见问题解决**
### 问题1:`pvcreate` 失败
```bash
# 如果磁盘已有分区表
wipefs -a /dev/sdb
# 或者
dd if=/dev/zero of=/dev/sdb bs=512 count=1
```
### 问题2:挂载失败
```bash
# 检查文件系统
fsck /dev/datavg/datalv
# 重新创建文件系统(会丢失数据!)
mkfs.ext4 -f /dev/datavg/datalv
```
### 问题3:LVM命令找不到
```bash
# 安装LVM工具
yum install lvm2 -y
# 启动LVM服务
systemctl start lvm2-lvmetad
systemctl enable lvm2-lvmetad
```
## 11. **检查清单**
- [ ] 磁盘是否被系统识别 (`lsblk`)
- [ ] 物理卷创建成功 (`pvs`)
- [ ] 卷组创建成功 (`vgs`)
- [ ] 逻辑卷创建成功 (`lvs`)
- [ ] 文件系统创建成功 (`blkid`)
- [ ] 挂载点目录存在 (`ls -ld /data`)
- [ ] fstab配置正确 (`mount -a` 无报错)
- [ ] 重启后自动挂载正常
这样就完成了从新磁盘到LVM挂载的完整流程。LVM的优势在于可以动态调整大小,方便后续存储管理。
常见问题处理:
1、df -h命令卡住
# 情况一:
# 1.追踪卡住点
strace df -h
# 2.使用如下命令查看此目录的详细信息
mount | grep "问题目录"
# 3.使用如下命令,将nfs闲时自动卸载
umount -l "挂载点"
# 情况二:
# nfs服务端停止或者挂了,重启服务端NFS
# 或者卸载客户端的挂载

浙公网安备 33010602011771号