Skip to content

1. VMware添加新磁盘

1.1 不重启识别磁盘

# 哪个输出mptspi,那个就是识别磁盘的host
grep mpt /sys/class/scsi_host/host0/proc_name
grep mpt /sys/class/scsi_host/host1/proc_name
grep mpt /sys/class/scsi_host/host2/proc_name

或者执行:

# 查看是哪台host
ll /sys/class/scsi_disk/

假设是host2,最后执行:

echo "- - -" > /sys/class/scsi_host/host2/scan

1.2 查看磁盘信息

fdisk -l
disk-1

  • 如果想直接使用磁盘,参见下方的2. 直接使用磁盘
  • 如果想对现有磁盘进行扩容,参见下方的3. 磁盘扩容

2. 直接使用磁盘

2.1 格式化磁盘

mkfs.xfs /dev/sdb

2.2 挂载磁盘

# 创建挂载目录
mkdir -p /disk/sdb
# 临时挂载,重启之后无效
mount /dev/sdb /disk/sdb/
# 在/etc/fstab中添加一行,永久有效
/dev/sdb /disk/sdb xfs defaults 0 0

然后就可以在挂载点进行文件操作了。

3. 磁盘扩容

3.1 对新盘进行分区

这里最好使用gdisk来进行分区操作。

fdisk /dev/sdb
disk-2

disk-3

disk-4

3.2 创建物理卷pv

pvcreate /dev/sdb1
查看创建的物理卷
pvdisplay
disk-5

至此,有以下扩容逻辑卷新建逻辑卷两种操作。

3.3 扩容逻辑卷

3.3.1 扩展卷组vg

# 列出存在的卷组,找到卷组名
vgdisplay
# 将pv添加到要扩展逻辑卷所在的卷组
# cl:要扩展的卷组名
vgextend cl /dev/sdb1

vgextend可能会报出Couldn't create temporary archive name的错误,这是因为原来的逻辑卷实在太小了,此时需要删除一些东西即可继续扩容。

如果发现扩展卷组时错误地将物理卷pv扩展到了其他卷组vg上,此时可执行vgreduce <VolumeGroupName> /dev/sbd1将其移除,然后再从新扩展。

vgreduce - Remove physical volume(s) from a volume group

vgremove - Remove volume group(s)

3.3.2 扩容逻辑卷lv

# /dev/mapper/cl-root是要扩展逻辑卷
lvextend –L +15G /dev/mapper/cl-root

如果出现了couldn't create temporary archive name.的错误,那么是磁盘空间被填满了,此时删除一些文件即可。

3.3.3 在线调整xfs格式文件系统大小

此时通过df -h还不能看到扩充的容量,执行下面的命令即可:

xfs_growfs /dev/mapper/cl-root
df -h

3.4 新建逻辑卷

3.4.1 新建卷组vg

vgcreate bc /dev/sdb1

3.4.2 新建逻辑卷lv

直接新建逻辑卷,不创建逻辑卷池。

lvcreate 8G bc -n bc_lv1

3.4.3 创建逻辑卷池

参考:创建精简分配的逻辑卷及扩容